From afc0578da2868f99075be48f4291bf13cf3c9b10 Mon Sep 17 00:00:00 2001 From: fxcoudert Date: Fri, 13 Dec 2013 21:42:02 +0000 Subject: [PATCH] * configure.ac: Add user-friendly check for native x86_64-linux multilibs. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205975 138bc75d-0d04-0410-961f-82ee72b054a4 --- ChangeLog | 6 ++++++ configure | 20 ++++++++++++++++++++ configure.ac | 20 ++++++++++++++++++++ 3 files changed, 46 insertions(+) diff --git a/ChangeLog b/ChangeLog index f66f5523f5..2d78f36277 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-12-13 Francois-Xavier Coudert + + * configure.ac: Add user-friendly check for native x86_64-linux + multilibs. + * configure: Regenerate. + 2013-11-23 Alan Modra * config.sub, config.guess: Import from upstream. diff --git a/configure b/configure index d4a82137ba..749a35ea0a 100755 --- a/configure +++ b/configure @@ -7500,6 +7500,26 @@ if test x${is_cross_compiler} = xyes ; then target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}" fi +# Special user-friendly check for native x86_64-linux build, if +# multilib is not explicitly enabled. +case "$target:$have_compiler:$host:$target:$enable_multilib" in + x86_64-*linux*:yes:$build:$build:) + # Make sure we have a developement environment that handles 32-bit + dev64=no + echo "int main () { return 0; }" > conftest.c + ${CC} -m32 -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c + if test $? = 0 ; then + if test -s conftest || test -s conftest.exe ; then + dev64=yes + fi + fi + rm -f conftest* + if test x${dev64} != xyes ; then + as_fn_error "I suspect your system does not have 32-bit developement libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib." "$LINENO" 5 + fi + ;; +esac + # Default to --enable-multilib. if test x${enable_multilib} = x ; then target_configargs="--enable-multilib ${target_configargs}" diff --git a/configure.ac b/configure.ac index 30190d65be..b24b33de78 100644 --- a/configure.ac +++ b/configure.ac @@ -2879,6 +2879,26 @@ if test x${is_cross_compiler} = xyes ; then target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}" fi +# Special user-friendly check for native x86_64-linux build, if +# multilib is not explicitly enabled. +case "$target:$have_compiler:$host:$target:$enable_multilib" in + x86_64-*linux*:yes:$build:$build:) + # Make sure we have a developement environment that handles 32-bit + dev64=no + echo "int main () { return 0; }" > conftest.c + ${CC} -m32 -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c + if test $? = 0 ; then + if test -s conftest || test -s conftest.exe ; then + dev64=yes + fi + fi + rm -f conftest* + if test x${dev64} != xyes ; then + AC_MSG_ERROR([I suspect your system does not have 32-bit developement libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.]) + fi + ;; +esac + # Default to --enable-multilib. if test x${enable_multilib} = x ; then target_configargs="--enable-multilib ${target_configargs}"