[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r1485 - in /branches/eglibc-2_5/libc: ChangeLog.eglibc configure configure.in nptl/sysdeps/pthread/configure.in



Author: jimb
Date: Fri Feb 16 14:41:46 2007
New Revision: 1485

Log:
	Make configuration script more friendly to cross-compilation.
	* configure.in: Require at least binutils 2.17 and GCC 4.1.
	* configure: Regenerated.
	* nptl/sysdeps/pthread/configure.in: Disable link tests for forced
	unwinding and C cleanup handling; always #define
	HAVE_FORCED_UNWIND and set libc_cv_c_cleanup.

Modified:
    branches/eglibc-2_5/libc/ChangeLog.eglibc
    branches/eglibc-2_5/libc/configure
    branches/eglibc-2_5/libc/configure.in
    branches/eglibc-2_5/libc/nptl/sysdeps/pthread/configure.in

Modified: branches/eglibc-2_5/libc/ChangeLog.eglibc
==============================================================================
--- branches/eglibc-2_5/libc/ChangeLog.eglibc (original)
+++ branches/eglibc-2_5/libc/ChangeLog.eglibc Fri Feb 16 14:41:46 2007
@@ -1,5 +1,12 @@
 2007-02-16  Jim Blandy  <jimb@xxxxxxxxxxxxxxxx>
 
+	Make configuration script more friendly to cross-compilation.
+	* configure.in: Require at least binutils 2.17 and GCC 4.1.
+	* configure: Regenerated.
+	* nptl/sysdeps/pthread/configure.in: Disable link tests for forced
+	unwinding and C cleanup handling; always #define
+	HAVE_FORCED_UNWIND and set libc_cv_c_cleanup.
+	
 	* Makefile: Amend make install-headers to install everything
 	necessary for building a cross-compiler.  Install gnu/stubs.h as
 	part of 'install-headers', not 'install-others'.

Modified: branches/eglibc-2_5/libc/configure
==============================================================================
--- branches/eglibc-2_5/libc/configure (original)
+++ branches/eglibc-2_5/libc/configure Fri Feb 16 14:41:46 2007
@@ -3994,7 +3994,7 @@
 gnu_ld=$libc_cv_prog_ld_gnu
 
 
-# Accept binutils 2.13 or newer.
+# Accept binutils 2.17 or newer.
 for ac_prog in $AS
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -4044,7 +4044,7 @@
   ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-    2.1[3-9]*)
+    2.1[7-9]* | 2.[2-9][0-9]* | [3-9].*)
        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
@@ -4105,7 +4105,7 @@
   ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-    2.1[3-9]*)
+    2.1[7-9]* | 2.[2-9][0-9]* | [3-9].*)
        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
@@ -4171,6 +4171,7 @@
 
 # These programs are version sensitive.
 
+# We require GCC 4.1 or later.
 for ac_prog in ${ac_tool_prefix}gcc ${ac_tool_prefix}cc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -4217,10 +4218,10 @@
   # Found it, now check the version.
   echo "$as_me:$LINENO: checking version of $CC" >&5
 echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
-  ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
+  ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version [egcygnustpi-]*\([0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-    3.4* | 4.[0-9]* )
+    4.[1-9]* | [5-9].*)
        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 

Modified: branches/eglibc-2_5/libc/configure.in
==============================================================================
--- branches/eglibc-2_5/libc/configure.in (original)
+++ branches/eglibc-2_5/libc/configure.in Fri Feb 16 14:41:46 2007
@@ -839,13 +839,15 @@
 LIBC_PROG_BINUTILS
 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
 
-# Accept binutils 2.13 or newer.
+# Accept binutils 2.17 or newer.
 AC_CHECK_PROG_VER(AS, $AS, --version,
 		  [GNU assembler.* \([0-9]*\.[0-9.]*\)],
-		  [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
+		  [2.1[7-9]* | 2.[2-9][0-9]* | [3-9].*],
+                  AS=: critic_missing="$critic_missing as")
 AC_CHECK_PROG_VER(LD, $LD, --version,
 		  [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
-		  [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
+		  [2.1[7-9]* | 2.[2-9][0-9]* | [3-9].*],
+                  LD=: critic_missing="$critic_missing ld")
 
 # We need the physical current working directory.  We cannot use the
 # "pwd -P" shell builtin since that's not portable.  Instead we try to
@@ -859,8 +861,9 @@
 
 # These programs are version sensitive.
 AC_CHECK_TOOL_PREFIX
+# We require GCC 4.1 or later.
 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
-  [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
+  [version [egcygnustpi-]*\([0-9.]*\)], [4.[1-9]* | [5-9].*],
   critic_missing="$critic_missing gcc")
 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
   [GNU Make[^0-9]*\([0-9][0-9.]*\)],

Modified: branches/eglibc-2_5/libc/nptl/sysdeps/pthread/configure.in
==============================================================================
--- branches/eglibc-2_5/libc/nptl/sysdeps/pthread/configure.in (original)
+++ branches/eglibc-2_5/libc/nptl/sysdeps/pthread/configure.in Fri Feb 16 14:41:46 2007
@@ -19,31 +19,41 @@
   esac
 fi
 
-dnl Iff <unwind.h> is available, make sure it is the right one and it
-dnl contains struct _Unwind_Exception.
-AC_CACHE_CHECK(dnl
-for forced unwind support, libc_cv_forced_unwind, [dnl
-AC_TRY_LINK([#include <unwind.h>], [
-struct _Unwind_Exception exc;
-struct _Unwind_Context *context;
-_Unwind_GetCFA (context)],
-libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)])
-if test $libc_cv_forced_unwind = yes; then
-  AC_DEFINE(HAVE_FORCED_UNWIND)
-dnl Check for C cleanup handling.
-  old_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Werror -fexceptions"
-  AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl
-  AC_TRY_LINK([
-#include <stdio.h>
-void cl (void *a) { }], [
-  int a __attribute__ ((cleanup (cl)));
-  puts ("test")],
-libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
-  CFLAGS="$old_CFLAGS"
-  if test $libc_cv_c_cleanup = no; then
-    AC_MSG_ERROR([the compiler must support C cleanup handling])
-  fi
-else
-  AC_MSG_ERROR(forced unwind support is required)
-fi
+dnl These link tests made bootstrapping EGLIBC difficult (how do you
+dnl link if you haven't built a libc yet?), and this test is only used
+dnl to produce an error message anyway.  We've already checked the
+dnl GCC, as, and ld versions in the top-level configure script, and we
+dnl only use the results of these tests to produce an error message,
+dnl so we just disable these tests entirely.
+dnl 
+dnl dnl Iff <unwind.h> is available, make sure it is the right one and it
+dnl dnl contains struct _Unwind_Exception.
+dnl AC_CACHE_CHECK(dnl
+dnl for forced unwind support, libc_cv_forced_unwind, [dnl
+dnl AC_TRY_LINK([#include <unwind.h>], [
+dnl struct _Unwind_Exception exc;
+dnl struct _Unwind_Context *context;
+dnl _Unwind_GetCFA (context)],
+dnl libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)])
+dnl if test $libc_cv_forced_unwind = yes; then
+dnl   AC_DEFINE(HAVE_FORCED_UNWIND)
+dnl dnl Check for C cleanup handling.
+dnl   old_CFLAGS="$CFLAGS"
+dnl   CFLAGS="$CFLAGS -Werror -fexceptions"
+dnl   AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl
+dnl   AC_TRY_LINK([
+dnl #include <stdio.h>
+dnl void cl (void *a) { }], [
+dnl   int a __attribute__ ((cleanup (cl)));
+dnl   puts ("test")],
+dnl libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
+dnl   CFLAGS="$old_CFLAGS"
+dnl   if test $libc_cv_c_cleanup = no; then
+dnl     AC_MSG_ERROR([the compiler must support C cleanup handling])
+dnl   fi
+dnl else
+dnl   AC_MSG_ERROR(forced unwind support is required)
+dnl fi
+libc_cv_forced_unwind=yes
+AC_DEFINE(HAVE_FORCED_UNWIND)
+libc_cv_c_cleanup=yes