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