mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Use the CXX compiler only if it can create dynamic and static programs
* configure.ac (CXX): Clear the variable if the C++ toolchain does not support static linking. * configure: Regenerate.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2015-10-26 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac (CXX): Clear the variable if the C++ toolchain does
|
||||||
|
not support static linking.
|
||||||
|
* configure: Regenerate.
|
||||||
|
|
||||||
2015-10-23 Joseph Myers <joseph@codesourcery.com>
|
2015-10-23 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* math/libm-test.inc (check_float_internal): Do not special-case
|
* math/libm-test.inc (check_float_internal): Do not special-case
|
||||||
|
25
configure
vendored
25
configure
vendored
@ -3173,6 +3173,7 @@ 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_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||||
|
|
||||||
|
# Default, dynamic case.
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
|
||||||
@ -3191,6 +3192,30 @@ else
|
|||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
# Static case.
|
||||||
|
old_LDFLAGS="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS -static"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
std::cout << "Hello, world!";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_cxx_try_link "$LINENO"; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
libc_cv_cxx_link_ok=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LDFLAGS="$old_LDFLAGS"
|
||||||
ac_ext=c
|
ac_ext=c
|
||||||
ac_cpp='$CPP $CPPFLAGS'
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
17
configure.ac
17
configure.ac
@ -57,9 +57,26 @@ AC_PROG_CXX
|
|||||||
# It's useless to us if it can't link programs (e.g. missing -lstdc++).
|
# It's useless to us if it can't link programs (e.g. missing -lstdc++).
|
||||||
AC_CACHE_CHECK([whether $CXX can link programs], libc_cv_cxx_link_ok, [dnl
|
AC_CACHE_CHECK([whether $CXX can link programs], libc_cv_cxx_link_ok, [dnl
|
||||||
AC_LANG_PUSH([C++])
|
AC_LANG_PUSH([C++])
|
||||||
|
# Default, dynamic case.
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
|
||||||
[libc_cv_cxx_link_ok=yes],
|
[libc_cv_cxx_link_ok=yes],
|
||||||
[libc_cv_cxx_link_ok=no])
|
[libc_cv_cxx_link_ok=no])
|
||||||
|
# Static case.
|
||||||
|
old_LDFLAGS="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS -static"
|
||||||
|
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
std::cout << "Hello, world!";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
])],
|
||||||
|
[],
|
||||||
|
[libc_cv_cxx_link_ok=no])
|
||||||
|
LDFLAGS="$old_LDFLAGS"
|
||||||
AC_LANG_POP([C++])])
|
AC_LANG_POP([C++])])
|
||||||
AS_IF([test $libc_cv_cxx_link_ok != yes], [CXX=])
|
AS_IF([test $libc_cv_cxx_link_ok != yes], [CXX=])
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user