AC_CONFIG_AUX_DIR([autoconf])
dnl Quit if the source directory has already been configured.
-if test -f ${srcdir}/include/Config/config.h
+dnl NOTE: This relies upon undocumented autoconf behavior.
+if test ${srcdir} != "."
then
- AC_MSG_ERROR([Already configured in ${srcdir}])
+ if test -f ${srcdir}/include/Config/config.h
+ then
+ AC_MSG_ERROR([Already configured in ${srcdir}])
+ 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(runtime/GCCLibraries/crtend/Makefile)
AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libc/Makefile)
AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libcurses/Makefile)
-AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libexception/Makefile)
AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libg/Makefile)
AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libgcc/Makefile)
AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libm/Makefile)
AC_CONFIG_MAKEFILE(runtime/libtrace/Makefile)
AC_CONFIG_MAKEFILE(test/Makefile)
AC_CONFIG_MAKEFILE(test/Makefile.tests)
+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/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/as/Makefile)
AC_CONFIG_MAKEFILE(tools/bugpoint/Makefile)
-AC_CONFIG_MAKEFILE(tools/dis/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/lli/Makefile)
-AC_CONFIG_MAKEFILE(tools/opt/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-as/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_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 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]),AC_MSG_WARN([dlopen() not found - disabling plugin support]))
dnl mallinfo is optional; the code can compile (minus features) without it
AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1]))
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)
dnl
dnl Need to check mmap for MAP_PRIVATE, MAP_ANONYMOUS, MAP_ANON, MAP_FIXED
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
- 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
+ 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
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]))