diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-02-03 00:59:30 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-02-03 00:59:30 +0000 |
commit | 1aee22e0720932a82dd3bf3fc8be804fff6bb89a (patch) | |
tree | 38dad0e5120cf2ed64a699a2ba869c6c9f98e3a7 | |
parent | 871a2051f7d49827259d719a97b8cc86163edbd9 (diff) | |
download | external_llvm-1aee22e0720932a82dd3bf3fc8be804fff6bb89a.zip external_llvm-1aee22e0720932a82dd3bf3fc8be804fff6bb89a.tar.gz external_llvm-1aee22e0720932a82dd3bf3fc8be804fff6bb89a.tar.bz2 |
Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain
that just uses the new toolchain probing logic. This fixes linking with -m32 on
64 bit systems (the /32 dir was not being added to the search).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149651 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | autoconf/configure.ac | 34 | ||||
-rwxr-xr-x | configure | 62 | ||||
-rw-r--r-- | include/llvm/Config/config.h.cmake | 13 | ||||
-rw-r--r-- | include/llvm/Config/config.h.in | 15 | ||||
-rw-r--r-- | projects/sample/autoconf/configure.ac | 34 | ||||
-rwxr-xr-x | projects/sample/configure | 62 | ||||
-rwxr-xr-x | utils/llvm-compilers-check | 14 |
7 files changed, 45 insertions, 189 deletions
diff --git a/autoconf/configure.ac b/autoconf/configure.ac index 6316be9..f6d6d9f 100644 --- a/autoconf/configure.ac +++ b/autoconf/configure.ac @@ -833,33 +833,15 @@ AC_ARG_WITH(c-include-dirs, AC_DEFINE_UNQUOTED(C_INCLUDE_DIRS,"$withval", [Directories clang will search for headers]) -AC_ARG_WITH(cxx-include-root, - AS_HELP_STRING([--with-cxx-include-root], - [Directory with the libstdc++ headers.]),, +# Clang normally uses the system c++ headers and libraries. With this option, +# clang will use the ones provided by a gcc installation instead. This option should +# be passed the same value that was used with --prefix when configuring gcc. +AC_ARG_WITH(gcc-toolchain, + AS_HELP_STRING([--with-gcc-toolchain], + [Directory where gcc is installed.]),, withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_ROOT,"$withval", - [Directory with the libstdc++ headers.]) - -AC_ARG_WITH(cxx-include-arch, - AS_HELP_STRING([--with-cxx-include-arch], - [Architecture of the libstdc++ headers.]),, - withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_ARCH,"$withval", - [Arch the libstdc++ headers.]) - -AC_ARG_WITH(cxx-include-32bit-dir, - AS_HELP_STRING([--with-cxx-include-32bit-dir], - [32 bit multilib dir.]),, - withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_32BIT_DIR,"$withval", - [32 bit multilib directory.]) - -AC_ARG_WITH(cxx-include-64bit-dir, - AS_HELP_STRING([--with-cxx-include-64bit-dir], - [64 bit multilib directory.]),, - withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_64BIT_DIR,"$withval", - [64 bit multilib directory.]) +AC_DEFINE_UNQUOTED(GCC_INSTALL_PREFIX,"$withval", + [Directory where gcc is installed.]) dnl Allow linking of LLVM with GPLv3 binutils code. AC_ARG_WITH(binutils-include, @@ -1442,12 +1442,7 @@ Optional Packages: resource files --with-c-include-dirs Colon separated list of directories clang will search for headers - --with-cxx-include-root Directory with the libstdc++ headers. - --with-cxx-include-arch Architecture of the libstdc++ headers. - --with-cxx-include-32bit-dir - 32 bit multilib dir. - --with-cxx-include-64bit-dir - 64 bit multilib directory. + --with-gcc-toolchain Directory where gcc is installed. --with-binutils-include Specify path to binutils/include/ containing plugin-api.h file for gold plugin. --with-bug-report-url Specify the URL where bug reports should be @@ -5570,59 +5565,20 @@ cat >>confdefs.h <<_ACEOF _ACEOF +# Clang normally uses the system c++ headers and libraries. With this option, +# clang will use the ones provided by a gcc installation instead. This option should +# be passed the same value that was used with --prefix when configuring gcc. -# Check whether --with-cxx-include-root was given. -if test "${with_cxx_include_root+set}" = set; then - withval=$with_cxx_include_root; +# Check whether --with-gcc-toolchain was given. +if test "${with_gcc_toolchain+set}" = set; then + withval=$with_gcc_toolchain; else withval="" fi cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_ROOT "$withval" -_ACEOF - - - -# Check whether --with-cxx-include-arch was given. -if test "${with_cxx_include_arch+set}" = set; then - withval=$with_cxx_include_arch; -else - withval="" -fi - - -cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_ARCH "$withval" -_ACEOF - - - -# Check whether --with-cxx-include-32bit-dir was given. -if test "${with_cxx_include_32bit_dir+set}" = set; then - withval=$with_cxx_include_32bit_dir; -else - withval="" -fi - - -cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_32BIT_DIR "$withval" -_ACEOF - - - -# Check whether --with-cxx-include-64bit-dir was given. -if test "${with_cxx_include_64bit_dir+set}" = set; then - withval=$with_cxx_include_64bit_dir; -else - withval="" -fi - - -cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_64BIT_DIR "$withval" +#define GCC_INSTALL_PREFIX "$withval" _ACEOF @@ -10497,7 +10453,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10500 "configure" +#line 10456 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/include/llvm/Config/config.h.cmake b/include/llvm/Config/config.h.cmake index b4356b1..8d913e9 100644 --- a/include/llvm/Config/config.h.cmake +++ b/include/llvm/Config/config.h.cmake @@ -11,17 +11,8 @@ /* Relative directory for resource files */ #define CLANG_RESOURCE_DIR "${CLANG_RESOURCE_DIR}" -/* 32 bit multilib directory. */ -#define CXX_INCLUDE_32BIT_DIR "${CXX_INCLUDE_32BIT_DIR}" - -/* 64 bit multilib directory. */ -#define CXX_INCLUDE_64BIT_DIR "${CXX_INCLUDE_64BIT_DIR}" - -/* Arch the libstdc++ headers. */ -#define CXX_INCLUDE_ARCH "${CXX_INCLUDE_ARCH}" - -/* Directory with the libstdc++ headers. */ -#define CXX_INCLUDE_ROOT "${CXX_INCLUDE_ROOT}" +/* Directory wherelibstdc++ is installed. */ +#define GCC_INSTALL_PREFIX "${GCC_INSTALL_PREFIX}" /* Directories clang will search for headers */ #define C_INCLUDE_DIRS "${C_INCLUDE_DIRS}" diff --git a/include/llvm/Config/config.h.in b/include/llvm/Config/config.h.in index 30afa58..3b20355 100644 --- a/include/llvm/Config/config.h.in +++ b/include/llvm/Config/config.h.in @@ -9,18 +9,6 @@ /* Relative directory for resource files */ #undef CLANG_RESOURCE_DIR -/* 32 bit multilib directory. */ -#undef CXX_INCLUDE_32BIT_DIR - -/* 64 bit multilib directory. */ -#undef CXX_INCLUDE_64BIT_DIR - -/* Arch the libstdc++ headers. */ -#undef CXX_INCLUDE_ARCH - -/* Directory with the libstdc++ headers. */ -#undef CXX_INCLUDE_ROOT - /* Directories clang will search for headers */ #undef C_INCLUDE_DIRS @@ -33,6 +21,9 @@ /* Define if timestamp information (e.g., __DATE___) is allowed */ #undef ENABLE_TIMESTAMPS +/* Directory where gcc is installed. */ +#undef GCC_INSTALL_PREFIX + /* Define to 1 if you have the `argz_append' function. */ #undef HAVE_ARGZ_APPEND diff --git a/projects/sample/autoconf/configure.ac b/projects/sample/autoconf/configure.ac index a19e87d..1caff51 100644 --- a/projects/sample/autoconf/configure.ac +++ b/projects/sample/autoconf/configure.ac @@ -745,33 +745,15 @@ AC_ARG_WITH(c-include-dirs, AC_DEFINE_UNQUOTED(C_INCLUDE_DIRS,"$withval", [Directories clang will search for headers]) -AC_ARG_WITH(cxx-include-root, - AS_HELP_STRING([--with-cxx-include-root], - [Directory with the libstdc++ headers.]),, +# Clang normally uses the system c++ headers and libraries. With this option, +# clang will use the ones provided by a gcc installation instead. This option should +# be passed the same value that was used with --prefix when configuring gcc. +AC_ARG_WITH(gcc-toolchain, + AS_HELP_STRING([--with-gcc-toolchain], + [Directory where gcc is installed.]),, withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_ROOT,"$withval", - [Directory with the libstdc++ headers.]) - -AC_ARG_WITH(cxx-include-arch, - AS_HELP_STRING([--with-cxx-include-arch], - [Architecture of the libstdc++ headers.]),, - withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_ARCH,"$withval", - [Arch the libstdc++ headers.]) - -AC_ARG_WITH(cxx-include-32bit-dir, - AS_HELP_STRING([--with-cxx-include-32bit-dir], - [32 bit multilib dir.]),, - withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_32BIT_DIR,"$withval", - [32 bit multilib directory.]) - -AC_ARG_WITH(cxx-include-64bit-dir, - AS_HELP_STRING([--with-cxx-include-64bit-dir], - [64 bit multilib directory.]),, - withval="") -AC_DEFINE_UNQUOTED(CXX_INCLUDE_64BIT_DIR,"$withval", - [64 bit multilib directory.]) +AC_DEFINE_UNQUOTED(GCC_INSTALL_PREFIX,"$withval", + [Directory where gcc is installed.]) dnl Allow linking of LLVM with GPLv3 binutils code. AC_ARG_WITH(binutils-include, diff --git a/projects/sample/configure b/projects/sample/configure index 418f2ea..dab1dc5 100755 --- a/projects/sample/configure +++ b/projects/sample/configure @@ -1426,12 +1426,7 @@ Optional Packages: resource files --with-c-include-dirs Colon separated list of directories clang will search for headers - --with-cxx-include-root Directory with the libstdc++ headers. - --with-cxx-include-arch Architecture of the libstdc++ headers. - --with-cxx-include-32bit-dir - 32 bit multilib dir. - --with-cxx-include-64bit-dir - 64 bit multilib directory. + --with-gcc-toolchain Directory where gcc is installed. --with-binutils-include Specify path to binutils/include/ containing plugin-api.h file for gold plugin. --with-bug-report-url Specify the URL where bug reports should be @@ -5493,59 +5488,20 @@ cat >>confdefs.h <<_ACEOF _ACEOF +# Clang normally uses the system c++ headers and libraries. With this option, +# clang will use the ones provided by a gcc installation instead. This option should +# be passed the same value that was used with --prefix when configuring gcc. -# Check whether --with-cxx-include-root was given. -if test "${with_cxx_include_root+set}" = set; then - withval=$with_cxx_include_root; +# Check whether --with-gcc-toolchain was given. +if test "${with_gcc_toolchain+set}" = set; then + withval=$with_gcc_toolchain; else withval="" fi cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_ROOT "$withval" -_ACEOF - - - -# Check whether --with-cxx-include-arch was given. -if test "${with_cxx_include_arch+set}" = set; then - withval=$with_cxx_include_arch; -else - withval="" -fi - - -cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_ARCH "$withval" -_ACEOF - - - -# Check whether --with-cxx-include-32bit-dir was given. -if test "${with_cxx_include_32bit_dir+set}" = set; then - withval=$with_cxx_include_32bit_dir; -else - withval="" -fi - - -cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_32BIT_DIR "$withval" -_ACEOF - - - -# Check whether --with-cxx-include-64bit-dir was given. -if test "${with_cxx_include_64bit_dir+set}" = set; then - withval=$with_cxx_include_64bit_dir; -else - withval="" -fi - - -cat >>confdefs.h <<_ACEOF -#define CXX_INCLUDE_64BIT_DIR "$withval" +#define GCC_INSTALL_PREFIX "$withval" _ACEOF @@ -10409,7 +10365,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10412 "configure" +#line 10368 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/utils/llvm-compilers-check b/utils/llvm-compilers-check index f7eecfc..623ebc6 100755 --- a/utils/llvm-compilers-check +++ b/utils/llvm-compilers-check @@ -347,28 +347,26 @@ class Builder(threading.Thread): # Assume we're building with gcc for now. cxxincludes = self.get_includes() - cxxroot = cxxincludes[0] - cxxarch = os.path.basename(cxxincludes[1]) + cxxroot = os.path.dirname(cxxincludes[0]) # Remove the version + cxxroot = os.path.dirname(cxxroot) # Remove the c++ + cxxroot = os.path.dirname(cxxroot) # Remove the include configure_flags = dict( llvm=dict(debug=["--prefix=" + self.install_prefix, "--with-extra-options=-Werror", "--enable-assertions", "--disable-optimized", - "--with-cxx-include-root=" + cxxroot, - "--with-cxx-include-arch=" + cxxarch], + "--with-gcc-toolchain=" + cxxroot], release=["--prefix=" + self.install_prefix, "--with-extra-options=-Werror", "--enable-optimized", - "--with-cxx-include-root=" + cxxroot, - "--with-cxx-include-arch=" + cxxarch], + "--with-gcc-toolchain=" + cxxroot], paranoid=["--prefix=" + self.install_prefix, "--with-extra-options=-Werror", "--enable-assertions", "--enable-expensive-checks", "--disable-optimized", - "--with-cxx-include-root=" + cxxroot, - "--with-cxx-include-arch=" + cxxarch]), + "--with-gcc-toolchain=" + cxxroot]), dragonegg=dict(debug=[], release=[], paranoid=[])) |