mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 14:00:30 +00:00
Refactor handling of /lib64 etc. cases, move out of sysdeps/gnu/configure.ac.
This patch continues removing architecture-specific cases from non-architecture-specific files by moving the logic to use directories such as /lib64 out of sysdeps/gnu/configure.ac. A new macro LIBC_SLIBDIR_RTLDDIR is created that sysdeps configure scripts can use to declare the library directories to be used; the logic was previously duplicated in configure fragments for aarch64, mips and x32 as well as in sysdeps/gnu/configure.ac. This macro is used directly in sysdeps/gnu/configure.ac only to provide the /lib default (the logic saying that with --prefix=/usr shared libraries go in /lib not /usr/lib); the architecture cases formerly there are moved into various new or existing configure.ac files. The new macro is also used in the various architecture fragments that already had such logic. In the x32 there was previously a configure fragment, but it was a directly written one without a .ac file; now a .ac file is used there instead to generate configure. Tested x86_64 that the installed shared libraries, and the directory structure of the installation, are unchanged by this patch. There is an old bug report - bug 6441 - about library directories changing after reconfiguring. If this is still applicable - and I haven't attempted to confirm it or review the old patch pointed to in that bug - then this patch should reduce the number of places needing changing in any fix. * 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.
This commit is contained in:
parent
29c4f53e2a
commit
d95ffd4cfd
25
ChangeLog
25
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 ...
|
||||
|
18
aclocal.m4
vendored
18
aclocal.m4
vendored
@ -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])
|
||||
|
22
sysdeps/gnu/configure
vendored
22
sysdeps/gnu/configure
vendored
@ -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/)
|
||||
# 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_slibdir=/lib
|
||||
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
|
||||
libdir='${exec_prefix}/lib';
|
||||
# Locale data can be shared between 32-bit and 64-bit libraries.
|
||||
libc_cv_localedir='${exec_prefix}/lib/locale'
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
libc_cv_slibdir=/lib
|
||||
;;
|
||||
esac
|
||||
case "$prefix" in
|
||||
/usr | /usr/)
|
||||
# Allow the user to override the path with --sysconfdir.
|
||||
if test "$sysconfdir" = '${prefix}/etc'; then
|
||||
libc_cv_sysconfdir=/etc
|
||||
|
@ -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
|
||||
|
6
sysdeps/unix/sysv/linux/aarch64/configure
vendored
6
sysdeps/unix/sysv/linux/aarch64/configure
vendored
@ -6,11 +6,11 @@ arch_minimum_kernel=3.7.0
|
||||
test -n "$libc_cv_slibdir" ||
|
||||
case "$prefix" in
|
||||
/usr | /usr/)
|
||||
libc_cv_slibdir="/lib64"
|
||||
libc_cv_rtlddir="/lib"
|
||||
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
|
||||
# Locale data can be shared between 32-bit and 64-bit libraries.
|
||||
libc_cv_localedir='${exec_prefix}/lib/locale'
|
||||
fi
|
||||
;;
|
||||
|
@ -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])
|
||||
|
40
sysdeps/unix/sysv/linux/mips/configure
vendored
40
sysdeps/unix/sysv/linux/mips/configure
vendored
@ -268,33 +268,35 @@ fi
|
||||
config_vars="$config_vars
|
||||
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"
|
||||
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 32bit and 64bit libraries
|
||||
# Locale data can be shared between 32-bit and 64-bit 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
|
||||
;;
|
||||
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
|
||||
|
@ -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
|
||||
LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
|
||||
;;
|
||||
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_SLIBDIR_RTLDDIR([lib32], [lib32])
|
||||
;;
|
||||
*)
|
||||
libc_cv_slibdir="/lib"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
libc_cv_gcc_unwind_find_fde=yes
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
@ -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],
|
||||
|
15
sysdeps/unix/sysv/linux/s390/s390-64/configure
vendored
Normal file
15
sysdeps/unix/sysv/linux/s390/s390-64/configure
vendored
Normal file
@ -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
|
4
sysdeps/unix/sysv/linux/s390/s390-64/configure.ac
Normal file
4
sysdeps/unix/sysv/linux/s390/s390-64/configure.ac
Normal file
@ -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])
|
15
sysdeps/unix/sysv/linux/sparc/sparc64/configure
vendored
Normal file
15
sysdeps/unix/sysv/linux/sparc/sparc64/configure
vendored
Normal file
@ -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
|
4
sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac
Normal file
4
sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac
Normal file
@ -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])
|
15
sysdeps/unix/sysv/linux/x86_64/64/configure
vendored
Normal file
15
sysdeps/unix/sysv/linux/x86_64/64/configure
vendored
Normal file
@ -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
|
4
sysdeps/unix/sysv/linux/x86_64/64/configure.ac
Normal file
4
sysdeps/unix/sysv/linux/x86_64/64/configure.ac
Normal file
@ -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])
|
13
sysdeps/unix/sysv/linux/x86_64/x32/configure
vendored
13
sysdeps/unix/sysv/linux/x86_64/x32/configure
vendored
@ -1,18 +1,17 @@
|
||||
# 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
|
||||
arch_minimum_kernel=3.4.0
|
||||
|
||||
test -n "$libc_cv_slibdir" ||
|
||||
case "$prefix" in
|
||||
/usr | /usr/)
|
||||
libc_cv_slibdir="/libx32"
|
||||
libc_cv_slibdir=/libx32
|
||||
libc_cv_rtlddir=/libx32
|
||||
if test "$libdir" = '${exec_prefix}/lib'; then
|
||||
libdir='${exec_prefix}/libx32';
|
||||
# Locale data can be shared.
|
||||
# Locale data can be shared between 32-bit and 64-bit libraries.
|
||||
libc_cv_localedir='${exec_prefix}/lib/locale'
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
6
sysdeps/unix/sysv/linux/x86_64/x32/configure.ac
Normal file
6
sysdeps/unix/sysv/linux/x86_64/x32/configure.ac
Normal file
@ -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])
|
Loading…
Reference in New Issue
Block a user