summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2011-11-11 22:51:42 +0000
committerEric Christopher <echristo@apple.com>2011-11-11 22:51:42 +0000
commitbee515f66baf4f7858d30c2fe6657d35f177dfcd (patch)
tree7021bd540f4cf03404871704458e01ae7c48dc02
parentc3937b97c00a857dff3528895e71ecfbc7ff3a28 (diff)
Add an option '--enable-libcpp' that will have the compiler pass on
options to use libc++ as the default c++ library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144413 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--Makefile1
-rw-r--r--Makefile.config.in4
-rw-r--r--Makefile.rules6
-rw-r--r--autoconf/configure.ac12
-rwxr-xr-xconfigure32
5 files changed, 48 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 016768e72e4..cc47f0d9cf9 100644
--- a/Makefile
+++ b/Makefile
@@ -131,6 +131,7 @@ cross-compile-build-tools:
ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
+ ENABLE_LIBCPP=$(ENABLE_LIBCPP) \
CFLAGS= \
CXXFLAGS= \
) || exit 1;
diff --git a/Makefile.config.in b/Makefile.config.in
index 3961cc96c79..47044a3a8d3 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -208,6 +208,10 @@ RDYNAMIC := @RDYNAMIC@
# These are options that can either be enabled here, or can be enabled on the
# make command line (ie, make ENABLE_PROFILING=1):
+# When ENABLE_LIBCPP is enabled, LLVM uses libc++ by default to build.
+#ENABLE_LIBCPP = 0
+ENABLE_LIBCPP = @ENABLE_LIBCPP@
+
# When ENABLE_OPTIMIZED is enabled, LLVM code is optimized and output is put
# into the "Release" directories. Otherwise, LLVM code is not optimized and
# output is put in the "Debug" directories.
diff --git a/Makefile.rules b/Makefile.rules
index 6b68cf2c6b8..49f5edd9d84 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -301,8 +301,10 @@ else
endif
endif
-#CXX.Flags += -stdlib=libc++
-#LD.Flags += -stdlib=libc++
+ifeq ($(ENABLE_LIBCPP),1)
+ CXX.Flags += -stdlib=libc++
+ LD.Flags += -stdlib=libc++
+endif
ifeq ($(ENABLE_PROFILING),1)
BuildMode := $(BuildMode)+Profile
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index 6e9d8485866..090f5dc12d6 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -415,6 +415,18 @@ dnl=== SECTION 3: Command line arguments for the configure script.
dnl===
dnl===-----------------------------------------------------------------------===
+dnl --enable-libcpp : check whether or not to use libc++ on the command line
+AC_ARG_ENABLE(libcpp,
+ AS_HELP_STRING([--enable-libcpp],
+ [Use libc++ if available (default is NO)]),,
+ enableval=default)
+case "$enableval" in
+ yes) AC_SUBST(ENABLE_LIBCPP,[1]) ;;
+ no) AC_SUBST(ENABLE_LIBCPP,[0]) ;;
+ default) AC_SUBST(ENABLE_LIBCPP,[0]);;
+ *) AC_MSG_ERROR([Invalid setting for --enable-libcpp. 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)
diff --git a/configure b/configure
index ae6be9d535e..09173d257f3 100755
--- a/configure
+++ b/configure
@@ -682,6 +682,7 @@ BUILD_CC
BUILD_EXEEXT
BUILD_CXX
CVSBUILD
+ENABLE_LIBCPP
ENABLE_OPTIMIZED
ENABLE_PROFILING
DISABLE_ASSERTIONS
@@ -1389,6 +1390,7 @@ Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-polly Use polly if available (default is YES)
+ --enable-libcpp Use libc++ if available (default is NO)
--enable-optimized Compile with optimizations enabled (default is NO)
--enable-profiling Compile with profiling enabled (default is NO)
--enable-assertions Compile with assertion checks enabled (default is
@@ -1415,8 +1417,8 @@ Optional Features:
(default is YES)
--enable-targets Build specific host targets: all or
target1,target2,... Valid targets are: host, x86,
- x86_64, sparc, powerpc, arm, mips, spu,
- xcore, msp430, ptx, cbe, and cpp (default=all)
+ x86_64, sparc, powerpc, arm, mips, spu, xcore,
+ msp430, ptx, cbe, and cpp (default=all)
--enable-cbe-printf-a Enable C Backend output with hex floating point via
%a (default is YES)
--enable-bindings Build specific language bindings:
@@ -4956,6 +4958,25 @@ else
fi
+# Check whether --enable-libcpp was given.
+if test "${enable_libcpp+set}" = set; then
+ enableval=$enable_libcpp;
+else
+ enableval=default
+fi
+
+case "$enableval" in
+ yes) ENABLE_LIBCPP=1
+ ;;
+ no) ENABLE_LIBCPP=0
+ ;;
+ default) ENABLE_LIBCPP=0
+;;
+ *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-libcpp. Use \"yes\" or \"no\"" >&5
+echo "$as_me: error: Invalid setting for --enable-libcpp. Use \"yes\" or \"no\"" >&2;}
+ { (exit 1); exit 1; }; } ;;
+esac
+
# Check whether --enable-optimized was given.
if test "${enable_optimized+set}" = set; then
enableval=$enable_optimized;
@@ -10455,7 +10476,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10463 "configure"
+#line 10479 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -21845,6 +21866,7 @@ BUILD_CC!$BUILD_CC$ac_delim
BUILD_EXEEXT!$BUILD_EXEEXT$ac_delim
BUILD_CXX!$BUILD_CXX$ac_delim
CVSBUILD!$CVSBUILD$ac_delim
+ENABLE_LIBCPP!$ENABLE_LIBCPP$ac_delim
ENABLE_OPTIMIZED!$ENABLE_OPTIMIZED$ac_delim
ENABLE_PROFILING!$ENABLE_PROFILING$ac_delim
DISABLE_ASSERTIONS!$DISABLE_ASSERTIONS$ac_delim
@@ -21861,7 +21883,6 @@ ENABLE_PTHREADS!$ENABLE_PTHREADS$ac_delim
ENABLE_PIC!$ENABLE_PIC$ac_delim
ENABLE_SHARED!$ENABLE_SHARED$ac_delim
ENABLE_EMBED_STDCXX!$ENABLE_EMBED_STDCXX$ac_delim
-ENABLE_TIMESTAMPS!$ENABLE_TIMESTAMPS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -21903,6 +21924,7 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
+ENABLE_TIMESTAMPS!$ENABLE_TIMESTAMPS$ac_delim
TARGETS_TO_BUILD!$TARGETS_TO_BUILD$ac_delim
LLVM_ENUM_TARGETS!$LLVM_ENUM_TARGETS$ac_delim
LLVM_ENUM_ASM_PRINTERS!$LLVM_ENUM_ASM_PRINTERS$ac_delim
@@ -21994,7 +22016,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 90; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5