X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=autoconf%2Fconfigure.ac;h=cc299e63d18c24d93335b84a1f69baccb38444de;hb=1000b73397bd72b71ede338caf5b6379072d94a4;hp=4526c48dbe84875419a4d605a40791868536a076;hpb=ceaf1c33c036ac33e3bc5aa97c57547e30627742;p=oota-llvm.git diff --git a/autoconf/configure.ac b/autoconf/configure.ac index 4526c48dbe8..cc299e63d18 100644 --- a/autoconf/configure.ac +++ b/autoconf/configure.ac @@ -31,7 +31,7 @@ dnl=== dnl===-----------------------------------------------------------------------=== dnl Initialize autoconf and define the package name, version number and dnl email address for reporting bugs. -AC_INIT([[llvm]],[[1.9cvs]],[llvmbugs@cs.uiuc.edu]) +AC_INIT([[llvm]],[[2.0cvs]],[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. @@ -102,39 +102,68 @@ AC_CACHE_CHECK([type of operating system we're going to host on], [llvm_cv_os_type], [case $host in *-*-aix*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="AIX" llvm_cv_platform_type="Unix" ;; + *-*-irix*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" + llvm_cv_os_type="IRIX" + llvm_cv_platform_type="Unix" ;; *-*-cygwin*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="Cygwin" llvm_cv_platform_type="Unix" ;; *-*-darwin*) + llvm_cv_link_all_option="-Wl,-all_load" + llvm_cv_link_all_option="-Wl,-noall_load" llvm_cv_os_type="Darwin" llvm_cv_platform_type="Unix" ;; *-*-freebsd*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="FreeBSD" llvm_cv_platform_type="Unix" ;; *-*-openbsd*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="OpenBSD" llvm_cv_platform_type="Unix" ;; *-*-hpux*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="HP-UX" llvm_cv_platform_type="Unix" ;; *-*-interix*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="Interix" llvm_cv_platform_type="Unix" ;; *-*-linux*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="Linux" llvm_cv_platform_type="Unix" ;; *-*-solaris*) + llvm_cv_link_all_option="-Wl,-z,allextract" + llvm_cv_no_link_all_option="-Wl,-z,defaultextract" llvm_cv_os_type="SunOS" llvm_cv_platform_type="Unix" ;; *-*-win32*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="Win32" llvm_cv_platform_type="Win32" ;; *-*-mingw*) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" llvm_cv_os_type="MingW" llvm_cv_platform_type="Win32" ;; *) + llvm_cv_link_all_option="" + llvm_cv_no_link_all_option="" llvm_cv_os_type="Unknown" llvm_cv_platform_type="Unknown" ;; esac]) @@ -148,6 +177,10 @@ 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_os_type) +dnl Set the LINKALL and NOLINKALL Makefile variables based on the platform +AC_SUBST(LINKALL,$llvm_cv_link_all_option) +AC_SUBST(NOLINKALL,$llvm_cv_no_link_all_option) + 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. @@ -280,10 +313,11 @@ dnl Allow disablement of threads AC_ARG_ENABLE(threads, AS_HELP_STRING([--enable-threads], [Use threads if available (default is YES)]),, - enableval=yes) + enableval=default) case "$enableval" in yes) AC_SUBST(ENABLE_THREADS,[1]) ;; no) AC_SUBST(ENABLE_THREADS,[0]) ;; + default) AC_SUBST(ENABLE_THREADS,[1]) ;; *) AC_MSG_ERROR([Invalid setting for --enable-threads. Use "yes" or "no"]) ;; esac AC_DEFINE_UNQUOTED([ENABLE_THREADS],$ENABLE_THREADS,[Define if threads enabled]) @@ -322,6 +356,21 @@ esac TARGETS_TO_BUILD="CBackend $TARGETS_TO_BUILD" AC_SUBST(TARGETS_TO_BUILD,$TARGETS_TO_BUILD) +dnl Prevent the CBackend from using printf("%a") for floating point so older +dnl C compilers that cannot deal with the 0x0p+0 hex floating point format +dnl can still compile the CBE's output +AC_ARG_ENABLE([cbe-printf-a],AS_HELP_STRING([--enable-cbe-printf-a], + [Enable C Backend output with hex floating point via %a (default is YES)]),, + enableval=default) +case "$enableval" in + yes) AC_SUBST(ENABLE_CBE_PRINTF_A,[1]) ;; + no) AC_SUBST(ENABLE_CBE_PRINTF_A,[0]) ;; + default) AC_SUBST(ENABLE_CBE_PRINTF_A,[1]) ;; + *) AC_MSG_ERROR([Invalid setting for --enable-cbe-printf-a. Use "yes" or "no"]) ;; +esac +AC_DEFINE_UNQUOTED([ENABLE_CBE_PRINTF_A],$ENABLE_CBE_PRINTF_A, + [Define if CBE is enabled for printf %a output]) + 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], @@ -436,7 +485,6 @@ dnl nothing. This just lets the build output show that we could have done dnl something if the tool was available. AC_PATH_PROG(BZIP2,[bzip2],[echo "Skipped: bzip2 not found"]) AC_PATH_PROG(DOXYGEN,[doxygen],[echo "Skipped: doxygen not found"]) -AC_PATH_PROG(ETAGS,[etags],[echo "Skipped: etags not found"]) AC_PATH_PROG(GROFF,[groff],[echo "Skipped: groff not found"]) AC_PATH_PROG(GZIP,[gzip],[echo "Skipped: gzip not found"]) AC_PATH_PROG(POD2HTML,[pod2html],[echo "Skipped: pod2html not found"]) @@ -587,9 +635,13 @@ AC_HEADER_TIME AC_CHECK_HEADERS([dlfcn.h execinfo.h fcntl.h inttypes.h limits.h link.h]) AC_CHECK_HEADERS([malloc.h setjmp.h signal.h stdint.h unistd.h utime.h]) AC_CHECK_HEADERS([windows.h sys/mman.h sys/param.h sys/resource.h sys/time.h]) -AC_CHECK_HEADERS([sys/types.h malloc/malloc.h]) +AC_CHECK_HEADERS([sys/types.h malloc/malloc.h mach/mach.h]) if test "$ENABLE_THREADS" -eq 1 ; then - AC_CHECK_HEADERS(pthread.h) + AC_CHECK_HEADER(pthread.h, + AC_SUBST(HAVE_PTHREAD, 1), + AC_SUBST(HAVE_PTHREAD, 0)) +else + AC_SUBST(HAVE_PTHREAD, 0) fi dnl===-----------------------------------------------------------------------=== @@ -598,6 +650,7 @@ dnl=== SECTION 7: Check for types and structures dnl=== dnl===-----------------------------------------------------------------------=== +AC_HUGE_VAL_CHECK AC_TYPE_PID_T AC_TYPE_SIZE_T AC_TYPE_SIGNAL @@ -756,6 +809,9 @@ AC_CONFIG_HEADERS([include/llvm/ADT/iterator]) dnl Configure the makefile's configuration data AC_CONFIG_FILES([Makefile.config]) +dnl Configure the RPM spec file for LLVM +AC_CONFIG_FILES([llvm.spec]) + dnl Configure doxygen's configuration file AC_CONFIG_FILES([docs/doxygen.cfg]) @@ -781,7 +837,7 @@ AC_OUTPUT dnl Warn loudly if llvm-gcc was not obviously working if test "$llvm_cv_llvmgcc_sanity" = "no" ; then 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([***** working. Please make sure you have llvm-gcc and llvm-g++ 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.])