diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-07-17 14:35:48 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-07-17 14:35:48 +0000 |
commit | d95ffd4cfd1c277779ea960ed851ee667f1f8e96 (patch) | |
tree | f330e285dbf116c3c587c3fef26f6301744a52a1 /aclocal.m4 | |
parent | 29c4f53e2a3d25290afd16baf38c05f0351eacb5 (diff) | |
download | glibc-d95ffd4cfd1c277779ea960ed851ee667f1f8e96.zip glibc-d95ffd4cfd1c277779ea960ed851ee667f1f8e96.tar.gz glibc-d95ffd4cfd1c277779ea960ed851ee667f1f8e96.tar.bz2 |
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.
Diffstat (limited to 'aclocal.m4')
-rw-r--r-- | aclocal.m4 | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -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]) |