X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=autoconf%2Fconfigure.ac;h=2573f7ee2d94ac09295fd6c8d2e3207fec0060aa;hb=3484a99ba1ecddd221c9c77b321d66edb456a7fc;hp=0fad0356929bd71613064bf0f6d522cf7dfa593e;hpb=ca767406332d34892bf5e9adb0adfe3a80fe76e2;p=oota-llvm.git diff --git a/autoconf/configure.ac b/autoconf/configure.ac index 0fad0356929..2573f7ee2d9 100644 --- a/autoconf/configure.ac +++ b/autoconf/configure.ac @@ -31,12 +31,12 @@ dnl=== dnl===-----------------------------------------------------------------------=== dnl Initialize autoconf and define the package name, version number and dnl email address for reporting bugs. -AC_INIT([[llvm]],[[1.4]],[llvmbugs@cs.uiuc.edu]) +AC_INIT([[llvm]],[[1.7cvs]],[llvmbugs@cs.uiuc.edu]) dnl Provide a copyright substitution and ensure the copyright notice is included dnl in the output of --version option of the generated configure script. -AC_SUBST(LLVM_COPYRIGHT,["Copyright (c) 2003-2005 U University of Illinois at Urbana-Champaign."]) -AC_COPYRIGHT($LLVM_COPYRIGHT) +AC_SUBST(LLVM_COPYRIGHT,["Copyright (c) 2003-2005 University of Illinois at Urbana-Champaign."]) +AC_COPYRIGHT([Copyright (c) 2003-2005 University of Illinois at Urbana-Champaign.]) dnl Indicate that we require autoconf 2.59 or later. Ths is needed because we dnl use some autoconf macros only available in 2.59. @@ -72,10 +72,10 @@ do "llvm-test") AC_CONFIG_SUBDIRS([projects/llvm-test]) ;; "llvm-reopt") AC_CONFIG_SUBDIRS([projects/llvm-reopt]);; "llvm-gcc") AC_CONFIG_SUBDIRS([projects/llvm-gcc]) ;; - "Java") AC_CONFIG_SUBDIRS([projects/Java]) ;; + "llvm-java") AC_CONFIG_SUBDIRS([projects/llvm-java]) ;; "llvm-tv") AC_CONFIG_SUBDIRS([projects/llvm-tv]) ;; - "llvm-fefw") AC_CONFIG_SUBDIRS([projects/llvm-fefw]) ;; - "poolalloc") AC_CONFIG_SUBDIRS([projects/poolalloc]) ;; + "llvm-poolalloc") AC_CONFIG_SUBDIRS([projects/llvm-poolalloc]) ;; + "llvm-kernel") AC_CONFIG_SUBDIRS([projects/llvm-kernel]) ;; *) AC_MSG_WARN([Unknown project (${i}) won't be configured automatically]) ;; @@ -97,41 +97,67 @@ AC_CANONICAL_TARGET dnl Determine the platform type and cache its value. This helps us configure dnl the System library to the correct build platform. -AC_CACHE_CHECK([support for generic build operating system], - [llvm_cv_platform_type], +AC_CACHE_CHECK([type of operating system we're on], + [llvm_cv_os_type], [case $build in - *-*-aix*) llvm_cv_platform_type="AIX" ;; - *-*-cygwin*) llvm_cv_platform_type="Cygwin" ;; - *-*-darwin*) llvm_cv_platform_type="Darwin" ;; - *-*-freebsd*) llvm_cv_platform_type="FreeBSD" ;; - *-*-interix*) llvm_cv_platform_type="Interix" ;; - *-*-linux*) llvm_cv_platform_type="Linux" ;; - *-*-solaris*) llvm_cv_platform_type="SunOS" ;; - *-*-win32*) llvm_cv_platform_type="Win32" ;; - *-*-mingw*) llvm_cv_platform_type="Win32" ;; - *) llvm_cv_platform_type="Unknown" ;; + *-*-aix*) + llvm_cv_os_type="AIX" + llvm_cv_platform_type="Unix" ;; + *-*-cygwin*) + llvm_cv_os_type="Cygwin" + llvm_cv_platform_type="Unix" ;; + *-*-darwin*) + llvm_cv_os_type="Darwin" + llvm_cv_platform_type="Unix" ;; + *-*-freebsd*) + llvm_cv_os_type="FreeBSD" + llvm_cv_platform_type="Unix" ;; + *-*-hpux*) + llvm_cv_os_type="HP-UX" + llvm_cv_platform_type="Unix" ;; + *-*-interix*) + llvm_cv_os_type="Interix" + llvm_cv_platform_type="Unix" ;; + *-*-linux*) + llvm_cv_os_type="Linux" + llvm_cv_platform_type="Unix" ;; + *-*-solaris*) + llvm_cv_os_type="SunOS" + llvm_cv_platform_type="Unix" ;; + *-*-win32*) + llvm_cv_os_type="Win32" + llvm_cv_platform_type="Win32" ;; + *-*-mingw*) + llvm_cv_os_type="MingW" + llvm_cv_platform_type="Win32" ;; + *) + llvm_cv_os_type="Unknown" + llvm_cv_platform_type="Unknown" ;; esac]) dnl Make sure we aren't attempting to configure for an unknown system -if test "$llvm_cv_platform_type" = "Unknown" ; then - AC_MSG_ERROR([Operating system platform is unknown, configure can't continue]) +if test "$llvm_cv_os_type" = "Unknown" ; then + AC_MSG_ERROR([Operating system is unknown, configure can't continue]) fi dnl Set the "OS" Makefile variable based on the platform type so the dnl makefile can configure itself to specific build hosts -AC_SUBST(OS,$llvm_cv_platform_type) - -dnl Make a link from lib/System/platform to lib/System/$llvm_cv_platform_type -dnl This helps the #inclusion of the system specific include files -dnl for the operating system abstraction library, lib/System. -AC_CONFIG_LINKS(lib/System/platform:lib/System/$llvm_cv_platform_type) - -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. -case $target in - sparc*-*-solaris*) AC_SUBST(target,[[sparcv9-sun-solaris2.8]]) - ;; +AC_SUBST(OS,$llvm_cv_os_type) + +dnl Set the "LLVM_ON_*" variables based on llvm_cvs_platform_type +dnl This is used by lib/System to determine the basic kind of implementation +dnl to use. +case $llvm_cv_platform_type in + Unix) + AC_DEFINE([LLVM_ON_UNIX],[1],[Define if this is Unixish platform]) + AC_SUBST(LLVM_ON_UNIX,[1]) + AC_SUBST(LLVM_ON_WIN32,[0]) + ;; + Win32) + AC_DEFINE([LLVM_ON_WIN32],[1],[Define if this is Win32ish platform]) + AC_SUBST(LLVM_ON_UNIX,[0]) + AC_SUBST(LLVM_ON_WIN32,[1]) + ;; esac dnl Determine what our target architecture is and configure accordingly. @@ -139,10 +165,13 @@ dnl This will allow Makefiles to make a distinction between the hardware and dnl the OS. AC_CACHE_CHECK([target architecture],[llvm_cv_target_arch], [case $target in - i*86-*) llvm_cv_target_arch="x86" ;; - sparc*-*) llvm_cv_target_arch="Sparc" ;; - powerpc*-*) llvm_cv_target_arch="PowerPC" ;; - *) llvm_cv_target_arch="Unknown" ;; + i?86-*) llvm_cv_target_arch="x86" ;; + amd64-* | x86_64-*) llvm_cv_target_arch="x86_64" ;; + sparc*-*) llvm_cv_target_arch="Sparc" ;; + powerpc*-*) llvm_cv_target_arch="PowerPC" ;; + alpha*-*) llvm_cv_target_arch="Alpha" ;; + ia64-*) llvm_cv_target_arch="IA64" ;; + *) llvm_cv_target_arch="Unknown" ;; esac]) if test "$llvm_cv_target_arch" = "Unknown" ; then @@ -170,6 +199,15 @@ else AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]]) fi +dnl --enable-debug-runtime : should runtime libraries have debug symbols? +AC_ARG_ENABLE(debug-runtime, + AS_HELP_STRING([--enable-debug-runtime,Build runtime libs with debug symbols (default is NO)]),,enableval=no) +if test ${enableval} = "no" ; then + AC_SUBST(DEBUG_RUNTIME,[[]]) +else + AC_SUBST(DEBUG_RUNTIME,[[DEBUG_RUNTIME=1]]) +fi + dnl --enable-jit: check whether they want to enable the jit AC_ARG_ENABLE(jit, AS_HELP_STRING(--enable-jit, @@ -183,6 +221,9 @@ else x86) AC_SUBST(JIT,[[TARGET_HAS_JIT=1]]) ;; Sparc) AC_SUBST(JIT,[[TARGET_HAS_JIT=1]]) ;; PowerPC) AC_SUBST(JIT,[[TARGET_HAS_JIT=1]]) ;; + x86_64) AC_SUBST(JIT,[[]]) ;; + Alpha) AC_SUBST(JIT,[[TARGET_HAS_JIT=1]]) ;; + IA64) AC_SUBST(JIT,[[]]) ;; *) AC_SUBST(JIT,[[]]) ;; esac fi @@ -199,26 +240,63 @@ case "$enableval" in *) AC_MSG_ERROR([Invalid setting for --enable-doxygen. Use "yes" or "no"]) ;; esac -dnl Find the LLVM GCC-based C/C++ front end +dnl Allow disablement of threads +AC_ARG_ENABLE(threads, + AS_HELP_STRING([--enable-threads], + [Use threads if available (default is YES)]),, + enableval=yes) +case "$enableval" in + yes) AC_SUBST(ENABLE_THREADS,[1]) ;; + no) AC_SUBST(ENABLE_THREADS,[0]) ;; + *) AC_MSG_ERROR([Invalid setting for --enable-threads. Use "yes" or "no"]) ;; +esac +AC_DEFINE_UNQUOTED([ENABLE_THREADS],$ENABLE_THREADS,[Define if threads enabled]) + +dnl Allow specific targets to be specified for building (or not) +TARGETS_TO_BUILD="" +AC_ARG_ENABLE([targets],AS_HELP_STRING([--enable-target], + [Build specific host targets: all,host-only,{target-name} (default=all)]),, + enableval=all) +case "$enableval" in + all) TARGETS_TO_BUILD="X86 SparcV8 SparcV9 PowerPC Alpha IA64 Skeleton" ;; + host-only) + case "$llvm_cv_target_arch" in + x86) TARGETS_TO_BUILD="X86" ;; + x86_64) TARGETS_TO_BUILD="X86" ;; + Sparc) TARGETS_TO_BUILD="SparcV8 SparcV9" ;; + PowerPC) TARGETS_TO_BUILD="PowerPC" ;; + Alpha) TARGETS_TO_BUILD="Alpha" ;; + IA64) TARGETS_TO_BUILD="IA64" ;; + *) AC_MSG_ERROR([Can not set target to build]) ;; + esac + ;; + *)for a_target in `echo $enableval|sed -e 's/,/ /g' ` ; do + case "$a_target" in + x86) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;; + x86_64) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;; + sparc) TARGETS_TO_BUILD="SparcV8 SparcV9 $TARGETS_TO_BUILD" ;; + powerpc) TARGETS_TO_BUILD="PowerPC $TARGETS_TO_BUILD" ;; + alpha) TARGETS_TO_BUILD="Alpha $TARGETS_TO_BUILD" ;; + ia64) TARGETS_TO_BUILD="IA64 $TARGETS_TO_BUILD" ;; + skeleton)TARGETS_TO_BUILD="Skeleton $TARGETS_TO_BUILD";; + *) AC_MSG_ERROR([Unrecognized target $a_target]) ;; + esac + done + ;; +esac +TARGETS_TO_BUILD="CBackend $TARGETS_TO_BUILD" +AC_SUBST(TARGETS_TO_BUILD,$TARGETS_TO_BUILD) + +dnl Allow a specific llvm-gcc/llvm-g++ pair to be used with this LLVM config. AC_ARG_WITH(llvmgccdir, - AS_HELP_STRING(--with-llvmgccdir,[Location of LLVM GCC front-end]), - AC_SUBST(LLVMGCCDIR,[$withval])) - -dnl Provide some defaults for LLVMGCC for UIUC environments. -if test "x$LLVMGCCDIR" = x ; then - case "$llvm_cv_platform_type" in - Linux) - if test -d /home/vadve/lattner/local/x86/llvm-gcc ; then - AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/x86/llvm-gcc/]) - fi - ;; - SunOS) - if test -d /home/vadve/lattner/local/sparc/llvm-gcc ; then - AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/sparc/llvm-gcc/]) - fi - ;; - esac -fi + AS_HELP_STRING([--with-llvmgccdir], + [Specify location of llvm-gcc install dir (default searches PATH)]),, + withval=default) +case "$withval" in + default) WITH_LLVMGCCDIR=default ;; + /*) WITH_LLVMGCCDIR=$withval ;; + *) AC_MSG_ERROR([Invalid path for --with-llvmgccdir. Provide full path]) ;; +esac dnl===-----------------------------------------------------------------------=== @@ -237,16 +315,29 @@ AC_PROG_BISON dnl Check for the tools that the makefiles require AC_CHECK_GNU_MAKE AC_PROG_LN_S +AC_PATH_PROG(CMP, [cmp], [cmp]) +AC_PATH_PROG(CP, [cp], [cp]) AC_PATH_PROG(DATE, [date], [date]) AC_PATH_PROG(FIND, [find], [find]) AC_PATH_PROG(GREP, [grep], [grep]) AC_PATH_PROG(MKDIR,[mkdir],[mkdir]) AC_PATH_PROG(MV, [mv], [mv]) -AC_PATH_PROG(PAX, [pax], [pax]) AC_PROG_RANLIB AC_PATH_PROG(RM, [rm], [rm]) AC_PATH_PROG(SED, [sed], [sed]) AC_PATH_PROG(TAR, [tar], [gtar]) +AC_PATH_PROG(GRAPHVIZ, [Graphviz], [echo Graphviz]) +if test "$GRAPHVIZ" != "echo Graphviz" ; then + AC_DEFINE([HAVE_GRAPHVIZ],[1],[Define if the Graphviz program is available]) + AC_DEFINE_UNQUOTED([LLVM_PATH_GRAPHVIZ],"$GRAPHVIZ", + [Define to path to Graphviz program if found or 'echo Graphviz' otherwise]) +fi +AC_PATH_PROG(GV, [gv], [echo gv]) +if test "$GV" != "echo gv" ; then + AC_DEFINE([HAVE_GV],[1],[Define if the gv program is available]) + AC_DEFINE_UNQUOTED([LLVM_PATH_GV],"$GV", + [Define to path to gv program if found or 'echo gv' otherwise]) +fi dnl Find the install program AC_PROG_INSTALL @@ -277,6 +368,11 @@ AC_LIBTOOL_DLOPEN AC_LIB_LTDL AC_PROG_LIBTOOL +if test "$lt_cv_dlopen_self" = "yes" ; then + AC_DEFINE([CAN_DLOPEN_SELF],[1], + [Define if dlopen(0) will open the symbols of the program]) +fi + dnl Check if we know how to tell etags we are using C++: etags_version=`$ETAGS --version 2>&1` case "$etags_version" in @@ -286,6 +382,18 @@ case "$etags_version" in esac AC_SUBST(ETAGSFLAGS,$ETAGSFLAGS) +if test "$WITH_LLVMGCCDIR" = "default" ; then + LLVMGCC="llvm-gcc${EXEEXT}" + LLVMGXX="llvm-g++${EXEEXT}" + AC_PATH_PROG(LLVMGCC, $LLVMGCC, []) + AC_PATH_PROG(LLVMGXX, $LLVMGXX, []) +else + LLVMGCC="$WITH_LLVMGCCDIR/bin/llvm-gcc${EXEEXT}" + LLVMGXX="$WITH_LLVMGCCDIR/bin/llvm-g++${EXEEXT}" + AC_SUBST(LLVMGCC,$LLVMGCC) + AC_SUBST(LLVMGXX,$LLVMGXX) +fi + AC_MSG_CHECKING([tool compatibility]) dnl Ensure that compilation tools are GCC or a GNU compatible compiler such as @@ -318,7 +426,7 @@ fi dnl Verify that GCC is version 3.0 or higher if test "$GCC" = "yes" then - gccmajor=`$CC --version | head -n 1 | awk '{print $NF;}' | cut -d. -f1` + gccmajor=`$CC --version | head -n 1 | sed 's/[[^0-9]]*\([[0-9.]]\).*/\1/'` if test "$gccmajor" -lt "3" then AC_MSG_ERROR([gcc 3.x required, but you have a lower version]) @@ -342,6 +450,7 @@ dnl===-----------------------------------------------------------------------=== dnl libelf is for sparc only; we can ignore it if we don't have it AC_CHECK_LIB(elf, elf_begin) +AC_CHECK_LIB(m,sin) dnl lt_dlopen may be required for plugin support. AC_SEARCH_LIBS(lt_dlopen,ltdl,AC_DEFINE([HAVE_LT_DLOPEN],[1], @@ -360,9 +469,12 @@ AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1], 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], - [Have pthread_mutex_lock])) +if test "$ENABLE_THREADS" -eq 1 ; then + AC_CHECK_LIB(pthread,pthread_mutex_init) + AC_SEARCH_LIBS(pthread_mutex_lock,pthread, + AC_DEFINE([HAVE_PTHREAD_MUTEX_LOCK],[1], + [Have pthread_mutex_lock])) +fi dnl===-----------------------------------------------------------------------=== dnl=== @@ -370,23 +482,25 @@ dnl=== SECTION 6: Check for header files dnl=== dnl===-----------------------------------------------------------------------=== +dnl First, use autoconf provided macros for specific headers that we need dnl We don't check for ancient stuff or things that are guaranteed to be there dnl by the C++ standard. We always use the versions of C headers. +dnl Generally we're looking for POSIX headers. +AC_HEADER_DIRENT +AC_HEADER_MMAP_ANONYMOUS +AC_HEADER_STAT AC_HEADER_STDC - -dnl However, we do need some system specific header files. Generally we're -dnl looking for POSIX headers. AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS([sys/time.h sys/mman.h sys/resource.h sys/time.h sys/types.h]) -AC_CHECK_HEADERS([dlfcn.h execinfo.h fcntl.h limits.h link.h]) -AC_CHECK_HEADERS([malloc.h unistd.h windows.h]) AC_HEADER_TIME -AC_HEADER_MMAP_ANONYMOUS -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_HEADERS([inttypes.h stdint.h]) +AC_CHECK_HEADERS([dlfcn.h execinfo.h fcntl.h inttypes.h limits.h link.h]) +AC_CHECK_HEADERS([malloc.h signal.h stdint.h unistd.h utime.h windows.h]) +AC_CHECK_HEADERS([sys/mman.h sys/param.h sys/resource.h sys/time.h sys/types.h]) +AC_CHECK_HEADERS([malloc/malloc.h]) +AC_CHECK_HEADERS([rw/stdex/hash_map.h rw/stdex/hash_set.h]) +if test "$ENABLE_THREADS" -eq 1 ; then + AC_CHECK_HEADERS(pthread.h) +fi dnl===-----------------------------------------------------------------------=== dnl=== @@ -409,8 +523,10 @@ dnl=== SECTION 8: Check for specific functions needed dnl=== dnl===-----------------------------------------------------------------------=== -AC_CHECK_FUNCS([backtrace getcwd gettimeofday isatty getrusage mkstemp]) -AC_CHECK_FUNCS([strdup strtoq strtoll]) +AC_CHECK_FUNCS([backtrace ceil ceilf floor floorf getcwd getpagesize getrusage]) +AC_CHECK_FUNCS([gettimeofday isatty mkdtemp mkstemp mktemp ]) +AC_CHECK_FUNCS([realpath sbrk setrlimit strdup strerror strerror_r ]) +AC_CHECK_FUNCS([strtoll strtoq sysconf malloc_zone_statistics ]) AC_C_PRINTF_A AC_FUNC_ALLOCA AC_FUNC_RAND48 @@ -426,15 +542,17 @@ AC_FUNC_ISNAN AC_FUNC_ISINF dnl Check for mmap and mprotect support. We need both to do the JIT and for -dnl bytecode loading, etc. +dnl bytecode loading, etc. We also need to know if /dev/zero is required to +dnl be opened for allocating RWX memory. AC_FUNC_MMAP AC_FUNC_MMAP_FILE +AC_NEED_DEV_ZERO_FOR_MMAP AC_CHECK_FUNC(mprotect,, AC_MSG_ERROR([Function mprotect() required but not found])) if test "$ac_cv_func_mmap_fixed_mapped" = "no" then - AC_MSG_WARN([mmap() required but not found]) + AC_MSG_WARN([mmap() of a fixed address required but not supported]) fi if test "$ac_cv_func_mmap_file" = "no" then @@ -447,34 +565,26 @@ dnl=== SECTION 9: Additional checks, variables, etc. dnl=== dnl===-----------------------------------------------------------------------=== -dnl Figure out if there's an executable llvm-gcc in the llvmgccdir. -AC_CACHE_CHECK([for llvm-gcc],[llvm_cv_llvmgcc], -[llvm_cv_llvmgcc='llvmgcc_not_found' -if test -d "$LLVMGCCDIR" ; then - if test -x "$LLVMGCCDIR/bin/gcc" ; then - llvm_cv_llvmgcc="$LLVMGCCDIR/bin/gcc" - fi -fi]) - -dnl See if the llvmgcc executable can compile to LLVM assembly +dnl See if the llvm-gcc executable can compile to LLVM assembly AC_CACHE_CHECK([whether llvm-gcc is sane],[llvm_cv_llvmgcc_sanity], [llvm_cv_llvmgcc_sanity="no" -if test -x "$llvm_cv_llvmgcc" ; then +if test -x "$LLVMGCC" ; then cp /dev/null conftest.c - "$llvm_cv_llvmgcc" -S -o - conftest.c | grep implementation > /dev/null 2>&1 + "$LLVMGCC" -S -o - conftest.c | grep implementation > /dev/null 2>&1 if test $? -eq 0 ; then llvm_cv_llvmgcc_sanity="yes" fi rm conftest.c fi]) -dnl Since we have a sane llvmgcc, identify it and its sub-tools +dnl Since we have a sane llvm-gcc, identify it and its sub-tools if test "$llvm_cv_llvmgcc_sanity" = "yes" ; then - AC_SUBST(LLVMGCC,"$llvm_cv_llvmgcc") - llvmcc1path=`"$llvm_cv_llvmgcc" --print-prog-name=cc1` + llvmcc1path=`"$LLVMGCC" --print-prog-name=cc1` AC_SUBST(LLVMCC1,$llvmcc1path) - llvmcc1pluspath=`"$llvm_cv_llvmgcc" --print-prog-name=cc1plus` + llvmcc1pluspath=`"$LLVMGCC" --print-prog-name=cc1plus` AC_SUBST(LLVMCC1PLUS,$llvmcc1pluspath) + llvmgccdir=`echo "$llvmcc1path" | sed 's,/libexec/.*,,'` + AC_SUBST(LLVMGCCDIR,$llvmgccdir) fi dnl Propagate the shared library extension that the libltdl checks did to @@ -527,8 +637,6 @@ AC_DEFINE_UNQUOTED(LLVM_MANDIR, "$LLVM_MANDIR", [Installation directory for man pages]) AC_DEFINE_UNQUOTED(LLVM_CONFIGTIME, "$LLVM_CONFIGTIME", [Time at which LLVM was configured]) -AC_DEFINE_UNQUOTED([LLVMGCCDIR],"$LLVMGCCDIR", - [Installation directory of llvm-gcc]) dnl===-----------------------------------------------------------------------=== dnl=== @@ -537,24 +645,24 @@ dnl=== dnl===-----------------------------------------------------------------------=== dnl Configure header files -AC_CONFIG_HEADERS(include/llvm/Config/config.h) - +dnl WARNING: dnl If you add or remove any of the following config headers, then +dnl you MUST also update Makefile.rules so that the variable FilesToConfig +dnl contains the same list of files as AC_CONFIG_HEADERS below. This ensures the +dnl files can be updated automatically when their *.in sources change. +AC_CONFIG_HEADERS([include/llvm/Config/config.h]) AC_CONFIG_HEADERS([include/llvm/Support/DataTypes.h]) AC_CONFIG_HEADERS([include/llvm/ADT/hash_map]) AC_CONFIG_HEADERS([include/llvm/ADT/hash_set]) -AC_CONFIG_HEADERS([include/llvm/Support/ThreadSupport.h]) AC_CONFIG_HEADERS([include/llvm/ADT/iterator]) dnl Configure the makefile's configuration data AC_CONFIG_FILES([Makefile.config]) -dnl Configure llvmc's configuration files -AC_CONFIG_FILES([tools/llvmc/st tools/llvmc/cpp tools/llvmc/ll tools/llvmc/c]) - dnl Configure doxygen's configuration file AC_CONFIG_FILES([docs/doxygen.cfg]) dnl Do special configuration of Makefiles +AC_CONFIG_COMMANDS([setup],,[llvm_src="${srcdir}"]) AC_CONFIG_MAKEFILE(Makefile) AC_CONFIG_MAKEFILE(Makefile.common) AC_CONFIG_MAKEFILE(examples/Makefile) @@ -571,10 +679,9 @@ AC_OUTPUT dnl Warn loudly if llvm-gcc was not obviously working if test "$llvm_cv_llvmgcc_sanity" = "no" ; then - AC_MSG_WARN([***** llvm C/C++ front end was not found, or does not]) - AC_MSG_WARN([***** appear to be working.]) - AC_MSG_WARN([***** ]) - AC_MSG_WARN([***** Please check configure's --with-llvmgccdir option.]) - AC_MSG_WARN([***** Runtime libraries (in llvm/runtime) will not be built,]) - AC_MSG_WARN([***** but you should be able to build the llvm tools.]) + AC_MSG_WARN([***** llvm-gcc/llvm-g++ was not found, or does not appear to be ]) + AC_MSG_WARN([***** working. Please make sure you have llvmgcc and llvmg++ in]) + AC_MSG_WARN([***** your path before configuring LLVM. The runtime libraries]) + AC_MSG_WARN([***** (llvm/runtime) will not be built but you should be able to]) + AC_MSG_WARN([***** build the llvm tools.]) fi