Constants for profile info type changed names to match the C++ ones.
[oota-llvm.git] / autoconf / configure.ac
index 8333333047d65cf85784832b32064172d48e3e42..8b4aef57887bb85b5a3ea21dd38f8a8fe93d648c 100644 (file)
@@ -1,5 +1,5 @@
 dnl Initialize autoconf
-AC_INIT([[[LLVM]]],[[[1.1]]],[llvmbugs@cs.uiuc.edu])
+AC_INIT([[[LLVM]]],[[[1.3]]],[llvmbugs@cs.uiuc.edu])
 
 dnl Place all of the extra autoconf files into the config subdirectory
 AC_CONFIG_AUX_DIR([autoconf])
@@ -40,7 +40,6 @@ 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/TEST.dsgraph.report)
-AC_CONFIG_MAKEFILE(test/Programs/TEST.micro.report)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.report)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.example.Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.nightly.Makefile)
@@ -51,10 +50,11 @@ AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.jit.report)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.typesafe.Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.gnuplot)
-AC_CONFIG_MAKEFILE(test/Programs/TEST.micro.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.vtl.Makefile)
 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/Makefile.spec2000)
 AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile.spec95)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Makefile.multisrc)
@@ -73,6 +73,7 @@ AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pifft/Makefile
 AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pifft/test.in)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile)
 AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile.singlesrc)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/SetjmpLongjmp/Makefile)
 AC_CONFIG_MAKEFILE(tools/Makefile)
 AC_CONFIG_MAKEFILE(utils/Makefile)
 AC_CONFIG_MAKEFILE(projects/Makefile)
@@ -222,7 +223,8 @@ AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1],[Define if mallinfo
 
 dnl pthread locking functions are optional - but llvm will not be thread-safe
 dnl without locks.
-AC_SEARCH_LIBS(pthread_mutex_lock,pthread,AC_DEFINE(HAVE_PTHREAD_MUTEX_LOCK,1,[Define if PThread mutexes (e.g., pthread_mutex_lock) are available in the system's thread library.]))
+AC_SEARCH_LIBS(pthread_mutex_lock,pthread,HAVE_PTHREAD_MUTEX_LOCK=1,HAVE_PTHREAD_MUTEX_LOCK=0)
+AC_SUBST(HAVE_PTHREAD_MUTEX_LOCK)
 
 dnl Checks for header files.
 dnl We don't check for ancient stuff or things that are guaranteed to be there
@@ -231,7 +233,19 @@ AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
 
 dnl Checks for POSIX and other various system-specific header files
-AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h malloc.h sys/mman.h sys/resource.h dlfcn.h link.h)
+AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h malloc.h sys/mman.h sys/resource.h dlfcn.h link.h execinfo.h)
+
+dnl Check for things that need to be included in public headers, and so
+dnl for which we may not have access to a HAVE_* preprocessor #define.
+dnl (primarily used in DataTypes.h)
+AC_CHECK_HEADER([sys/types.h],
+                [INCLUDE_SYS_TYPES_H='#include <sys/types.h>'],
+                [INCLUDE_SYS_TYPES_H=''])
+AC_SUBST(INCLUDE_SYS_TYPES_H)
+AC_CHECK_HEADER([inttypes.h],
+                [INCLUDE_INTTYPES_H='#include <inttypes.h>'],
+                [INCLUDE_INTTYPES_H=''])
+AC_SUBST(INCLUDE_INTTYPES_H)
 
 dnl Check for types
 AC_TYPE_PID_T
@@ -250,7 +264,6 @@ AC_C_BIGENDIAN(AC_SUBST([ENDIAN],[big]),AC_SUBST([ENDIAN],[little]))
 dnl Check for C++ extensions
 AC_CXX_HAVE_HASH_MAP
 AC_CXX_HAVE_HASH_SET
-AC_CXX_HAVE_EXT_SLIST
 AC_CXX_HAVE_STD_ITERATOR
 AC_CXX_HAVE_BI_ITERATOR
 AC_CXX_HAVE_FWD_ITERATOR
@@ -269,7 +282,7 @@ then
 fi
 AC_HEADER_MMAP_ANONYMOUS
 AC_TYPE_SIGNAL
-AC_CHECK_FUNCS(getcwd gettimeofday strdup strtoq strtoll)
+AC_CHECK_FUNCS(getcwd gettimeofday strdup strtoq strtoll backtrace isatty)
 AC_CHECK_FUNC(mprotect,,AC_MSG_ERROR([Function mprotect() required but not found]))
 
 dnl Determine if the linker supports the -R option.
@@ -285,49 +298,50 @@ else
        AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]])
 fi
 
-dnl Spec 2000 Benchmarks
-AC_ARG_ENABLE(spec2000,AC_HELP_STRING([--enable-spec2000],[Compile SPEC 2000 benchmarks (default is NO)]),,enableval=no)
-if test ${enableval} = "no"
-then
-       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} = ""
+AC_DEFUN(EXTERNAL_BENCHMARK,
+[m4_define([allcapsname],translit($1,a-z,A-Z))
+ AC_ARG_ENABLE($1,
+ AC_HELP_STRING([--enable-$1=ARG], 
+                [Use $1 as a benchmark (srcs in DIR)]),
+ checkresult=$enableval,
+ checkresult=auto)
+AC_MSG_CHECKING([for $1 benchmark sources])
+case "$checkresult" in
+auto|yes)
+    defaultdir=$2
+       if test -d "$defaultdir"
        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(allcapsname()[_ROOT],[$defaultdir])
+               AC_SUBST([USE_]allcapsname(),[USE_]allcapsname()=1)
+        checkresult="yes, found in $defaultdir"
+    else
+        checkresult=no
+    fi
+    ;;
+no)
+    AC_SUBST(allcapsname()[_ROOT],[])
+    AC_SUBST([USE_]allcapsname(),[])
+    checkresult=no
+    ;;
+*)  if test -d "$checkresult"
+    then
+        AC_SUBST(allcapsname()[_ROOT],"$checkresult")
+        AC_SUBST([USE_]allcapsname(),[USE_]allcapsname()=1)
+        checkresult="yes, in $checkresult"
+    else
+        AC_SUBST(allcapsname()[_ROOT],[])
+        AC_SUBST([USE_]allcapsname(),[])
+        checkresult="no, not found in $checkresult"
+    fi
+    ;;
+esac
+AC_MSG_RESULT($checkresult)
+m4_undefine([allcapsname])
+])
 
-dnl Spec 95 Benchmarks
-AC_ARG_ENABLE(spec95,AC_HELP_STRING([--enable-spec95],[Compile SPEC 95 benchmarks (default is NO)]),,enableval=no)
-if test ${enableval} = "no"
-then
-       if test -d /home/vadve/shared/benchmarks/spec95_sparcv9/benchspec
-       then
-               AC_SUBST(SPEC95_ROOT,[/home/vadve/shared/benchmarks/spec95_sparcv9/benchspec])
-               AC_SUBST(USE_SPEC95,[[USE_SPEC95=1]])
-       else
-               AC_SUBST(USE_SPEC95,[[]])
-               AC_SUBST(SPEC95_ROOT,[])
-       fi
-else
-       if test ${enableval} = ""
-       then
-               AC_SUBST(SPEC95_ROOT,[/home/vadve/shared/benchmarks/spec95_sparcv9/benchspec])
-       else
-               AC_SUBST(SPEC95_ROOT,[${enableval}])
-       fi
-       AC_SUBST(USE_SPEC95,[[USE_SPEC95=1]])
-fi
+EXTERNAL_BENCHMARK(spec95,/home/vadve/shared/benchmarks/spec95/benchspec)
+EXTERNAL_BENCHMARK(spec2000,/home/vadve/shared/benchmarks/speccpu2000/benchspec)
+EXTERNAL_BENCHMARK(povray,/home/vadve/shared/benchmarks/povray31)
 
 dnl Precompiled Bytecode Option
 AC_ARG_ENABLE(precompiled_bytecode,AC_HELP_STRING([--enable-precompiled_bytecode],[Use pre-compiled bytecode (default is NO)]),,enableval=no)
@@ -422,7 +436,12 @@ AC_DEFINE_UNQUOTED(SHLIBEXT,"$SHLIBEXT",
                    [Extension that shared libraries have, e.g., ".so".])
 
 dnl Create the output files
-AC_OUTPUT(Makefile.config)
+AC_OUTPUT(Makefile.config
+ include/Support/DataTypes.h
+ include/Support/ThreadSupport.h
+ include/Support/hash_map
+ include/Support/hash_set
+ include/Support/iterator)
 
 dnl Warn loudly if llvm-gcc was not obviously working
 if test $llvmgccwarn = yes