aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
2020-05-19fdt: import fdt library from OpenSBIChih-Min Chao1-1/+2
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2020-04-05Fix hard-coded path to DTC that breaks packaging (#428)Joel Sherrill1-1/+1
configure.ac included code which detects and inserted a full path to dtc. Unfortunately, when building with a packaging system, this path reflects the path under a staged building area. Also the inclusion of a full path breaks the use case where someone keeps two versions of dtc on their computer and sets their PATH to switch between them. spike will continue to use the one on their PATH when it was built rather than the intended one. Co-authored-by: Joel Sherrill <joel@rtems.org>
2020-03-03Allow overriding CFLAGS and similar when buildingRupert Swarbrick1-3/+4
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-29Implement support for big-endian hostsMarcus Comstedt1-1/+1
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2019-09-04Fix OSX buildAndrew Waterman1-1/+3
Closes #326
2019-09-04Implement MMIO device plugins.Aaron Jones1-0/+1
2019-07-22Fix support for 32-bit hosts (but no V extension in that case!)Andrew Waterman1-2/+1
2019-06-14rvv: add __int128_t check to autoconfChih-Min Chao1-0/+7
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2019-05-14Add fesvr; only globally install fesvr headers/libsAndrew Waterman1-1/+2
2017-06-05Configure should fail if device-tree-compiler is not installedAndrew Waterman1-1/+2
Fixes #107
2017-03-21autoconf: put location of 'dtc' into config.hWesley W. Terpstra1-0/+2
2016-03-02Add autoconf check for little-endiannessAndrew Waterman1-0/+2
2016-03-02Compile debug symbolsAndrew Waterman1-2/+2
2016-01-24Remove hwacha supportAndrew Waterman1-2/+1
Support for hwacha will continue on the ESP branch (see https://github.com/ucb-bar/esp-isa-sim).
2015-05-13Install pkg-config files for SpikePalmer Dabbelt1-0/+6
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-04-09Fix autoconf for RHEL6Andrew Waterman1-1/+1
2015-01-09Don't look for a simulator when cross compilingAndrew Waterman1-1/+0
2014-12-20Support building from within root directoryAndrew Waterman1-1/+1
2014-11-25Factor out the dummy RoCC acceleratorAndrew Waterman1-1/+1
2014-11-19Suppress harmless warningsAndrew Waterman1-2/+2
specifically, unused variables in auto-generated code.
2014-01-26Eliminate hwacha <-> riscv circular dependenceAndrew Waterman1-1/+1
We now split out the spike executable into another subproject, which depends on both rocket and hwacha
2014-01-25Merge softfloat_riscv into softfloatAndrew Waterman1-1/+1
They really aren't independent libraries.
2014-01-24Build and use shared libraries onlyAndrew Waterman1-1/+2
2013-10-16revamp hwacha; now runs in physical modeYunsup Lee1-1/+1
2013-08-11Instructions are no longer member functionsAndrew Waterman1-1/+1
2013-05-13change riscv-isa-run to spikeYunsup Lee1-1/+1
2013-02-12migrate to c++11Andrew Waterman1-1/+1
2013-01-25change htif to link against libfesvrAndrew Waterman1-1/+1
2011-06-19temporary undoing of renamingAndrew Waterman1-0/+103
2011-06-12[sim] renamed to riscv-isa-runAndrew Waterman1-103/+0
2011-05-29[sim,opcodes] improved sim build and run performanceAndrew Waterman1-1/+1
2010-08-18[sim] integrated SoftFloat-3 with ISA sim; removed SoftFloat-2bAndrew Waterman1-1/+1
2010-08-09[xcc,sim] implement FP using softfloatAndrew Waterman1-1/+1
The intersection of the Hauser FP and MIPS FP is implemented.
2010-07-18Reorganized directory structureAndrew Waterman1-0/+103
Moved cross-compiler to /xcc/ rather than / Added ISA sim in /sim/ Added Proxy Kernel in /pk/ (to be cleaned up) Added opcode map to /opcodes/ (ditto) Added documentation to /doc/