PAPI check has been moved to projects/reopt.
[oota-llvm.git] / autoconf / configure.ac
index 94b306f847c6046833600c69508fb1a02efead41..4ca4296cc6e2ed53fd9c1c3c2a21961ce0309d97 100644 (file)
@@ -8,7 +8,7 @@ dnl Quit if the source directory has already been configured.
 dnl NOTE: This relies upon undocumented autoconf behavior.
 if test ${srcdir} != "."
 then
-       if test -f ${srcdir}/include/Config/config.h
+       if test -f ${srcdir}/include/llvm/Config/config.h
        then
                AC_MSG_ERROR([Already configured in ${srcdir}])
        fi
@@ -17,25 +17,32 @@ fi
 dnl Configure all of the projects present in our source tree.
 for i in `ls ${srcdir}/projects`
 do
-  if test ${i} != "CVS"
-  then
-    if test -f ${srcdir}/projects/${i}/configure
-    then
-      AC_CONFIG_SUBDIRS(projects/${i})
-    fi
+  if test -d ${srcdir}/projects/${i} ; then
+    case ${i} in
+      "CVS") ;;
+      "sample")       AC_CONFIG_SUBDIRS([projects/sample])    ;;
+      "Stacker")      AC_CONFIG_SUBDIRS([projects/Stacker])   ;;
+      "llvm-test")    AC_CONFIG_SUBDIRS([projects/llvm-test]) ;;
+      "llvm-reopt")   AC_CONFIG_SUBDIRS([projects/llvm-reopt]);;
+      "llvm-gcc")     AC_CONFIG_SUBDIRS([projects/llvm-gcc])  ;;
+      "llvm-java")    AC_CONFIG_SUBDIRS([projects/llvm-java]) ;;
+      "llvm-tv")      AC_CONFIG_SUBDIRS([projects/llvm-tv])   ;;
+      "llvm-fefw")    AC_CONFIG_SUBDIRS([projects/llvm-fefw]) ;;
+      *)              AC_CONFIG_SUBDIRS(${i}) ;;
+    esac
   fi
 done
 
 dnl Configure header files
-AC_CONFIG_HEADERS(include/Config/config.h)
+AC_CONFIG_HEADERS(include/llvm/Config/config.h)
 
 dnl Configure other output file
 AC_CONFIG_FILES(Makefile.config
- include/Support/DataTypes.h
- include/Support/ThreadSupport.h
- include/Support/hash_map
- include/Support/hash_set
- include/Support/iterator)
+ include/llvm/Support/DataTypes.h
+ include/llvm/Support/ThreadSupport.h
+ include/llvm/ADT/hash_map
+ include/llvm/ADT/hash_set
+ include/llvm/ADT/iterator)
 
 dnl Do special configuration of Makefiles
 AC_CONFIG_MAKEFILE(Makefile)
@@ -47,45 +54,6 @@ 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/Makefile.tests)
-AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.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.buildrepo.Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/TEST.jit.Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/TEST.nightly.report)
-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.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/analyzer/test.in)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/distray/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/distray/test.in)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/fourinarow/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/fourinarow/test.in)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/mason/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/mason/test.in)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/neural/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/neural/test.in)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pcompress2/Makefile)
-AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pcompress2/test.in)
-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)
@@ -99,7 +67,29 @@ AC_CANONICAL_TARGET
 
 dnl Set the "OS" Makefile variable based on the system we are building on.
 dnl We will use the build machine information to set some variables.
+
+AC_MSG_CHECKING([support for generic build operating system])
 case $build in
+       *-*-aix*)
+             AC_SUBST(OS,[AIX])
+             platform_type="AIX"
+             ;;
+       *-*-cygwin*)
+             AC_SUBST(OS,[Cygwin])
+             platform_type="Cygwin"
+             ;;
+       *-*-darwin*)
+             AC_SUBST(OS,[Darwin])
+             platform_type="Darwin"
+             ;;
+        *-*-freebsd*)
+             AC_SUBST(OS,[Linux])
+             platform_type="FreeBSD"
+             ;;
+        *-*-interix*)
+             AC_SUBST(OS,[SunOS])
+             platform_type="Interix"
+             ;;
        *-*-linux*)
              AC_SUBST(OS,[Linux])
              platform_type="Linux"
@@ -116,22 +106,6 @@ case $build in
                AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/sparc/llvm-gcc/])
              fi
              ;;
-       *-*-cygwin*)
-             AC_SUBST(OS,[Cygwin])
-             platform_type="Cygwin"
-             ;;
-       *-*-darwin*)
-             AC_SUBST(OS,[Darwin])
-             platform_type="Darwin"
-             ;;
-       *-*-aix*)
-             AC_SUBST(OS,[AIX])
-             platform_type="AIX"
-             ;;
-        *-*-interix*)
-             AC_SUBST(OS,[SunOS])
-             platform_type="SunOS"
-             ;;
         *-*-win32*)
              AC_SUBST(OS,[Win32])
              platform_type="Win32"
@@ -143,7 +117,7 @@ case $build in
 esac
 
 dnl Make sure we aren't attempting to configure for an unknown system
-if test $platform_type -eq "Unknown" ; then
+if test "$platform_type" = "Unknown" ; then
   AC_MSG_ERROR([Platform is unknown, configure can't continue])
 fi
 
@@ -152,6 +126,9 @@ dnl This helps the #inclusion of the system specific include files
 dnl for the operating system abstraction library
 AC_CONFIG_LINKS(lib/System/platform:lib/System/$platform_type)
 
+AC_MSG_RESULT($platform_type)
+
+AC_MSG_CHECKING(target architecture)
 dnl If we are targetting a Sparc machine running Solaris, pretend that it is
 dnl V9, since that is all that we support at the moment, and autoconf will only
 dnl tell us we're a sparc.
@@ -164,16 +141,26 @@ dnl Determine what our target architecture is and configure accordingly.
 dnl This will allow Makefiles to make a distinction between the hardware and
 dnl the OS.
 case $target in
-       i*86-*)           AC_SUBST(ARCH,[x86])
-                         ;;
-       sparc*-*)         AC_SUBST(ARCH,[Sparc])
-                         ;;
-       powerpc*-*)       AC_SUBST(ARCH,[PowerPC])
-                         ;;
-       *)                AC_SUBST(ARCH,[Unknown])
-                         ;;
+       i*86-*)       
+          ARCH="x86"
+          AC_SUBST(ARCH,[x86])
+         ;;
+       sparc*-*)         
+          ARCH="Sparc"
+          AC_SUBST(ARCH,[Sparc])
+         ;;
+       powerpc*-*)       
+          ARCH="PowerPC"
+          AC_SUBST(ARCH,[PowerPC])
+         ;;
+       *)                
+          ARCH="Unknown"
+          AC_SUBST(ARCH,[Unknown])
+         ;;
 esac
 
+AC_MSG_RESULT($ARCH)
+
 dnl Check for compilation tools
 AC_PROG_CXX
 AC_PROG_CC(gcc)
@@ -197,7 +184,7 @@ then
 fi
 
 dnl Check for GNU Make.  We use its extensions too, so don't build without it
-CHECK_GNU_MAKE
+AC_CHECK_GNU_MAKE
 if test -z "$_cv_gnu_make_command"
 then
        AC_MSG_ERROR([GNU Make required but not found])
@@ -296,7 +283,9 @@ dnl Check for types
 AC_TYPE_PID_T
 AC_TYPE_SIZE_T
 AC_CHECK_TYPES([int64_t],,AC_MSG_ERROR([Type int64_t required but not found]))
-AC_CHECK_TYPES([uint64_t],,AC_MSG_ERROR([Type uint64_t required but not found]))
+AC_CHECK_TYPES([uint64_t],,
+               AC_CHECK_TYPES([u_int64_t],,
+                              AC_MSG_ERROR([Type uint64_t or u_int64_t required but not found])))
 AC_HEADER_TIME
 AC_STRUCT_TM
 
@@ -346,69 +335,6 @@ else
        AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]])
 fi
 
-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(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])
-])
-
-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)
-if test ${enableval} = "no"
-then
-       AC_SUBST(UPB,[[]])
-else
-       AC_SUBST(UPB,[[USE_PRECOMPILED_BYTECODE=1]])
-fi
-
-dnl LLC Diff Option
-AC_ARG_ENABLE(llc_diffs,AC_HELP_STRING([--enable-llc_diffs],[Enable LLC Diffs when testing (default is YES)]),,enableval=yes)
-if test ${enableval} = "no"
-then
-       AC_SUBST(DISABLE_LLC_DIFFS,[DISABLE_LLC_DIFFS:=1])
-else
-       AC_SUBST(DISABLE_LLC_DIFFS,[[]])
-fi
-
 dnl JIT Option
 AC_ARG_ENABLE(jit,AC_HELP_STRING([--enable-jit],[Enable Just In Time Compiling (default is YES)]),,enableval=default)
 if test ${enableval} = "no"
@@ -467,12 +393,6 @@ then
        llvmgccwarn=yes
 fi
 
-dnl Location of the bytecode repository
-AC_ARG_WITH(bcrepos,AC_HELP_STRING([--with-bcrepos],[Location of Bytecode Repository]),AC_SUBST(BCR,[$withval]),AC_SUBST(BCR,[/home/vadve/lattner/LLVMPrograms]))
-
-dnl Location of PAPI
-AC_ARG_WITH(papi,AC_HELP_STRING([--with-papi],[Location of PAPI]),AC_SUBST(PAPIDIR,[$withval]),AC_SUBST(PAPIDIR,[/home/vadve/shared/Sparc/papi-2.3.4.1]))
-
 dnl Get libtool's idea of what the shared library suffix is.
 dnl (This is a hack; it relies on undocumented behavior.)
 AC_MSG_CHECKING([for shared library suffix])