1 #=========================================================================
2 # Toplevel configure.ac for the Modular C++ Build System
3 #=========================================================================
4 # Please read the documenation in 'mcppbs-doc.txt' for more details on
5 # how the Modular C++ Build System works. For most new projects, a
6 # developer will only need to make the following changes:
8 # - change the project metadata listed right below
9 # - update the list of subprojects via the 'MCPPBS_SUBPROJECTS' macro
10 # - possibly add subproject groups if needed to ease configuration
11 # - add more configure checks for platform specific configuration
14 #-------------------------------------------------------------------------
16 #-------------------------------------------------------------------------
18 m4_define( proj_name, [RISC-V ISA Simulator])
19 m4_define( proj_maintainer, [Andrew Waterman])
20 m4_define( proj_abbreviation, [spike])
22 #-------------------------------------------------------------------------
23 # Project version information
24 #-------------------------------------------------------------------------
25 # Version information is meant to be managed through a version control
26 # system's tags and revision numbers. In a working copy the version will
27 # not be defined here (you should just use the version control system's
28 # mechanisms). When we make a distribution then we can set the version
29 # here as formed by the scripts/vcs-version.sh script so that the
30 # distribution knows what version it came from. If you are not using
31 # version control then it is fine to set this directly.
33 m4_define( proj_version, [?])
35 #-------------------------------------------------------------------------
37 #-------------------------------------------------------------------------
40 AC_INIT(proj_name,proj_version,proj_maintainer,proj_abbreviation)
41 AC_CONFIG_SRCDIR([riscv/common.h])
42 AC_CONFIG_AUX_DIR([scripts])
46 #-------------------------------------------------------------------------
48 #-------------------------------------------------------------------------
52 AC_CHECK_TOOL([AR],[ar])
53 AC_CHECK_TOOL([RANLIB],[ranlib])
55 #-------------------------------------------------------------------------
56 # MCPPBS specific program checks
57 #-------------------------------------------------------------------------
58 # These macros check to see if we can do a stow-based install and also
59 # check for an isa simulator suitable for running the unit test programs
65 #-------------------------------------------------------------------------
66 # Checks for header files
67 #-------------------------------------------------------------------------
71 #-------------------------------------------------------------------------
72 # Default compiler flags
73 #-------------------------------------------------------------------------
75 AC_SUBST([CFLAGS], ["-Wall -O2 -Wno-unused"])
76 AC_SUBST([CXXFLAGS],["-Wall -O2 -std=c++11"])
78 #-------------------------------------------------------------------------
79 # MCPPBS subproject list
80 #-------------------------------------------------------------------------
81 # Order list so that subprojects only depend on those listed earlier.
82 # The '*' suffix indicates an optional subproject. The '**' suffix
83 # indicates an optional subproject which is also the name of a group.
85 MCPPBS_SUBPROJECTS([ riscv, hwacha, softfloat, spike ])
87 #-------------------------------------------------------------------------
88 # MCPPBS subproject groups
89 #-------------------------------------------------------------------------
90 # If a group has the same name as a subproject then you must add the
91 # '**' suffix in the subproject list above. The list of subprojects in a
92 # group should be ordered so that subprojets only depend on those listed
93 # earlier. Here is an example:
95 # MCPPBS_GROUP( [group-name], [sproja,sprojb,...] )
98 #-------------------------------------------------------------------------
100 #-------------------------------------------------------------------------
102 AC_CONFIG_HEADERS([config.h])
103 AC_CONFIG_FILES([Makefile])