# configure.ac -- autoconf configuration for the MPS -*- Autoconf -*- # # $Id$ # Copyright (C) 2012 Ravenbrook Limited. See end of file for license. # # YOU DON'T NEED AUTOCONF TO BUILD THE MPS # This is just here for people who want or expect a configure script. # See [Building the Memory Pool System](manual/build.txt) for how best # to build and integrate the MPS. # # Generate the configure script with # # autoreconf -vif # AC_PREREQ([2.50]) # http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Initializing-configure.html#Initializing-configure AC_INIT([Memory Pool System Kit], [master], [mps-questions@ravenbrook.com], [mps-kit], [http://www.ravenbrook.com/project/mps/]) AC_CONFIG_AUX_DIR(tool/autoconf/build-aux) AC_CONFIG_SRCDIR([code/mps.c]) # Checks for programs. AC_PROG_CC AC_LANG_C AC_PROG_INSTALL AX_CFLAGS_WARN_ALL # These flags aren't used for building the MPS, but for sample programs. CFLAGS_GC="-ansi -pedantic -Wall -Werror -Wpointer-arith \ -Wstrict-prototypes -Wmissing-prototypes \ -Winline -Waggregate-return -Wnested-externs \ -Wcast-qual -Wshadow -Wstrict-aliasing=2 -O -g3" CFLAGS_LL="$CFLAGS_GC -Wno-extended-offsetof" EXTRA_TARGETS="mpseventcnv mpseventtxt" AC_CHECK_HEADER([sqlite3.h], [EXTRA_TARGETS+=" mpseventsql"]) AC_CANONICAL_HOST AC_MSG_CHECKING([target platform]) BUILD_TARGET=build-via-make CLEAN_TARGET=clean-make-build INSTALL_TARGET=install-make-build TEST_TARGET=test-make-build case $host in i*86-*-linux*) AC_MSG_RESULT([Linux x86]) MPS_TARGET_NAME=lii3gc CFLAGS="$CFLAGS_GC" ;; x86_64-*-linux*) AC_MSG_RESULT([Linux x86_64]) MPS_TARGET_NAME=lii6gc CFLAGS="$CFLAGS_GC" ;; i*86-*-darwin*) AC_MSG_RESULT([Mac OS X x86]) MPS_TARGET_NAME=xci3ll BUILD_TARGET=build-via-xcode CLEAN_TARGET=clean-xcode-build INSTALL_TARGET=install-xcode-build TEST_TARGET=test-xcode-build CFLAGS="$CFLAGS_LL" ;; x86_64-apple-darwin*) AC_MSG_RESULT([Mac OS X x86_64]) MPS_TARGET_NAME=xci6ll BUILD_TARGET=build-via-xcode CLEAN_TARGET=clean-xcode-build INSTALL_TARGET=install-xcode-build TEST_TARGET=test-xcode-build CFLAGS="$CFLAGS_LL" ;; i*86-*-freebsd*) AC_MSG_RESULT([FreeBSD x86]) MPS_TARGET_NAME=fri3gc CFLAGS="$CFLAGS_GC" ;; amd64-*-freebsd*) AC_MSG_RESULT([FreeBSD x86_64]) MPS_TARGET_NAME=fri6gc CFLAGS="$CFLAGS_GC" ;; *) AC_MSG_ERROR([MPS does not support this platform out of the box. See manual/build.txt]) esac AC_CHECK_PROGS([MAKE],[gnumake gmake make],[AC_MSG_ERROR([Unable to find a make program.])]) if ! $MAKE --version | grep -q "GNU" 2> /dev/null; then AC_MSG_ERROR([MPS requires GNU make to build from configure, but see manual/build.txt]) fi AC_SUBST(MPS_TARGET_NAME) AC_SUBST(BUILD_TARGET) AC_SUBST(CLEAN_TARGET) AC_SUBST(INSTALL_TARGET) AC_SUBST(TEST_TARGET) AC_SUBST(EXTRA_TARGETS) AC_SUBST(CFLAGS) AC_SUBST(LDFLAGS) AC_SUBST(CPPFLAGS) AC_CONFIG_FILES(Makefile example/scheme/Makefile) AC_OUTPUT echo 1>&2 "CONFIGURE/MAKE IS NOT THE BEST WAY TO BUILD THE MPS -- see "