aboutsummaryrefslogtreecommitdiff
path: root/Makefile.in
AgeCommit message (Collapse)AuthorFilesLines
2022-03-18Compile using C++17 standardScott Johnson1-1/+1
So we can use modern features like std::optional soon.
2021-11-26Fix link error on MojaveAndrew Waterman1-2/+2
1f58b4d869a47d2f95621512455d52eb7c3546d9 introduced a link error on my Mojave machine, because making the Boost include path the highest-priority one was forcing use of the system's libfdt.h. But the system's libfdt.h unfortunately lacks the 'extern "C"' linkage modifier, causing link errors when invoking FDT routines from C++ code. Fix by making the Boost include path the lowest-priority one.
2021-11-08Revert "Disable clang PCH when boost is present"Andrew Waterman1-1/+1
This reverts commit 4f129845021b6086fd259186b0bc09203f5f8069.
2021-10-15Disable clang PCH when boost is presentAndrew Waterman1-1/+1
Resolves #820
2021-10-15Fix another clang warningAndrew Waterman1-1/+1
2021-08-03configure for boost libemelcher1-3/+3
2021-07-29Enable precompiled headers when using clangtestAndrew Waterman1-3/+3
2021-07-28Significantly speed up compilation with GCCAndrew Waterman1-1/+1
Precompiled headers were broken because they weren't compiled with the same -fPIC setting as the rest of the code. Fix by just making everything use -fPIC.
2020-12-29Install config.h into include/fesvrAndrew Waterman1-2/+11
2020-09-22Only install pkg-config files for libraries that are installedAndrew Waterman1-1/+1
Resolves #549
2020-09-22Separate build of spike and spike-dasmAndrew Waterman1-0/+1
2020-06-10ext: build libriscv PIC to make it linkable to ext libraryChih-Min Chao1-1/+1
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2020-02-27Allow overriding CFLAGS and similar when buildingRupert Swarbrick1-9/+36
Before this patch, I don't think it was possible to change (say) CFLAGS as part of running the make command. Nor did setting them when running configure do anything. Getting this right is a little fiddly: for example, see Automake's approach at [1] ("AM_CFLAGS" and friends). This patch adds an "mcppbs-" prefix, and sets things up properly for CFLAGS, CPPFLAGS, CXXFLAGS and LDFLAGS. Note that the bulk of the patch is either the auto-generated configure script or the ax_*.m4 files vendored in from the autoconf archive (needed to handle --export-dynamic correctly without trashing settings from the user running configure). What's supposed to happen is as follows: - Base compilation flags that should apply to everything (standard optimisation flags, warning flags etc.) are defined in Makefile.in. - When the user runs configure, they can set compilation flags on the command line. These end up as environment variables in the shell script. - Compilation flags that can only be decided when we run configure (this is currently just whether we support -Wl,--export-dynamic) are appended to the configure-time LDFLAGS environment variable. - At the end of the configure script, these environment variables are spliced into Makefile.in to fill out the corresponding @<varname>@ entries. - When running make, the user might again override compilation flags. These will get appended to the flags found so far. As a concrete example: mkdir build cd build ../configure CXXFLAGS='-O3' make CXXFLAGS='-O0' will result in c++ compile commands that look like this: g++ -MMD -MP \ -DPREFIX=\"/usr/local\" -Wall -Wno-unused -g -O2 -std=c++11 \ -O3 \ -O0 \ -I. -I.. -I../fesvr -I../riscv -I../dummy_rocc -I../softfloat \ -I../spike_main -fPIC -c ../fesvr/elfloader.cc (I've added some newlines to wrap the long line). Note that we have the base flags from Makefile.in (called $(default-CXXFLAGS) there) first. Then we have the -O3 from the configure command. Finally we have the -O0 from the Make command line. And I can finally run "make CXXFLAGS='-O0 -g3'". Phew! [1] https://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html
2019-10-18Add user write permissions to installed filesAndrew Waterman1-2/+2
2019-07-19Link with libsoftfloat.a (but still build libsoftfloat.so)Andrew Waterman1-4/+4
2019-07-11Fix support for 32-bit hosts (but no V extension in that case!)Andrew Waterman1-0/+2
2019-06-07build: build softfloat with pic and provide shared libraryChih-Min Chao1-0/+5
vector unit tests need identical floating library to generate golden pattern Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2019-05-02allow prefix to be overriden (#298)Scott Beamer1-1/+1
so can be built for one place and installed in another
2019-05-01simplify flags with ar to improve bsd ar compatabilityScott Beamer1-1/+1
2019-03-31Build fesvr as -fPIC to improve compatibility with old usesAndrew Waterman1-2/+2
2019-03-31Add fesvr; only globally install fesvr headers/libsstatic-linkAndrew Waterman1-18/+8
2019-03-30Don't install generated headersAndrew Waterman1-1/+1
2019-03-30Statically link the built-in librariesAndrew Waterman1-11/+10
Several people have raised the concern that dynamically linking the built-in components of Spike causes more headaches than it's worth. IIRC, the only reason we did this is to better support the `--extension=libfoo.so` feature.
2017-05-23Disable -Werror when buildingPalmer Dabbelt1-2/+2
This has a tendency to blow up on other platforms.
2017-01-06Comply with GNU coding standards.David Craven1-2/+2
Currently the DESTDIR variable is not used correctly which leads to bogus RUNPATH entries. https://www.gnu.org/prep/standards/html_node/DESTDIR.html
2016-11-11Ensure that g++ knows it is building a PCH (#75)Ben Gamari1-1/+1
It seems that g++ 5.4 doesn't realize that it is building a precompiled header unless you pass it -x c++-header.
2016-09-06Remove generic debug tests. (#65)Tim Newsome1-2/+1
They live in riscv-tests/debug now, since they also test gdb, and can be used to test other targets besides spike.
2016-06-09make check: Fail if the tests failedJonathan Neuschäfer1-2/+4
2016-06-02Fix 'make check' when run from build directory.Tim Newsome1-2/+2
2016-06-01Fix build when not building inside root directoryAndrew Waterman1-1/+1
2016-05-23Actually run the ebreak test.Tim Newsome1-1/+2
2016-05-23Rename gdbserver-smoke.py to gdbserver.py.Tim Newsome1-1/+1
It's not really a smoketest anymore.
2016-05-23Treat warnings as errors.Tim Newsome1-2/+2
The code compiles cleanly right now. Let's keep it that way.
2016-05-23Add some tests that pass and test something.Tim Newsome1-1/+1
2016-05-23Flush icache when using swbps and report to gdb.Tim Newsome1-3/+4
2016-05-23Add very basic 'make check'.Tim Newsome1-2/+14
The existing stuff all assumes you're writing your tests in C++.
2016-05-23Make 'make check' not hang forever.Tim Newsome1-1/+1
2015-09-02Don't automatically run autoconfAndrew Waterman1-9/+0
Run it yourself if you modify configure.ac, and commit the configure script.
2015-05-13Install pkg-config files for SpikePalmer Dabbelt1-1/+9
The actual Spike package consists of a whole bunch of libraries. This installs a pkg-config file for each generated library, and a meta pkg-config file (riscv-spike.pc) that links in all the other Spike libraries except dummy_rocc (which I figure isn't interesting). This allows me to package and install spike, and then use that package to build an extension library (so I don't have to fork Spike for my own ISA extension).
2015-05-13Change the behavior of the DESTDIR make variablePalmer Dabbelt1-5/+5
DESTDIR is a common make idiom. As per the GNU coding standards https://www.gnu.org/prep/standards/html_node/DESTDIR.html "DESTDIR is a variable prepended to each installed target file, like this: $(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo $(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a The DESTDIR variable is specified by the user on the make command line as an absolute file name. For example: make DESTDIR=/tmp/stage install DESTDIR should be supported only in the install* and uninstall* targets, as those are the only targets where it is useful. If your installation step would normally install /usr/local/bin/foo and /usr/local/lib/libfoo.a, then an installation invoked as in the example above would install /tmp/stage/usr/local/bin/foo and /tmp/stage/usr/local/lib/libfoo.a instead." The current Makefile.in uses DESTDIR, but has a slightly non-standard behavior: the target install location doesn't include "$prefix". This breaks package managers, because stuff ends up getting installed to the wrong location. Unfortunately the only way I can think of to fix this involves silently changing the behavior of DESTDIR. Hopefully nobody is using it...? [port of 8a2088b59162fe16c16d26ddc1cfcaaaa8c4156f in riscv-fesvr]
2015-03-15Delete all remaining junk on "make clean"Andrew Waterman1-2/+2
2015-02-14handle Makefile dependences for precompiled headers correctlyAndrew Waterman1-4/+4
2015-02-09Install config.h with other headersAndrew Waterman1-1/+1
2015-01-02Reduce dependences on auto-generated codeAndrew Waterman1-1/+1
In particular, precompiled headers ideally won't depend on any.
2014-12-20Fix makefile race conditionAndrew Waterman1-1/+2
2014-11-19Add missing makefile dependenceAndrew Waterman1-1/+1
This manifested as a spurious compile warning when using make -j.
2014-09-14now can build with clangScott Beamer1-1/+2
on os x, clang needs different flags than gcc to generate and use precompiled headers
2014-08-27don't include same flags twiceScott Beamer1-1/+1
2014-07-07Use precompiled headers to speed up compilationAndrew Waterman1-2/+6
2014-01-26Prefer libraries located in current directoryAndrew Waterman1-4/+4