Added 177.mesa to the list of Makefiles to propogate to the object root.
[oota-llvm.git] / autoconf / configure.ac
index 62a6405c7f0c391c7b0892823c8139a57e9d4194..ef2392f61f6af491dd691bf9dd03f54cb1830aae 100644 (file)
@@ -30,6 +30,16 @@ then
        fi
 fi
 
        fi
 fi
 
+if test -d ${srcdir}/projects/reopt
+then
+  AC_CONFIG_SUBDIRS(projects/reopt)
+fi
+
+if test -d ${srcdir}/projects/poolalloc
+then
+  AC_CONFIG_SUBDIRS(projects/poolalloc)
+fi
+
 dnl Configure a header file
 AC_CONFIG_HEADERS(include/Config/config.h)
 AC_CONFIG_MAKEFILE(Makefile)
 dnl Configure a header file
 AC_CONFIG_HEADERS(include/Config/config.h)
 AC_CONFIG_MAKEFILE(Makefile)
@@ -83,7 +93,8 @@ AC_CONFIG_MAKEFILE(runtime/libdummy/Makefile)
 AC_CONFIG_MAKEFILE(runtime/libtrace/Makefile)
 AC_CONFIG_MAKEFILE(test/Makefile)
 AC_CONFIG_MAKEFILE(test/Makefile.tests)
 AC_CONFIG_MAKEFILE(runtime/libtrace/Makefile)
 AC_CONFIG_MAKEFILE(test/Makefile)
 AC_CONFIG_MAKEFILE(test/Makefile.tests)
-AC_CONFIG_MAKEFILE(test/QMTestDB/QMTest/llvm.py)
+AC_CONFIG_MAKEFILE(test/QMTest/llvm.py)
+AC_CONFIG_MAKEFILE(test/QMTest/llvmdb.py)
 AC_CONFIG_MAKEFILE(test/Programs/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/Makefile.programs)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/Makefile.programs)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.Makefile)
@@ -104,6 +115,7 @@ AC_CONFIG_MAKEFILE(test/Programs/External/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile.spec)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile.spec)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/177.mesa/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/179.art/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/183.equake/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/188.ammp/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/179.art/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/183.equake/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/188.ammp/Makefile)
@@ -158,12 +170,6 @@ AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/ks/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/yacr2/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/llubenchmark/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/sim/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/yacr2/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/llubenchmark/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/sim/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/NoSource/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/NoSource/Flex/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/NoSource/Larn/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/NoSource/Moria-5.5.2/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/NoSource/Povray31/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/NoSource/m4/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile.singlesrc)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Gizmos/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile.singlesrc)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Gizmos/Makefile)
@@ -175,25 +181,28 @@ AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Misc/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/CustomChecked/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/SetjmpLongjmp/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/CustomChecked/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/SetjmpLongjmp/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C++/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C++/EH/Makefile)
 AC_CONFIG_MAKEFILE(tools/Makefile)
 AC_CONFIG_MAKEFILE(tools/analyze/Makefile)
 AC_CONFIG_MAKEFILE(tools/bugpoint/Makefile)
 AC_CONFIG_MAKEFILE(tools/extract/Makefile)
 AC_CONFIG_MAKEFILE(tools/gccas/Makefile)
 AC_CONFIG_MAKEFILE(tools/gccld/Makefile)
 AC_CONFIG_MAKEFILE(tools/Makefile)
 AC_CONFIG_MAKEFILE(tools/analyze/Makefile)
 AC_CONFIG_MAKEFILE(tools/bugpoint/Makefile)
 AC_CONFIG_MAKEFILE(tools/extract/Makefile)
 AC_CONFIG_MAKEFILE(tools/gccas/Makefile)
 AC_CONFIG_MAKEFILE(tools/gccld/Makefile)
-AC_CONFIG_MAKEFILE(tools/link/Makefile)
 AC_CONFIG_MAKEFILE(tools/llc/Makefile)
 AC_CONFIG_MAKEFILE(tools/llc/Makefile)
-AC_CONFIG_MAKEFILE(tools/lli/Makefile)
-AC_CONFIG_MAKEFILE(tools/opt/Makefile)
 AC_CONFIG_MAKEFILE(tools/llee/Makefile)
 AC_CONFIG_MAKEFILE(tools/llee/Makefile)
-AC_CONFIG_MAKEFILE(tools/llvm-as/Makefile)
+AC_CONFIG_MAKEFILE(tools/lli/Makefile)
 AC_CONFIG_MAKEFILE(tools/llvm-ar/Makefile)
 AC_CONFIG_MAKEFILE(tools/llvm-ar/Makefile)
+AC_CONFIG_MAKEFILE(tools/llvm-as/Makefile)
 AC_CONFIG_MAKEFILE(tools/llvm-dis/Makefile)
 AC_CONFIG_MAKEFILE(tools/llvm-dis/Makefile)
+AC_CONFIG_MAKEFILE(tools/llvm-link/Makefile)
+AC_CONFIG_MAKEFILE(tools/opt/Makefile)
 AC_CONFIG_MAKEFILE(utils/Makefile)
 AC_CONFIG_MAKEFILE(utils/Burg/Makefile)
 AC_CONFIG_MAKEFILE(utils/Burg/Doc/Makefile)
 AC_CONFIG_MAKEFILE(utils/TableGen/Makefile)
 AC_CONFIG_MAKEFILE(utils/Makefile)
 AC_CONFIG_MAKEFILE(utils/Burg/Makefile)
 AC_CONFIG_MAKEFILE(utils/Burg/Doc/Makefile)
 AC_CONFIG_MAKEFILE(utils/TableGen/Makefile)
-AC_CONFIG_MAKEFILE(www/docs/Makefile)
 AC_CONFIG_MAKEFILE(projects/Makefile)
 AC_CONFIG_MAKEFILE(projects/sample/Makefile)
 AC_CONFIG_MAKEFILE(projects/sample/Makefile.common)
 AC_CONFIG_MAKEFILE(projects/Makefile)
 AC_CONFIG_MAKEFILE(projects/sample/Makefile)
 AC_CONFIG_MAKEFILE(projects/sample/Makefile.common)
@@ -299,19 +308,69 @@ dnl Check for libtool
 AC_PROG_LIBTOOL
 
 dnl Check for our special programs
 AC_PROG_LIBTOOL
 
 dnl Check for our special programs
-AC_PATH_PROG(RPWD,[pwd])
-AC_PATH_PROG(AR,[ar])
-AC_PATH_PROG(SED,[sed])
-AC_PATH_PROG(RM,[rm])
-AC_PATH_PROG(ECHO,[echo])
-AC_PATH_PROG(MKDIR,[mkdir])
-AC_PATH_PROG(DATE,[date])
-AC_PATH_PROG(MV,[mv])
-AC_PATH_PROG(DOT,[dot])
-AC_PATH_PROG(ETAGS,[etags])
-AC_PATH_PROG(PURIFY,[purify])
-AC_PATH_PROG(PYTHON,[python])
-AC_PATH_PROG(QMTEST,[qmtest])
+AC_PATH_PROG(RPWD,[pwd],[false])
+if test ${RPWD} = "false"
+then
+       AC_MSG_ERROR([pwd required but not found])
+fi
+
+AC_PATH_PROG(AR,[ar],[false])
+if test ${AR} = "false"
+then
+       AC_MSG_ERROR([ar required but not found])
+fi
+
+AC_PATH_PROG(SED,[sed],[false])
+if test ${SED} = "false"
+then
+       AC_MSG_ERROR([sed required but not found])
+fi
+
+AC_PATH_PROG(RM,[rm],[false])
+if test ${RM} = "false"
+then
+       AC_MSG_ERROR([rm required but not found])
+fi
+
+AC_PATH_PROG(ECHO,[echo],[false])
+if test ${ECHO} = "false"
+then
+       AC_MSG_ERROR([echo required but not found])
+fi
+
+AC_PATH_PROG(MKDIR,[mkdir],[false])
+if test ${MKDIR} = "false"
+then
+       AC_MSG_ERROR([mkdir required but not found])
+fi
+
+AC_PATH_PROG(DATE,[date],[false])
+if test ${DATE} = "false"
+then
+       AC_MSG_ERROR([date required but not found])
+fi
+
+AC_PATH_PROG(MV,[mv],[false])
+if test ${MV} = "false"
+then
+       AC_MSG_ERROR([mv required but not found])
+fi
+
+AC_PATH_PROG(DOT,[dot],[false])
+
+AC_PATH_PROG(ETAGS,[etags],[false])
+
+AC_PATH_PROG(PYTHON,[python],[false])
+if test ${PYTHON} = "false"
+then
+       AC_MSG_WARN([python required but not found])
+fi
+
+AC_PATH_PROG(QMTEST,[qmtest],[false])
+if test ${QMTEST} = "false"
+then
+       AC_MSG_WARN([qmtest required but not found])
+fi
 
 dnl Verify that the version of python available is high enough for qmtest
 pyversion=`$PYTHON -V 2>&1 | cut -d\  -f2`
 
 dnl Verify that the version of python available is high enough for qmtest
 pyversion=`$PYTHON -V 2>&1 | cut -d\  -f2`
@@ -341,11 +400,11 @@ dnl **************************************************************************
 dnl libelf is for sparc only; we can ignore it if we don't have it
 AC_CHECK_LIB(elf, elf_begin)
 
 dnl libelf is for sparc only; we can ignore it if we don't have it
 AC_CHECK_LIB(elf, elf_begin)
 
-dnl dlopen() is required.  If we don't find it, quit.
-AC_SEARCH_LIBS(dlopen,dl,,AC_MSG_ERROR([dlopen() required but not found]))
+dnl dlopen() is required for plugin support.
+AC_SEARCH_LIBS(dlopen,dl,AC_DEFINE([HAVE_DLOPEN],[1],[Define if dlopen() is available on this platform.]),AC_MSG_WARN([dlopen() not found - disabling plugin support]))
 
 dnl mallinfo is optional; the code can compile (minus features) without it
 
 dnl mallinfo is optional; the code can compile (minus features) without it
-AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1]))
+AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1],[Define if mallinfo() is available on this platform.]))
 
 dnl
 dnl The math libraries are used by the test code, but not by the actual LLVM
 
 dnl
 dnl The math libraries are used by the test code, but not by the actual LLVM
@@ -384,7 +443,7 @@ AC_C_CONST
 AC_C_INLINE
 
 dnl Check for machine endian-ness
 AC_C_INLINE
 
 dnl Check for machine endian-ness
-AC_C_BIGENDIAN(AC_DEFINE([ENDIAN_BIG]),AC_DEFINE(ENDIAN_LITTLE))
+AC_C_BIGENDIAN(AC_DEFINE([ENDIAN_BIG],[],[Define if the machine is Big-Endian]),AC_DEFINE([ENDIAN_LITTLE],[],[Define if the machine is Little-Endian]))
 
 dnl Check for types
 AC_TYPE_PID_T
 
 dnl Check for types
 AC_TYPE_PID_T
@@ -416,7 +475,11 @@ then
 fi
 AC_HEADER_MMAP_ANONYMOUS
 AC_TYPE_SIGNAL
 fi
 AC_HEADER_MMAP_ANONYMOUS
 AC_TYPE_SIGNAL
-AC_CHECK_FUNCS(getcwd gettimeofday strcspn strdup strerror strspn strstr strtod strtol)
+AC_CHECK_FUNCS(getcwd gettimeofday strcspn strdup strerror strspn strstr strtod strtol strtoq strtoll strsignal)
+AC_CHECK_DECLS([sys_siglist],[],[],[
+#if HAVE_SIGNAL_H
+#include <signal.h>
+#endif])
 
 dnl
 dnl Need to check mmap for MAP_PRIVATE, MAP_ANONYMOUS, MAP_ANON, MAP_FIXED
 
 dnl
 dnl Need to check mmap for MAP_PRIVATE, MAP_ANONYMOUS, MAP_ANON, MAP_FIXED
@@ -456,11 +519,24 @@ else
 fi
 
 dnl Spec Benchmarks
 fi
 
 dnl Spec Benchmarks
-AC_ARG_ENABLE(spec,AC_HELP_STRING([--enable-spec],[Compile SPEC benchmarks (default is NO)]),,enableval=no)
+AC_ARG_ENABLE(spec2000,AC_HELP_STRING([--enable-spec],[Compile SPEC 2000 benchmarks (default is NO)]),,enableval=no)
 if test ${enableval} = "no"
 then
 if test ${enableval} = "no"
 then
-       AC_SUBST(USE_SPEC,[[]])
+       if test -d /home/vadve/shared/benchmarks/speccpu2000/benchspec
+       then
+               AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
+               AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
+       else
+               AC_SUBST(USE_SPEC,[[]])
+               AC_SUBST(SPEC_ROOT,[])
+       fi
 else
 else
+       if test ${enableval} = ""
+       then
+               AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
+       else
+               AC_SUBST(SPEC_ROOT,[${enableval}])
+       fi
        AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
 fi
 
        AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
 fi
 
@@ -507,9 +583,6 @@ dnl **************************************************************************
 dnl * Set the location of various third-party software packages
 dnl **************************************************************************
 
 dnl * Set the location of various third-party software packages
 dnl **************************************************************************
 
-dnl Location of SPEC benchmarks
-AC_ARG_WITH(spec,AC_HELP_STRING([--with-spec],[Location of SPEC benchmarks]),AC_SUBST(SPEC_ROOT,[$withval]),AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec]))
-
 dnl Location of the LLVM C front end
 AC_ARG_WITH(llvmgccdir,AC_HELP_STRING([--with-llvmgccdir],[Location of LLVM GCC front-end]),AC_SUBST(LLVMGCCDIR,[$withval]))
 
 dnl Location of the LLVM C front end
 AC_ARG_WITH(llvmgccdir,AC_HELP_STRING([--with-llvmgccdir],[Location of LLVM GCC front-end]),AC_SUBST(LLVMGCCDIR,[$withval]))