about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rwxr-xr-xconfigure35
-rw-r--r--configure.ac38
-rw-r--r--sysdeps/i386/preconfigure5
-rw-r--r--sysdeps/powerpc/preconfigure10
-rw-r--r--sysdeps/s390/preconfigure6
-rw-r--r--sysdeps/sh/preconfigure6
-rw-r--r--sysdeps/sparc/preconfigure24
8 files changed, 65 insertions, 71 deletions
diff --git a/ChangeLog b/ChangeLog
index 94a1f40b4f..7ba560d046 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2014-06-25  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac (base_machine): Do not set specially for particular
+	machines here.
+	* configure: Regenerated.
+	* sysdeps/powerpc/preconfigure: Move machine and base_machine
+	settings from configure.ac.
+	* sysdeps/i386/preconfigure: New file.
+	* sysdeps/s390/preconfigure: Likewise.
+	* sysdeps/sh/preconfigure: Likewise.
+	* sysdeps/sparc/preconfigure: Likewise.
+
 2014-06-25  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/sparc/sparc64/nptl/cpu_relax.S: Moved ...
diff --git a/configure b/configure
index ecc282bd2e..e7ffb831d5 100755
--- a/configure
+++ b/configure
@@ -3965,39 +3965,8 @@ if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
   esac
 fi
 
-# Expand the configuration machine name into a subdirectory by architecture
-# type and particular chip.  If an add-on configure fragment already set
-# base_machine, we don't change it.
-test -n "$base_machine" || case "$machine" in
-i[4567]86)	base_machine=i386 machine=i386/$machine ;;
-powerpc64*)	base_machine=powerpc machine=powerpc/powerpc64 ;;
-powerpc*)	base_machine=powerpc machine=powerpc/powerpc32 ;;
-s390)           base_machine=s390 machine=s390/s390-32 ;;
-s390x)          base_machine=s390 machine=s390/s390-64 ;;
-sh3*)		base_machine=sh machine=sh/sh3 ;;
-sh4*)		base_machine=sh machine=sh/sh4 ;;
-sparc | sparcv[67])
-		base_machine=sparc machine=sparc/sparc32 ;;
-sparcv8 | supersparc | hypersparc)
-		base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
-sparcv8plus | sparcv8plusa | sparcv9)
-		base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
-sparcv8plusb | sparcv9b)
-		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
-sparcv9v)
-		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
-sparcv9v2)
-		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
-sparc64)
-		base_machine=sparc machine=sparc/sparc64 ;;
-sparc64b)
-		base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
-sparc64v)
-		base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
-sparc64v2)
-		base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
-*)		base_machine=$machine ;;
-esac
+# Set base_machine if not set by a preconfigure fragment.
+test -n "$base_machine" || base_machine=$machine
 
 
 if test "$base_machine" = "i386"; then
diff --git a/configure.ac b/configure.ac
index babfe5713c..2d5b902a49 100644
--- a/configure.ac
+++ b/configure.ac
@@ -582,42 +582,8 @@ if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
   esac
 fi
 
-dnl We need to use [ and ] for other purposes for a while now.
-changequote(,)dnl
-# Expand the configuration machine name into a subdirectory by architecture
-# type and particular chip.  If an add-on configure fragment already set
-# base_machine, we don't change it.
-test -n "$base_machine" || case "$machine" in
-i[4567]86)	base_machine=i386 machine=i386/$machine ;;
-powerpc64*)	base_machine=powerpc machine=powerpc/powerpc64 ;;
-powerpc*)	base_machine=powerpc machine=powerpc/powerpc32 ;;
-s390)           base_machine=s390 machine=s390/s390-32 ;;
-s390x)          base_machine=s390 machine=s390/s390-64 ;;
-sh3*)		base_machine=sh machine=sh/sh3 ;;
-sh4*)		base_machine=sh machine=sh/sh4 ;;
-sparc | sparcv[67])
-		base_machine=sparc machine=sparc/sparc32 ;;
-sparcv8 | supersparc | hypersparc)
-		base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
-sparcv8plus | sparcv8plusa | sparcv9)
-		base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
-sparcv8plusb | sparcv9b)
-		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
-sparcv9v)
-		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
-sparcv9v2)
-		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
-sparc64)
-		base_machine=sparc machine=sparc/sparc64 ;;
-sparc64b)
-		base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
-sparc64v)
-		base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
-sparc64v2)
-		base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
-*)		base_machine=$machine ;;
-esac
-changequote([,])dnl
+# Set base_machine if not set by a preconfigure fragment.
+test -n "$base_machine" || base_machine=$machine
 AC_SUBST(base_machine)
 
 if test "$base_machine" = "i386"; then
diff --git a/sysdeps/i386/preconfigure b/sysdeps/i386/preconfigure
new file mode 100644
index 0000000000..c8fefd1bff
--- /dev/null
+++ b/sysdeps/i386/preconfigure
@@ -0,0 +1,5 @@
+# preconfigure fragment for i386.
+
+case "$machine" in
+i[4567]86)	base_machine=i386 machine=i386/$machine ;;
+esac
diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure
index 1741c251f1..0c6fdde7aa 100644
--- a/sysdeps/powerpc/preconfigure
+++ b/sysdeps/powerpc/preconfigure
@@ -1,10 +1,16 @@
-# Check for e500.
+# preconfigure fragment for powerpc.
 
 case "$machine" in
-powerpc)
+powerpc64*)
+  base_machine=powerpc machine=powerpc/powerpc64
+  ;;
+powerpc*)
+  # Check for e500.
   $CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null > conftest.i
   if grep -q __NO_FPRS__ conftest.i && ! grep -q _SOFT_FLOAT conftest.i; then
     base_machine=powerpc machine=powerpc/powerpc32/e500
+  else
+    base_machine=powerpc machine=powerpc/powerpc32
   fi
   rm -f conftest.i
   ;;
diff --git a/sysdeps/s390/preconfigure b/sysdeps/s390/preconfigure
new file mode 100644
index 0000000000..d6302b0c15
--- /dev/null
+++ b/sysdeps/s390/preconfigure
@@ -0,0 +1,6 @@
+# preconfigure fragment for s390.
+
+case "$machine" in
+s390)           base_machine=s390 machine=s390/s390-32 ;;
+s390x)          base_machine=s390 machine=s390/s390-64 ;;
+esac
diff --git a/sysdeps/sh/preconfigure b/sysdeps/sh/preconfigure
new file mode 100644
index 0000000000..c1f6537797
--- /dev/null
+++ b/sysdeps/sh/preconfigure
@@ -0,0 +1,6 @@
+# preconfigure fragment for sh.
+
+case "$machine" in
+sh3*)		base_machine=sh machine=sh/sh3 ;;
+sh4*)		base_machine=sh machine=sh/sh4 ;;
+esac
diff --git a/sysdeps/sparc/preconfigure b/sysdeps/sparc/preconfigure
new file mode 100644
index 0000000000..de86749573
--- /dev/null
+++ b/sysdeps/sparc/preconfigure
@@ -0,0 +1,24 @@
+# preconfigure fragment for sparc.
+
+case "$machine" in
+sparc | sparcv[67])
+		base_machine=sparc machine=sparc/sparc32 ;;
+sparcv8 | supersparc | hypersparc)
+		base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
+sparcv8plus | sparcv8plusa | sparcv9)
+		base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
+sparcv8plusb | sparcv9b)
+		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
+sparcv9v)
+		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
+sparcv9v2)
+		base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
+sparc64)
+		base_machine=sparc machine=sparc/sparc64 ;;
+sparc64b)
+		base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
+sparc64v)
+		base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
+sparc64v2)
+		base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
+esac