Commit 5427046f by Ian Lance Taylor Committed by Ian Lance Taylor

configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX.

	* configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX.  Check for C++
	header files unordered_map, tr1/unordered_map, and ext/hash_map.
	* configure, config.in: Rebuild.

From-SVN: r167396
parent 205e4c6a
2010-12-02 Ian Lance Taylor <iant@google.com>
* configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++
header files unordered_map, tr1/unordered_map, and ext/hash_map.
* configure, config.in: Rebuild.
2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
PR target/46685
......@@ -45,6 +45,12 @@
#endif
/* Define if building with C++. */
#ifndef USED_FOR_TARGET
#undef ENABLE_BUILD_WITH_CXX
#endif
/* Define if you want more run-time sanity checks. This one gets a grab bag of
miscellaneous but relatively cheap checks. */
#ifndef USED_FOR_TARGET
......@@ -832,6 +838,12 @@
#endif
/* Define to 1 if you have the <ext/hash_map> header file. */
#ifndef USED_FOR_TARGET
#undef HAVE_EXT_HASH_MAP
#endif
/* Define to 1 if you have the <fcntl.h> header file. */
#ifndef USED_FOR_TARGET
#undef HAVE_FCNTL_H
......@@ -1419,6 +1431,12 @@
#endif
/* Define to 1 if you have the <tr1/unordered_map> header file. */
#ifndef USED_FOR_TARGET
#undef HAVE_TR1_UNORDERED_MAP
#endif
/* Define to 1 if the system has the type `uintmax_t'. */
#ifndef USED_FOR_TARGET
#undef HAVE_UINTMAX_T
......@@ -1437,6 +1455,12 @@
#endif
/* Define to 1 if you have the <unordered_map> header file. */
#ifndef USED_FOR_TARGET
#undef HAVE_UNORDERED_MAP
#endif
/* Define to 1 if the system has the type `unsigned long long int'. */
#ifndef USED_FOR_TARGET
#undef HAVE_UNSIGNED_LONG_LONG_INT
......
......@@ -688,7 +688,6 @@ ORIGINAL_AS_FOR_TARGET
gcc_cv_as
enable_fast_install
objdir
CXXCPP
OTOOL64
OTOOL
LIPO
......@@ -734,6 +733,7 @@ LIBICONV
LDEXP_LIB
GNAT_LIBEXC
COLLECT2_LIBS
CXXCPP
AR
NM
BISON
......@@ -2462,6 +2462,72 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_header_preproc
# ac_fn_cxx_try_cpp LINENO
# ------------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
} # ac_fn_cxx_try_cpp
# ac_fn_cxx_check_header_preproc LINENO HEADER VAR
# ------------------------------------------------
# Tests whether HEADER is present, setting the cache variable VAR accordingly.
ac_fn_cxx_check_header_preproc ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <$2>
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
fi
rm -f conftest.err conftest.$ac_ext
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_cxx_check_header_preproc
# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
......@@ -2529,43 +2595,6 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_func
# ac_fn_cxx_try_cpp LINENO
# ------------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
} # ac_fn_cxx_try_cpp
# ac_fn_cxx_try_link LINENO
# -------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
......@@ -6815,6 +6844,11 @@ else
fi
if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
$as_echo "#define ENABLE_BUILD_WITH_CXX 1" >>confdefs.h
fi
# With stabs
......@@ -8390,6 +8424,193 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
esac
# ----------------------
# Checks for C++ headers
# ----------------------
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
for CXXCPP in "$CXX -E" "/lib/cpp"
do
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
break
fi
done
ac_cv_prog_CXXCPP=$CXXCPP
fi
CXXCPP=$ac_cv_prog_CXXCPP
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
$as_echo "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details." "$LINENO" 5; }
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
for ac_header in unordered_map
do :
ac_fn_cxx_check_header_preproc "$LINENO" "unordered_map" "ac_cv_header_unordered_map"
if test "x$ac_cv_header_unordered_map" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_UNORDERED_MAP 1
_ACEOF
fi
done
for ac_header in tr1/unordered_map
do :
ac_fn_cxx_check_header_preproc "$LINENO" "tr1/unordered_map" "ac_cv_header_tr1_unordered_map"
if test "x$ac_cv_header_tr1_unordered_map" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_TR1_UNORDERED_MAP 1
_ACEOF
fi
done
for ac_header in ext/hash_map
do :
ac_fn_cxx_check_header_preproc "$LINENO" "ext/hash_map" "ac_cv_header_ext_hash_map"
if test "x$ac_cv_header_ext_hash_map" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_EXT_HASH_MAP 1
_ACEOF
fi
done
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# --------
# UNSORTED
# --------
......@@ -13804,7 +14025,6 @@ done
# Set options
......@@ -17286,7 +17506,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 17289 "configure"
#line 17509 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
......@@ -17392,7 +17612,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 17395 "configure"
#line 17615 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
......
......@@ -589,6 +589,10 @@ AC_ARG_ENABLE(build-with-cxx,
ENABLE_BUILD_WITH_CXX=$enableval,
ENABLE_BUILD_WITH_CXX=no)
AC_SUBST(ENABLE_BUILD_WITH_CXX)
if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
AC_DEFINE(ENABLE_BUILD_WITH_CXX, 1,
[Define if building with C++.])
fi
# With stabs
AC_ARG_WITH(stabs,
......@@ -905,6 +909,18 @@ AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
gcc_AC_C_CHAR_BIT
AC_C_BIGENDIAN
# ----------------------
# Checks for C++ headers
# ----------------------
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS(unordered_map)
AC_CHECK_HEADERS(tr1/unordered_map)
AC_CHECK_HEADERS(ext/hash_map)
AC_LANG_POP(C++)
# --------
# UNSORTED
# --------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment