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])
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)
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)
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)
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
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
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
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.
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)
[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