X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=autoconf%2Fconfigure.ac;h=fee663335ba4f31a2e7c07a5ddaadf27324b40b9;hb=8be86aaf826e1a2d2a7d5b2d0054fed20a936fce;hp=0368f8058525d1112a2ec276fb4f85e079e1b4f7;hpb=cb6684b63b3c4c5a90e194c5719bc82690180f30;p=oota-llvm.git diff --git a/autoconf/configure.ac b/autoconf/configure.ac index 0368f805852..fee663335ba 100644 --- a/autoconf/configure.ac +++ b/autoconf/configure.ac @@ -31,9 +31,22 @@ dnl=== dnl===-----------------------------------------------------------------------=== dnl Initialize autoconf and define the package name, version number and dnl address for reporting bugs. -AC_INIT([LLVM],[3.5svn],[http://llvm.org/bugs/]) -AC_DEFINE([LLVM_VERSION_MAJOR], [3], [Major version of the LLVM API]) -AC_DEFINE([LLVM_VERSION_MINOR], [5], [Minor version of the LLVM API]) + +AC_INIT([LLVM],[3.6.0svn],[http://llvm.org/bugs/]) + +LLVM_VERSION_MAJOR=3 +LLVM_VERSION_MINOR=6 +LLVM_VERSION_PATCH=0 +LLVM_VERSION_SUFFIX=svn + +AC_DEFINE_UNQUOTED([LLVM_VERSION_MAJOR], $LLVM_VERSION_MAJOR, [Major version of the LLVM API]) +AC_DEFINE_UNQUOTED([LLVM_VERSION_MINOR], $LLVM_VERSION_MINOR, [Minor version of the LLVM API]) +AC_DEFINE_UNQUOTED([LLVM_VERSION_PATCH], $LLVM_VERSION_PATCH, [Patch version of the LLVM API]) + +AC_SUBST([LLVM_VERSION_MAJOR]) +AC_SUBST([LLVM_VERSION_MINOR]) +AC_SUBST([LLVM_VERSION_PATCH]) +AC_SUBST([LLVM_VERSION_SUFFIX]) dnl Provide a copyright substitution and ensure the copyright notice is included dnl in the output of --version option of the generated configure script. @@ -153,7 +166,6 @@ for i in `ls ${srcdir}/projects` do if test -d ${srcdir}/projects/${i} ; then case ${i} in - sample) AC_CONFIG_SUBDIRS([projects/sample]) ;; safecode) AC_CONFIG_SUBDIRS([projects/safecode]) ;; compiler-rt) ;; test-suite) ;; @@ -279,11 +291,6 @@ AC_CACHE_CHECK([type of operating system we're going to host on], llvm_cv_no_link_all_option="-Wl,-z,defaultextract" llvm_cv_os_type="SunOS" llvm_cv_platform_type="Unix" ;; - *-*-auroraux*) - llvm_cv_link_all_option="-Wl,-z,allextract" - llvm_cv_link_all_option="-Wl,-z,defaultextract" - llvm_cv_os_type="AuroraUX" - llvm_cv_platform_type="Unix" ;; *-*-win32*) llvm_cv_link_all_option="-Wl,--whole-archive" llvm_cv_no_link_all_option="-Wl,--no-whole-archive" @@ -349,8 +356,6 @@ AC_CACHE_CHECK([type of operating system we're going to target], llvm_cv_target_os_type="GNU" ;; *-*-solaris*) llvm_cv_target_os_type="SunOS" ;; - *-*-auroraux*) - llvm_cv_target_os_type="AuroraUX" ;; *-*-win32*) llvm_cv_target_os_type="Win32" ;; *-*-mingw*) @@ -407,6 +412,7 @@ AC_CACHE_CHECK([target architecture],[llvm_cv_target_arch], amd64-* | x86_64-*) llvm_cv_target_arch="x86_64" ;; sparc*-*) llvm_cv_target_arch="Sparc" ;; powerpc*-*) llvm_cv_target_arch="PowerPC" ;; + arm64*-*) llvm_cv_target_arch="AArch64" ;; arm*-*) llvm_cv_target_arch="ARM" ;; aarch64*-*) llvm_cv_target_arch="AArch64" ;; mips-* | mips64-*) llvm_cv_target_arch="Mips" ;; @@ -432,6 +438,7 @@ esac dnl Define a substitution, ARCH, for the target architecture AC_SUBST(ARCH,$llvm_cv_target_arch) +AC_SUBST(LLVM_NATIVE_ARCH,$LLVM_NATIVE_ARCH) dnl Determine what our host architecture. dnl This will allow MCJIT regress tests runs only for supported @@ -441,6 +448,7 @@ case $host in amd64-* | x86_64-*) host_arch="x86_64" ;; sparc*-*) host_arch="Sparc" ;; powerpc*-*) host_arch="PowerPC" ;; + arm64*-*) host_arch="AArch64" ;; arm*-*) host_arch="ARM" ;; aarch64*-*) host_arch="AArch64" ;; mips-* | mips64-*) host_arch="Mips" ;; @@ -588,19 +596,19 @@ bypass these sanity checks.])]) ;; esac -dnl --enable-cxx11 : check whether or not to use -std=c++11 on the command line -AC_ARG_ENABLE(cxx11, - AS_HELP_STRING([--enable-cxx11], - [Use c++11 if available (default is NO)]),, +dnl --enable-cxx1y : check whether or not to use -std=c++1y on the command line +AC_ARG_ENABLE(cxx1y, + AS_HELP_STRING([--enable-cxx1y], + [Use c++1y if available (default is NO)]),, enableval=default) case "$enableval" in - yes) AC_SUBST(ENABLE_CXX11,[1]) ;; - no) AC_SUBST(ENABLE_CXX11,[0]) ;; - default) AC_SUBST(ENABLE_CXX11,[0]);; - *) AC_MSG_ERROR([Invalid setting for --enable-cxx11. Use "yes" or "no"]) ;; + yes) AC_SUBST(ENABLE_CXX1Y,[1]) ;; + no) AC_SUBST(ENABLE_CXX1Y,[0]) ;; + default) AC_SUBST(ENABLE_CXX1Y,[0]);; + *) AC_MSG_ERROR([Invalid setting for --enable-cxx1y. Use "yes" or "no"]) ;; esac -dnl --enable-fission : check whether or not to use -gsplit-dwarf on the command +dnl --enable-split-dwarf : check whether or not to use -gsplit-dwarf on the command dnl line AC_ARG_ENABLE(split-dwarf, AS_HELP_STRING([--enable-split-dwarf], @@ -627,6 +635,20 @@ case "$enableval" in *) AC_MSG_ERROR([Invalid setting for --enable-clang-arcmt. Use "yes" or "no"]) ;; esac +dnl --enable-clang-plugin-support: check whether to enable plugins in clang +clang_plugin_support="yes" +AC_ARG_ENABLE(clang-plugin-support, + AS_HELP_STRING([--enable-clang-plugin-support], + [Enable plugin support in clang (default is YES)]), + clang_plugin_support="$enableval", + enableval="yes") +case "$enableval" in + yes) AC_SUBST(CLANG_PLUGIN_SUPPORT,[1]) ;; + no) AC_SUBST(CLANG_PLUGIN_SUPPORT,[0]) ;; + default) AC_SUBST(CLANG_PLUGIN_SUPPORT,[1]);; + *) AC_MSG_ERROR([Invalid setting for --enable-clang-plugin-support. Use "yes" or "no"]) ;; +esac + dnl --enable-clang-static-analyzer: check whether to enable static-analyzer clang_static_analyzer="yes" AC_ARG_ENABLE(clang-static-analyzer, @@ -646,26 +668,6 @@ case "$enableval" in *) AC_MSG_ERROR([Invalid setting for --enable-clang-static-analyzer. Use "yes" or "no"]) ;; esac -dnl --enable-clang-rewriter: check whether to enable clang rewriter -AC_ARG_ENABLE(clang-rewriter, - AS_HELP_STRING([--enable-clang-rewriter], - [Enable building of clang rewriter (default is YES)]),, - enableval="yes") -case "$enableval" in - yes) AC_SUBST(ENABLE_CLANG_REWRITER,[1]) ;; - no) - if test ${clang_arcmt} != "no" ; then - AC_MSG_ERROR([Cannot enable clang ARC Migration Tool while disabling rewriter.]) - fi - if test ${clang_static_analyzer} != "no" ; then - AC_MSG_ERROR([Cannot enable clang static analyzer while disabling rewriter.]) - fi - AC_SUBST(ENABLE_CLANG_REWRITER,[0]) - ;; - default) AC_SUBST(ENABLE_CLANG_REWRITER,[1]);; - *) AC_MSG_ERROR([Invalid setting for --enable-clang-rewriter. Use "yes" or "no"]) ;; -esac - dnl --enable-optimized : check whether they want to do an optimized build: AC_ARG_ENABLE(optimized, AS_HELP_STRING( --enable-optimized,[Compile with optimizations enabled (default is NO)]),,enableval=$optimize) @@ -757,7 +759,6 @@ else PowerPC) AC_SUBST(TARGET_HAS_JIT,1) ;; x86_64) AC_SUBST(TARGET_HAS_JIT,1) ;; ARM) AC_SUBST(TARGET_HAS_JIT,1) ;; - AArch64) AC_SUBST(TARGET_HAS_JIT,0) ;; Mips) AC_SUBST(TARGET_HAS_JIT,1) ;; XCore) AC_SUBST(TARGET_HAS_JIT,0) ;; MSP430) AC_SUBST(TARGET_HAS_JIT,0) ;; @@ -768,6 +769,9 @@ else esac fi +TARGETS_WITH_JIT="ARM AArch64 Mips PowerPC SystemZ X86" +AC_SUBST(TARGETS_WITH_JIT,$TARGETS_WITH_JIT) + dnl Allow enablement of building and installing docs AC_ARG_ENABLE(docs, AS_HELP_STRING([--enable-docs], @@ -917,18 +921,22 @@ if test "$llvm_cv_enable_crash_overrides" = "yes" ; then [Define to enable crash handling overrides]) fi +dnl List all possible targets +ALL_TARGETS="X86 Sparc PowerPC ARM AArch64 Mips XCore MSP430 CppBackend NVPTX Hexagon SystemZ R600" +AC_SUBST(ALL_TARGETS,$ALL_TARGETS) + dnl Allow specific targets to be specified for building (or not) TARGETS_TO_BUILD="" AC_ARG_ENABLE([targets],AS_HELP_STRING([--enable-targets], [Build specific host targets: all or target1,target2,... Valid targets are: - host, x86, x86_64, sparc, powerpc, arm, aarch64, mips, hexagon, + host, x86, x86_64, sparc, powerpc, arm64, arm, aarch64, mips, hexagon, xcore, msp430, nvptx, systemz, r600, and cpp (default=all)]),, enableval=all) if test "$enableval" = host-only ; then enableval=host fi case "$enableval" in - all) TARGETS_TO_BUILD="X86 Sparc PowerPC AArch64 ARM Mips XCore MSP430 CppBackend NVPTX Hexagon SystemZ R600" ;; + all) TARGETS_TO_BUILD="$ALL_TARGETS" ;; *)for a_target in `echo $enableval|sed -e 's/,/ /g' ` ; do case "$a_target" in x86) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;; @@ -936,6 +944,7 @@ case "$enableval" in sparc) TARGETS_TO_BUILD="Sparc $TARGETS_TO_BUILD" ;; powerpc) TARGETS_TO_BUILD="PowerPC $TARGETS_TO_BUILD" ;; aarch64) TARGETS_TO_BUILD="AArch64 $TARGETS_TO_BUILD" ;; + arm64) TARGETS_TO_BUILD="AArch64 $TARGETS_TO_BUILD" ;; arm) TARGETS_TO_BUILD="ARM $TARGETS_TO_BUILD" ;; mips) TARGETS_TO_BUILD="Mips $TARGETS_TO_BUILD" ;; mipsel) TARGETS_TO_BUILD="Mips $TARGETS_TO_BUILD" ;; @@ -1189,6 +1198,10 @@ AC_ARG_ENABLE(terminfo,AS_HELP_STRING( *) AC_MSG_ERROR([Invalid setting for --enable-terminfo. Use "yes" or "no"]) ;; esac], llvm_cv_enable_terminfo="yes") +case "$llvm_cv_enable_terminfo" in + yes) AC_SUBST(ENABLE_TERMINFO,[1]) ;; + no) AC_SUBST(ENABLE_TERMINFO,[0]) ;; +esac dnl --enable-libedit: check whether the user wants to turn off libedit. AC_ARG_ENABLE(libedit,AS_HELP_STRING( @@ -1223,12 +1236,10 @@ dnl=== SECTION 4: Check for programs we need and that they are the right version dnl=== dnl===-----------------------------------------------------------------------=== -AC_PROG_NM -AC_SUBST(NM) - dnl Check for the tools that the makefiles require AC_CHECK_GNU_MAKE AC_PROG_LN_S +AC_PATH_PROG(NM, [nm], [nm]) AC_PATH_PROG(CMP, [cmp], [cmp]) AC_PATH_PROG(CP, [cp], [cp]) AC_PATH_PROG(DATE, [date], [date]) @@ -1244,16 +1255,6 @@ AC_PATH_PROG(TAR, [tar], [gtar]) AC_PATH_PROG(BINPWD,[pwd], [pwd]) dnl Looking for misc. graph plotting software -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]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - GRAPHVIZ=`echo $GRAPHVIZ | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_GRAPHVIZ],"$GRAPHVIZ${EXEEXT}", - [Define to path to Graphviz program if found or 'echo Graphviz' otherwise]) -fi AC_PATH_PROG(DOT, [dot], [echo dot]) if test "$DOT" != "echo dot" ; then AC_DEFINE([HAVE_DOT],[1],[Define if the dot program is available]) @@ -1264,76 +1265,6 @@ if test "$DOT" != "echo dot" ; then AC_DEFINE_UNQUOTED([LLVM_PATH_DOT],"$DOT${EXEEXT}", [Define to path to dot program if found or 'echo dot' otherwise]) fi -AC_PATH_PROG(FDP, [fdp], [echo fdp]) -if test "$FDP" != "echo fdp" ; then - AC_DEFINE([HAVE_FDP],[1],[Define if the neat program is available]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - FDP=`echo $FDP | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_FDP],"$FDP${EXEEXT}", - [Define to path to fdp program if found or 'echo fdp' otherwise]) -fi -AC_PATH_PROG(NEATO, [neato], [echo neato]) -if test "$NEATO" != "echo neato" ; then - AC_DEFINE([HAVE_NEATO],[1],[Define if the neat program is available]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - NEATO=`echo $NEATO | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_NEATO],"$NEATO${EXEEXT}", - [Define to path to neato program if found or 'echo neato' otherwise]) -fi -AC_PATH_PROG(TWOPI, [twopi], [echo twopi]) -if test "$TWOPI" != "echo twopi" ; then - AC_DEFINE([HAVE_TWOPI],[1],[Define if the neat program is available]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - TWOPI=`echo $TWOPI | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_TWOPI],"$TWOPI${EXEEXT}", - [Define to path to twopi program if found or 'echo twopi' otherwise]) -fi -AC_PATH_PROG(CIRCO, [circo], [echo circo]) -if test "$CIRCO" != "echo circo" ; then - AC_DEFINE([HAVE_CIRCO],[1],[Define if the neat program is available]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - CIRCO=`echo $CIRCO | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_CIRCO],"$CIRCO${EXEEXT}", - [Define to path to circo program if found or 'echo circo' otherwise]) -fi -AC_PATH_PROGS(GV, [gv gsview32], [echo gv]) -if test "$GV" != "echo gv" ; then - AC_DEFINE([HAVE_GV],[1],[Define if the gv program is available]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - GV=`echo $GV | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_GV],"$GV${EXEEXT}", - [Define to path to gv program if found or 'echo gv' otherwise]) -fi -AC_PATH_PROG(DOTTY, [dotty], [echo dotty]) -if test "$DOTTY" != "echo dotty" ; then - AC_DEFINE([HAVE_DOTTY],[1],[Define if the dotty program is available]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - DOTTY=`echo $DOTTY | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_DOTTY],"$DOTTY${EXEEXT}", - [Define to path to dotty program if found or 'echo dotty' otherwise]) -fi -AC_PATH_PROGS(XDOT, [xdot xdot.py], [echo xdot]) -if test "$XDOT" != "echo xdot" ; then - AC_DEFINE([HAVE_XDOT],[1],[Define if the xdot program is available]) - dnl If we're targeting for mingw we should emit windows paths, not msys - if test "$llvm_cv_os_type" = "MingW" ; then - XDOT=`echo $XDOT | sed 's/^\/\([[A-Za-z]]\)\//\1:\//' ` - fi - AC_DEFINE_UNQUOTED([LLVM_PATH_XDOT],"$XDOT${EXEEXT}", - [Define to path to xdot program if found or 'echo xdot' otherwise]) -fi dnl Find the install program AC_PROG_INSTALL @@ -1374,11 +1305,15 @@ AC_LINK_EXPORT_DYNAMIC dnl Determine whether the linker supports the --version-script option. AC_LINK_VERSION_SCRIPT -dnl Check for libtool and the library that has dlopen function (which must come -dnl before the AC_PROG_LIBTOOL check in order to enable dlopening libraries with -dnl libtool). -AC_LIBTOOL_DLOPEN -AC_LIB_LTDL +AC_CHECK_HEADERS([errno.h]) + +case "$llvm_cv_os_type" in + Cygwin|MingW|Win32) llvm_shlib_ext=.dll ;; + Darwin) llvm_shlib_ext=.dylib ;; + *) llvm_shlib_ext=.so ;; +esac + +AC_DEFINE_UNQUOTED([LTDL_SHLIB_EXT], ["$llvm_shlib_ext"], [The shared library extension]) AC_MSG_CHECKING([tool compatibility]) @@ -1500,7 +1435,7 @@ if test "$llvm_cv_os_type" = "MingW" ; then fi dnl dlopen() is required for plugin support. -AC_SEARCH_LIBS(dlopen,dl,AC_DEFINE([HAVE_DLOPEN],[1], +AC_SEARCH_LIBS(dlopen,dl,LLVM_DEFINE_SUBST([HAVE_DLOPEN],[1], [Define if dlopen() is available on this platform.]), AC_MSG_WARN([dlopen() not found - disabling plugin support])) @@ -1513,8 +1448,8 @@ dnl The curses library is optional; used for querying terminal info if test "$llvm_cv_enable_terminfo" = "yes" ; then dnl We need the has_color functionality in curses for it to be useful. AC_SEARCH_LIBS(setupterm,tinfo terminfo curses ncurses ncursesw, - AC_DEFINE([HAVE_TERMINFO],[1], - [Define if the setupterm() function is supported this platform.])) + LLVM_DEFINE_SUBST([HAVE_TERMINFO],[1], + [Define if the setupterm() function is supported this platform.])) fi dnl The libedit library is optional; used by lib/LineEditor @@ -1555,25 +1490,6 @@ if test "$LLVM_ENABLE_ZLIB" -eq 1 ; then AC_CHECK_LIB(z, compress2) fi -dnl Allow extra x86-disassembler library -AC_ARG_WITH(udis86, - AS_HELP_STRING([--with-udis86=], - [Use udis86 external x86 disassembler library]), - [ - AC_SUBST(USE_UDIS86, [1]) - case "$withval" in - /usr/lib|yes) ;; - *) LDFLAGS="$LDFLAGS -L${withval}" ;; - esac - AC_CHECK_LIB(udis86, ud_init, [], [ - echo "Error! You need to have libudis86 around." - exit -1 - ]) - ], - AC_SUBST(USE_UDIS86, [0])) -AC_DEFINE_UNQUOTED([USE_UDIS86],$USE_UDIS86, - [Define if use udis86 library]) - dnl Allow OProfile support for JIT output. AC_ARG_WITH(oprofile, AS_HELP_STRING([--with-oprofile=], @@ -1757,13 +1673,16 @@ AC_CHECK_FUNCS([log log2 log10 exp exp2]) AC_CHECK_FUNCS([getpagesize getrusage getrlimit setrlimit gettimeofday ]) AC_CHECK_FUNCS([isatty mkdtemp mkstemp ]) AC_CHECK_FUNCS([mktemp posix_spawn pread realpath sbrk setrlimit ]) -AC_CHECK_FUNCS([strerror strerror_r setenv arc4random ]) +AC_CHECK_FUNCS([strerror strerror_r setenv ]) AC_CHECK_FUNCS([strtoll strtoq sysconf malloc_zone_statistics ]) AC_CHECK_FUNCS([setjmp longjmp sigsetjmp siglongjmp writev]) AC_CHECK_FUNCS([futimes futimens]) AC_C_PRINTF_A AC_FUNC_RAND48 +dnl Check for arc4random accessible via AC_INCLUDES_DEFAULT. +AC_CHECK_DECLS([arc4random]) + dnl Check the declaration "Secure API" on Windows environments. AC_CHECK_DECLS([strerror_s]) @@ -1885,11 +1804,7 @@ AC_CHECK_FUNCS([__dso_handle]) dnl Propagate the shared library extension that the libltdl checks did to dnl the Makefiles so we can use it there too -AC_SUBST(SHLIBEXT,$libltdl_cv_shlibext) - -dnl Propagate the run-time library path variable that the libltdl -dnl checks found to the Makefiles so we can use it there too -AC_SUBST(SHLIBPATH_VAR,$libltdl_cv_shlibpath_var) +AC_SUBST(SHLIBEXT,$llvm_shlib_ext) dnl Translate the various configuration directories and other basic dnl information into substitutions that will end up in Makefile.config.in