aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-02-03 00:59:30 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-02-03 00:59:30 +0000
commit1aee22e0720932a82dd3bf3fc8be804fff6bb89a (patch)
tree38dad0e5120cf2ed64a699a2ba869c6c9f98e3a7
parent871a2051f7d49827259d719a97b8cc86163edbd9 (diff)
downloadexternal_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.ac34
-rwxr-xr-xconfigure62
-rw-r--r--include/llvm/Config/config.h.cmake13
-rw-r--r--include/llvm/Config/config.h.in15
-rw-r--r--projects/sample/autoconf/configure.ac34
-rwxr-xr-xprojects/sample/configure62
-rwxr-xr-xutils/llvm-compilers-check14
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,
diff --git a/configure b/configure
index 77a7e81..2c99b4f 100755
--- a/configure
+++ b/configure
@@ -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=[]))