aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2011-06-19 20:47:29 -0700
committerAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2011-06-19 20:47:29 -0700
commit0edaecc54329048eb91ad6a45338265ef1a4569c (patch)
treeb0695be27ac3b1e14aa944c4820683fcd8adefca /configure.ac
parente63e4fbe8794c68e1ad846a36e33cba62e801b34 (diff)
downloadpk-0edaecc54329048eb91ad6a45338265ef1a4569c.zip
pk-0edaecc54329048eb91ad6a45338265ef1a4569c.tar.gz
pk-0edaecc54329048eb91ad6a45338265ef1a4569c.tar.bz2
temporary undoing of renaming
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac103
1 files changed, 103 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..bbd9b43
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,103 @@
+#=========================================================================
+# Toplevel configure.ac for the Modular C++ Build System
+#=========================================================================
+# Please read the documenation in 'mcppbs-doc.txt' for more details on
+# how the Modular C++ Build System works. For most new projects, a
+# developer will only need to make the following changes:
+#
+# - change the project metadata listed right below
+# - update the list of subprojects via the 'MCPPBS_SUBPROJECTS' macro
+# - possibly add subproject groups if needed to ease configuration
+# - add more configure checks for platform specific configuration
+#
+
+#-------------------------------------------------------------------------
+# Project metadata
+#-------------------------------------------------------------------------
+
+m4_define( proj_name, [RISC-V Proxy Kernel])
+m4_define( proj_maintainer, [Andrew Waterman])
+m4_define( proj_abbreviation, [riscv-pk])
+
+#-------------------------------------------------------------------------
+# Project version information
+#-------------------------------------------------------------------------
+# Version information is meant to be managed through a version control
+# system's tags and revision numbers. In a working copy the version will
+# not be defined here (you should just use the version control system's
+# mechanisms). When we make a distribution then we can set the version
+# here as formed by the scripts/vcs-version.sh script so that the
+# distribution knows what version it came from. If you are not using
+# version control then it is fine to set this directly.
+
+m4_define( proj_version, [?])
+
+#-------------------------------------------------------------------------
+# Setup
+#-------------------------------------------------------------------------
+
+AC_INIT(proj_name,proj_version,proj_maintainer,proj_abbreviation)
+AC_CONFIG_SRCDIR([pk/pk.h])
+AC_CONFIG_AUX_DIR([scripts])
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+#-------------------------------------------------------------------------
+# Checks for programs
+#-------------------------------------------------------------------------
+
+AC_PROG_CC
+AC_PROG_CXX
+AC_CHECK_TOOL([AR],[ar])
+AC_CHECK_TOOL([RANLIB],[ranlib])
+
+#-------------------------------------------------------------------------
+# MCPPBS specific program checks
+#-------------------------------------------------------------------------
+# These macros check to see if we can do a stow-based install and also
+# check for an isa simulator suitable for running the unit test programs
+# via the makefile.
+
+MCPPBS_PROG_INSTALL
+MCPPBS_PROG_RUN
+
+#-------------------------------------------------------------------------
+# Checks for header files
+#-------------------------------------------------------------------------
+
+AC_HEADER_STDC
+
+#-------------------------------------------------------------------------
+# Default compiler flags
+#-------------------------------------------------------------------------
+
+AC_SUBST([CFLAGS], ["-Wall -Os -std=gnu99"])
+AC_SUBST([LIBS], ["-lgcc"])
+
+#-------------------------------------------------------------------------
+# MCPPBS subproject list
+#-------------------------------------------------------------------------
+# Order list so that subprojects only depend on those listed earlier.
+# The '*' suffix indicates an optional subproject. The '**' suffix
+# indicates an optional subproject which is also the name of a group.
+
+MCPPBS_SUBPROJECTS([ pk, softfloat, softfloat_riscv ])
+
+#-------------------------------------------------------------------------
+# MCPPBS subproject groups
+#-------------------------------------------------------------------------
+# If a group has the same name as a subproject then you must add the
+# '**' suffix in the subproject list above. The list of subprojects in a
+# group should be ordered so that subprojets only depend on those listed
+# earlier. Here is an example:
+#
+# MCPPBS_GROUP( [group-name], [sproja,sprojb,...] )
+#
+
+#-------------------------------------------------------------------------
+# Output
+#-------------------------------------------------------------------------
+
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT