aboutsummaryrefslogtreecommitdiff
path: root/Makefile.in
AgeCommit message (Collapse)AuthorFilesLines
2024-07-16Add install-hdrs-list.h targetAndrew Waterman1-0/+9
Only used by CI tests.
2024-03-03Don't include subproject headers with -IAndrew Waterman1-1/+1
Use -iquote instead. This prevents our include paths from messing up the system headers depended upon by libstdc++. (The specific problem was syscall.h in fesvr/, which was interfering with libstdc++'s dependence on the system's syscall.h for SYS_futex.) Subproject headers can now be included in the following ways: #include "foo.h" // for a header local to this subproject #include <bar/baz.h>" // for a header in another subproject But no longer: #include <baz.h> // for a header in any subproject As a special case, libfdt needs itself to be added to the -I path, because their coding style is to use angle brackets for local headers.
2024-01-24Compile with C++2arbuchner1-1/+1
Will allow access to designated initializers.
2023-07-11build: Support project-defined LDFLAGSJerry Zhao1-3/+3
2023-06-21Remove duplicate compile optionsdemin.han1-1/+1
2023-06-18Makefile: fix type in check targetPhilipp Tomsich1-1/+1
The check target processes the output using grep; however, one of the patterns misspelled 'Segmenetation'. Fixing the typo.
2023-06-17Restore MCPPBS unit-testing flowAndrew Waterman1-16/+5
2023-05-19Add Spike's meta files for pkg-configWojciech Bartczak1-1/+1
This commit adds the *.pc files for Spike's simulation library, enabling dynamic and static linking without the need to directly reference Spike sources. Using Spike as a stand-alone library provides an interesting option for developing tools and applications based on Spike.
2022-12-22Remove dead code in Makefile.inAndrew Waterman1-3/+0
2022-12-22Remove non-installed header lists from Makefile fragmentsAndrew Waterman1-1/+0
It's just dead code. (Dependences on headers are auto-generated as `.d` files.)
2022-12-21Fix build nondeterminism by deleting archives before recreatingAndrew Waterman1-0/+1
Otherwise, `ar rcs` will add to the previous archive, creating the possibility of multiple functions with the same name in the archive. The linker might not choose the most recent version, resulting in undefined behavior.
2022-10-19Fix forced linking when compiling headersbluew1-1/+1
2022-09-28Fix build using Xcode 14Andrew Waterman1-1/+1
Don't include .a files in other .a files. Doing so trips a sanity check in the Xcode 14 toolchain, because the included .a files are not themselves mach-o format, even though their contents are.
2022-09-22Propagate CFLAGS passed to configure into CXXFLAGSAndrew Waterman1-1/+1
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++.