about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog25
-rw-r--r--aclocal.m418
-rw-r--r--sysdeps/gnu/configure34
-rw-r--r--sysdeps/gnu/configure.ac23
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/configure18
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/configure.ac13
-rw-r--r--sysdeps/unix/sysv/linux/mips/configure52
-rw-r--r--sysdeps/unix/sysv/linux/mips/configure.ac34
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/configure13
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/configure15
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/configure.ac4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/configure15
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/configure15
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/configure.ac4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/configure29
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/configure.ac6
18 files changed, 192 insertions, 132 deletions
diff --git a/ChangeLog b/ChangeLog
index d2bc3084bf..f82353cd4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,30 @@
 2014-07-17  Joseph Myers  <joseph@codesourcery.com>
 
+	* aclocal.m4 (LIBC_SLIBDIR_RTLDDIR): New macro.
+	* sysdeps/gnu/configure.ac: Use LIBC_SLIBDIR_RTLDDIR.  Remove
+	cases for individual architectures.
+	* sysdeps/gnu/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/aarch64/configure.ac: Use
+	LIBC_SLIBDIR_RTLDDIR.
+	* sysdeps/unix/sysv/linux/aarch64/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/mips/configure.ac: Use
+	LIBC_SLIBDIR_RTLDDIR.
+	* sysdeps/unix/sysv/linux/mips/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac: Use
+	LIBC_SLIBDIR_RTLDDIR.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/configure:
+	Regenerated.
+	* sysdeps/unix/sysv/linux/s390/s390-64/configure.ac: New file.
+	* sysdeps/unix/sysv/linux/s390/s390-64/configure: New generated
+	file.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac: New file.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/configure: New generated
+	file.
+	* sysdeps/unix/sysv/linux/x86_64/64/configure.ac: New file.
+	* sysdeps/unix/sysv/linux/x86_64/64/configure: New generated file.
+	* sysdeps/unix/sysv/linux/x86_64/x32/configure.ac: New file.
+	* sysdeps/unix/sysv/linux/x86_64/x32/configure: Generate.
+
 	* sysdeps/aarch64/shlib-versions: Move to ...
 	* sysdeps/unix/sysv/linux/aarch64/shlib-versions: ... here.
 	* sysdeps/alpha/shlib-versions: Move to ...
diff --git a/aclocal.m4 b/aclocal.m4
index bc48586dc2..98b9987921 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -281,3 +281,21 @@ else
   $5
 fi
 AC_MSG_RESULT($libc_compiler_builtin_inlined)])
+
+dnl Default to slibdir named SLIBDIR instead of "lib", and rtlddir
+dnl named RTLDDIR instead of "lib".  This is used to put 64-bit
+dnl libraries in /lib64.
+dnl LIBC_SLIBDIR_RTLDDIR([slibdir], [rtlddir])
+AC_DEFUN([LIBC_SLIBDIR_RTLDDIR],
+[test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/$1
+  libc_cv_rtlddir=/$2
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/$1';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac])
diff --git a/sysdeps/gnu/configure b/sysdeps/gnu/configure
index e7f0e43959..92392978fe 100644
--- a/sysdeps/gnu/configure
+++ b/sysdeps/gnu/configure
@@ -6,30 +6,20 @@
 # files.  I.e., when the installation prefix is "/usr" we have to place
 # shared library objects and the configuration files on the root partition
 # in /lib and /etc.
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib
+  libc_cv_rtlddir=/lib
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
 case "$prefix" in
 /usr | /usr/)
-  # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib.
-  # Allow earlier configure scripts to handle libc_cv_slibdir,
-  # libc_cv_rtlddir, libdir, and libc_cv_localedir.
-  test -n "$libc_cv_slibdir" || \
-  case $machine in
-  sparc/sparc64 | x86_64* | powerpc/powerpc64 | s390/s390-64)
-    libc_cv_slibdir=/lib64
-    case $machine in
-    s390/s390-64)
-      libc_cv_rtlddir=/lib
-      ;;
-    esac
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib64';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-  *)
-    libc_cv_slibdir=/lib
-    ;;
-  esac
   # Allow the user to override the path with --sysconfdir.
   if test "$sysconfdir" = '${prefix}/etc'; then
     libc_cv_sysconfdir=/etc
diff --git a/sysdeps/gnu/configure.ac b/sysdeps/gnu/configure.ac
index ce251df0c5..634fe4de2a 100644
--- a/sysdeps/gnu/configure.ac
+++ b/sysdeps/gnu/configure.ac
@@ -6,30 +6,9 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # files.  I.e., when the installation prefix is "/usr" we have to place
 # shared library objects and the configuration files on the root partition
 # in /lib and /etc.
+LIBC_SLIBDIR_RTLDDIR([lib], [lib])
 case "$prefix" in
 /usr | /usr/)
-  # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib.
-  # Allow earlier configure scripts to handle libc_cv_slibdir,
-  # libc_cv_rtlddir, libdir, and libc_cv_localedir.
-  test -n "$libc_cv_slibdir" || \
-  case $machine in
-  sparc/sparc64 | x86_64* | powerpc/powerpc64 | s390/s390-64)
-    libc_cv_slibdir=/lib64
-    case $machine in
-    s390/s390-64)
-      libc_cv_rtlddir=/lib
-      ;;
-    esac
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib64';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-  *)
-    libc_cv_slibdir=/lib
-    ;;
-  esac
   # Allow the user to override the path with --sysconfdir.
   if test "$sysconfdir" = '${prefix}/etc'; then
     libc_cv_sysconfdir=/etc
diff --git a/sysdeps/unix/sysv/linux/aarch64/configure b/sysdeps/unix/sysv/linux/aarch64/configure
index 20593c7bb0..60230a2eeb 100644
--- a/sysdeps/unix/sysv/linux/aarch64/configure
+++ b/sysdeps/unix/sysv/linux/aarch64/configure
@@ -5,13 +5,13 @@ arch_minimum_kernel=3.7.0
 
 test -n "$libc_cv_slibdir" ||
 case "$prefix" in
-  /usr | /usr/)
-    libc_cv_slibdir="/lib64"
-    libc_cv_rtlddir="/lib"
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib64';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
 esac
diff --git a/sysdeps/unix/sysv/linux/aarch64/configure.ac b/sysdeps/unix/sysv/linux/aarch64/configure.ac
index b090702134..211fa9c317 100644
--- a/sysdeps/unix/sysv/linux/aarch64/configure.ac
+++ b/sysdeps/unix/sysv/linux/aarch64/configure.ac
@@ -3,15 +3,4 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 
 arch_minimum_kernel=3.7.0
 
-test -n "$libc_cv_slibdir" ||
-case "$prefix" in
-  /usr | /usr/)
-    libc_cv_slibdir="/lib64"
-    libc_cv_rtlddir="/lib"
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib64';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-esac
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib])
diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure
index e8b0d7b154..7fac4f423e 100644
--- a/sysdeps/unix/sysv/linux/mips/configure
+++ b/sysdeps/unix/sysv/linux/mips/configure
@@ -268,33 +268,35 @@ fi
 config_vars="$config_vars
 default-abi = ${libc_mips_abi}_${libc_mips_float}${libc_mips_nan}"
 
+case $machine in
+mips/mips64/n64/*)
+  test -n "$libc_cv_slibdir" ||
 case "$prefix" in
 /usr | /usr/)
-  # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib.
-  # Allow earlier configure scripts to handle libc_cv_slibdir, libdir,
-  # and libc_cv_localedir.
-  test -n "$libc_cv_slibdir" || \
-  case $machine in
-  mips/mips64/n64/* )
-    libc_cv_slibdir="/lib64"
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib64';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-  mips/mips64/n32/* )
-    libc_cv_slibdir="/lib32"
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib32';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-  *)
-    libc_cv_slibdir="/lib"
-    ;;
-  esac
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib64
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
+  ;;
+mips/mips64/n32/*)
+  test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib32
+  libc_cv_rtlddir=/lib32
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib32';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
+  ;;
 esac
 
 libc_cv_gcc_unwind_find_fde=yes
diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac
index 7087a14a5e..c3f217a34f 100644
--- a/sysdeps/unix/sysv/linux/mips/configure.ac
+++ b/sysdeps/unix/sysv/linux/mips/configure.ac
@@ -58,33 +58,13 @@ fi
 LIBC_CONFIG_VAR([default-abi],
   [${libc_mips_abi}_${libc_mips_float}${libc_mips_nan}])
 
-case "$prefix" in
-/usr | /usr/)
-  # 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib.
-  # Allow earlier configure scripts to handle libc_cv_slibdir, libdir,
-  # and libc_cv_localedir.
-  test -n "$libc_cv_slibdir" || \
-  case $machine in
-  mips/mips64/n64/* )
-    libc_cv_slibdir="/lib64"
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib64';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-  mips/mips64/n32/* )
-    libc_cv_slibdir="/lib32"
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/lib32';
-      # Locale data can be shared between 32bit and 64bit libraries
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-  *)
-    libc_cv_slibdir="/lib"
-    ;;
-  esac
+case $machine in
+mips/mips64/n64/*)
+  LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
+  ;;
+mips/mips64/n32/*)
+  LIBC_SLIBDIR_RTLDDIR([lib32], [lib32])
+  ;;
 esac
 
 libc_cv_gcc_unwind_find_fde=yes
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
index 8262fdd530..aa1302ab11 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
@@ -1,6 +1,19 @@
 # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc64/.
 
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib64
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
+
 # Define default-abi according to compiler flags.
 
 
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
index d60b05ef7f..de04689536 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
@@ -1,6 +1,8 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc64/.
 
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
+
 # Define default-abi according to compiler flags.
 AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI],
   [libc_cv_ppc64_elfv2_abi],
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/configure b/sysdeps/unix/sysv/linux/s390/s390-64/configure
new file mode 100644
index 0000000000..63f4194cbc
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/configure
@@ -0,0 +1,15 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/s390/s390-64.
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/configure.ac b/sysdeps/unix/sysv/linux/s390/s390-64/configure.ac
new file mode 100644
index 0000000000..8c75888b62
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/configure.ac
@@ -0,0 +1,4 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/s390/s390-64.
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib])
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/configure b/sysdeps/unix/sysv/linux/sparc/sparc64/configure
new file mode 100644
index 0000000000..9e5ea3c86a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/configure
@@ -0,0 +1,15 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/sparc/sparc64.
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib64
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac b/sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac
new file mode 100644
index 0000000000..979bb8d923
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac
@@ -0,0 +1,4 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/sparc/sparc64.
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/configure b/sysdeps/unix/sysv/linux/x86_64/64/configure
new file mode 100644
index 0000000000..570d3280a7
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/64/configure
@@ -0,0 +1,15 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/x86_64/64.
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib64
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/configure.ac b/sysdeps/unix/sysv/linux/x86_64/64/configure.ac
new file mode 100644
index 0000000000..8e863b94ad
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/64/configure.ac
@@ -0,0 +1,4 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/x86_64/64.
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/configure b/sysdeps/unix/sysv/linux/x86_64/x32/configure
index 51fc1e6207..6ff0f0ce32 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/configure
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/configure
@@ -1,18 +1,17 @@
-# Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32.
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32.
 
-case "$machine" in
-x86_64/x32)
-  test -n "$arch_minimum_kernel" || arch_minimum_kernel=3.4.0
-  test -n "$libc_cv_slibdir" ||
-  case "$prefix" in
-  /usr | /usr/)
-    libc_cv_slibdir="/libx32"
-    if test "$libdir" = '${exec_prefix}/lib'; then
-      libdir='${exec_prefix}/libx32';
-      # Locale data can be shared.
-      libc_cv_localedir='${exec_prefix}/lib/locale'
-    fi
-    ;;
-  esac
+arch_minimum_kernel=3.4.0
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/libx32
+  libc_cv_rtlddir=/libx32
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/libx32';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_localedir='${exec_prefix}/lib/locale'
+  fi
   ;;
 esac
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac b/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac
new file mode 100644
index 0000000000..f44e4ca148
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac
@@ -0,0 +1,6 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32.
+
+arch_minimum_kernel=3.4.0
+
+LIBC_SLIBDIR_RTLDDIR([libx32], [libx32])