From: Tim Shimmin Date: Tue, 4 Apr 2006 06:06:00 +0000 (+0000) Subject: fix lib64 installs X-Git-Tag: v2.8.0~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=82805b602be8d1102174994e4a9fbfd241cd7387;p=thirdparty%2Fxfsprogs-dev.git fix lib64 installs Merge of master-melb:xfs-cmds:25657a by kenmcd. --- diff --git a/Makefile b/Makefile index 055030d35..fcfd4e6e2 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2000-2005 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2000-2006 Silicon Graphics, Inc. All Rights Reserved. # TOPDIR = . @@ -41,6 +41,7 @@ $(CONFIGURE): --bindir=/usr/sbin \ --libdir=/lib \ --libexecdir=/usr/lib \ + --enable-lib64=yes \ --includedir=/usr/include \ --mandir=/usr/share/man \ --datadir=/usr/share \ @@ -48,7 +49,7 @@ $(CONFIGURE): touch .census aclocal.m4:: - aclocal --acdir=$(TOPDIR)/m4 --output=$@ + aclocal --acdir=`pwd`/m4 --output=$@ install: default $(SUBDIRS_MAKERULE) diff --git a/aclocal.m4 b/aclocal.m4 index 4abc9ddc5..3fc6603d9 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,14 +1,77 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4-p6 +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- -dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# +# Find format of installed man pages. +# Always gzipped on Debian, but not Redhat pre-7.0. +# We don't deal with bzip2'd man pages, which Mandrake uses, +# someone will send us a patch sometime hopefully. :-) +# +AC_DEFUN([AC_MANUAL_FORMAT], + [ have_zipped_manpages=false + for d in ${prefix}/share/man ${prefix}/man ; do + if test -f $d/man1/man.1.gz + then + have_zipped_manpages=true + break + fi + done + AC_SUBST(have_zipped_manpages) + ]) + +# The AC_MULTILIB macro was extracted and modified from +# gettext-0.15's AC_LIB_PREPARE_MULTILIB macro in the lib-prefix.m4 file +# so that the correct paths can be used for 64-bit libraries. +# +dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. +dnl From Bruno Haible. + +dnl AC_MULTILIB creates a variable libdirsuffix, containing +dnl the suffix of the libdir, either "" or "64". +dnl Only do this if the given enable parameter is "yes". +AC_DEFUN([AC_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. The current + dnl practice is that on a system supporting 32-bit and 64-bit instruction + dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit + dnl libraries go under $prefix/lib. We determine the compiler's default + dnl mode by looking at the compiler's library search path. If at least + dnl of its elements ends in /lib64 or points to a directory whose absolute + dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the + dnl default, namely "lib". + enable_lib64="$1" + libdirsuffix="" + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test "$enable_lib64" = "yes" -a -n "$searchpath"; then + save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) libdirsuffix=64 ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) libdirsuffix=64 ;; + esac ;; + esac + fi + done + IFS="$save_IFS" + fi + AC_SUBST(libdirsuffix) +]) # # Generic macro, sets up all of the global packaging variables. @@ -56,181 +119,6 @@ AC_DEFUN([AC_PACKAGE_GLOBALS], AC_SUBST(pkg_platform) ]) -# -# Check for specified utility (env var) - if unset, fail. -# -AC_DEFUN([AC_PACKAGE_NEED_UTILITY], - [ if test -z "$2"; then - echo - echo FATAL ERROR: $3 does not seem to be installed. - echo $1 cannot be built without a working $4 installation. - exit 1 - fi - ]) - -# -# Generic macro, sets up all of the global build variables. -# The following environment variables may be set to override defaults: -# CC MAKE LIBTOOL TAR ZIP MAKEDEPEND AWK SED ECHO SORT -# MSGFMT MSGMERGE RPM -# -AC_DEFUN([AC_PACKAGE_UTILITIES], - [ AC_PROG_CC - cc="$CC" - AC_SUBST(cc) - AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler]) - - if test -z "$MAKE"; then - AC_PATH_PROG(MAKE, gmake,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - if test -z "$MAKE"; then - AC_PATH_PROG(MAKE, make,, /usr/bin) - fi - make=$MAKE - AC_SUBST(make) - AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) - - if test -z "$LIBTOOL"; then - AC_PATH_PROG(LIBTOOL, glibtool,, /usr/bin) - fi - if test -z "$LIBTOOL"; then - AC_PATH_PROG(LIBTOOL, libtool,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - libtool=$LIBTOOL - AC_SUBST(libtool) - AC_PACKAGE_NEED_UTILITY($1, "$libtool", libtool, [GNU libtool]) - - if test -z "$TAR"; then - AC_PATH_PROG(TAR, tar,, /usr/freeware/bin:/bin:/usr/local/bin:/usr/bin) - fi - tar=$TAR - AC_SUBST(tar) - if test -z "$ZIP"; then - AC_PATH_PROG(ZIP, gzip,, /bin:/usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - - zip=$ZIP - AC_SUBST(zip) - - if test -z "$MAKEDEPEND"; then - AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true) - fi - makedepend=$MAKEDEPEND - AC_SUBST(makedepend) - - if test -z "$AWK"; then - AC_PATH_PROG(AWK, awk,, /bin:/usr/bin) - fi - awk=$AWK - AC_SUBST(awk) - - if test -z "$SED"; then - AC_PATH_PROG(SED, sed,, /bin:/usr/bin) - fi - sed=$SED - AC_SUBST(sed) - - if test -z "$ECHO"; then - AC_PATH_PROG(ECHO, echo,, /bin:/usr/bin) - fi - echo=$ECHO - AC_SUBST(echo) - - if test -z "$SORT"; then - AC_PATH_PROG(SORT, sort,, /bin:/usr/bin) - fi - sort=$SORT - AC_SUBST(sort) - - dnl check if symbolic links are supported - AC_PROG_LN_S - - if test "$enable_gettext" = yes; then - if test -z "$MSGFMT"; then - AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - msgfmt=$MSGFMT - AC_SUBST(msgfmt) - AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext) - - if test -z "$MSGMERGE"; then - AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/local/bin:/usr/freeware/bin) - fi - msgmerge=$MSGMERGE - AC_SUBST(msgmerge) - AC_PACKAGE_NEED_UTILITY($1, "$msgmerge", msgmerge, gettext) - fi - - if test -z "$RPM"; then - AC_PATH_PROG(RPM, rpm,, /bin:/usr/bin:/usr/freeware/bin) - fi - rpm=$RPM - AC_SUBST(rpm) - - dnl .. and what version is rpm - rpm_version=0 - test -n "$RPM" && test -x "$RPM" && rpm_version=`$RPM --version \ - | awk '{print $NF}' | awk -F. '{V=1; print $V}'` - AC_SUBST(rpm_version) - dnl At some point in rpm 4.0, rpm can no longer build rpms, and - dnl rpmbuild is needed (rpmbuild may go way back; not sure) - dnl So, if rpm version >= 4.0, look for rpmbuild. Otherwise build w/ rpm - if test $rpm_version -ge 4; then - AC_PATH_PROG(RPMBUILD, rpmbuild) - rpmbuild=$RPMBUILD - else - rpmbuild=$RPM - fi - AC_SUBST(rpmbuild) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_UUID_H], - [ AC_CHECK_HEADERS([uuid.h sys/uuid.h uuid/uuid.h]) - if test $ac_cv_header_uuid_h = no -a \ - $ac_cv_header_sys_uuid_h = no -a \ - $ac_cv_header_uuid_uuid_h = no; then - echo - echo 'FATAL ERROR: could not find a valid UUID header.' - echo 'Install the Universally Unique Identifiers development package.' - exit 1 - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_UUIDCOMPARE], - [ AC_CHECK_FUNCS(uuid_compare) - if test $ac_cv_func_uuid_compare = yes; then - libuuid="" - else - AC_CHECK_LIB(uuid, uuid_compare,, [ - echo - echo 'FATAL ERROR: could not find a valid UUID library.' - echo 'Install the Universally Unique Identifiers library package.' - exit 1]) - libuuid="-luuid" - fi - AC_SUBST(libuuid) - ]) - -AC_DEFUN([AC_PACKAGE_NEED_PTHREAD_H], - [ AC_CHECK_HEADERS(pthread.h) - if test $ac_cv_header_pthread_h = no; then - AC_CHECK_HEADERS(pthread.h,, [ - echo - echo 'FATAL ERROR: could not find a valid pthread header.' - exit 1]) - fi - ]) - -AC_DEFUN([AC_PACKAGE_NEED_PTHREADMUTEXINIT], - [ AC_CHECK_LIB(pthread, pthread_mutex_init,, [ - echo - echo 'FATAL ERROR: could not find a valid pthread library.' - exit 1 - ]) - libpthread=-lpthread - AC_SUBST(libpthread) - ]) - # # Check if we have a working fadvise system call # @@ -332,6 +220,26 @@ AC_DEFUN([AC_HAVE_GETMNTINFO], AC_SUBST(have_getmntinfo) ]) +AC_DEFUN([AC_PACKAGE_NEED_PTHREAD_H], + [ AC_CHECK_HEADERS(pthread.h) + if test $ac_cv_header_pthread_h = no; then + AC_CHECK_HEADERS(pthread.h,, [ + echo + echo 'FATAL ERROR: could not find a valid pthread header.' + exit 1]) + fi + ]) + +AC_DEFUN([AC_PACKAGE_NEED_PTHREADMUTEXINIT], + [ AC_CHECK_LIB(pthread, pthread_mutex_init,, [ + echo + echo 'FATAL ERROR: could not find a valid pthread library.' + exit 1 + ]) + libpthread=-lpthread + AC_SUBST(libpthread) + ]) + # # Check if we have a type for the pointer's size integer (__psint_t) # @@ -383,21 +291,158 @@ AC_DEFUN([AC_SIZEOF_POINTERS_AND_LONG], fi ]) +# +# Check for specified utility (env var) - if unset, fail. # -# Find format of installed man pages. -# Always gzipped on Debian, but not Redhat pre-7.0. -# We don't deal with bzip2'd man pages, which Mandrake uses, -# someone will send us a patch sometime hopefully. :-) -# -AC_DEFUN([AC_MANUAL_FORMAT], - [ have_zipped_manpages=false - for d in ${prefix}/share/man ${prefix}/man ; do - if test -f $d/man1/man.1.gz - then - have_zipped_manpages=true - break +AC_DEFUN([AC_PACKAGE_NEED_UTILITY], + [ if test -z "$2"; then + echo + echo FATAL ERROR: $3 does not seem to be installed. + echo $1 cannot be built without a working $4 installation. + exit 1 + fi + ]) + +# +# Generic macro, sets up all of the global build variables. +# The following environment variables may be set to override defaults: +# CC MAKE LIBTOOL TAR ZIP MAKEDEPEND AWK SED ECHO SORT +# MSGFMT MSGMERGE RPM +# +AC_DEFUN([AC_PACKAGE_UTILITIES], + [ AC_PROG_CC + cc="$CC" + AC_SUBST(cc) + AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler]) + + if test -z "$MAKE"; then + AC_PATH_PROG(MAKE, gmake,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + if test -z "$MAKE"; then + AC_PATH_PROG(MAKE, make,, /usr/bin) + fi + make=$MAKE + AC_SUBST(make) + AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) + + if test -z "$LIBTOOL"; then + AC_PATH_PROG(LIBTOOL, glibtool,, /usr/bin) + fi + if test -z "$LIBTOOL"; then + AC_PATH_PROG(LIBTOOL, libtool,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + libtool=$LIBTOOL + AC_SUBST(libtool) + AC_PACKAGE_NEED_UTILITY($1, "$libtool", libtool, [GNU libtool]) + + if test -z "$TAR"; then + AC_PATH_PROG(TAR, tar,, /usr/freeware/bin:/bin:/usr/local/bin:/usr/bin) + fi + tar=$TAR + AC_SUBST(tar) + if test -z "$ZIP"; then + AC_PATH_PROG(ZIP, gzip,, /bin:/usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + + zip=$ZIP + AC_SUBST(zip) + + if test -z "$MAKEDEPEND"; then + AC_PATH_PROG(MAKEDEPEND, makedepend, /bin/true) + fi + makedepend=$MAKEDEPEND + AC_SUBST(makedepend) + + if test -z "$AWK"; then + AC_PATH_PROG(AWK, awk,, /bin:/usr/bin) + fi + awk=$AWK + AC_SUBST(awk) + + if test -z "$SED"; then + AC_PATH_PROG(SED, sed,, /bin:/usr/bin) + fi + sed=$SED + AC_SUBST(sed) + + if test -z "$ECHO"; then + AC_PATH_PROG(ECHO, echo,, /bin:/usr/bin) + fi + echo=$ECHO + AC_SUBST(echo) + + if test -z "$SORT"; then + AC_PATH_PROG(SORT, sort,, /bin:/usr/bin) + fi + sort=$SORT + AC_SUBST(sort) + + dnl check if symbolic links are supported + AC_PROG_LN_S + + if test "$enable_gettext" = yes; then + if test -z "$MSGFMT"; then + AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/local/bin:/usr/freeware/bin) fi - done - AC_SUBST(have_zipped_manpages) + msgfmt=$MSGFMT + AC_SUBST(msgfmt) + AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext) + + if test -z "$MSGMERGE"; then + AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + msgmerge=$MSGMERGE + AC_SUBST(msgmerge) + AC_PACKAGE_NEED_UTILITY($1, "$msgmerge", msgmerge, gettext) + fi + + if test -z "$RPM"; then + AC_PATH_PROG(RPM, rpm,, /bin:/usr/bin:/usr/freeware/bin) + fi + rpm=$RPM + AC_SUBST(rpm) + + dnl .. and what version is rpm + rpm_version=0 + test -n "$RPM" && test -x "$RPM" && rpm_version=`$RPM --version \ + | awk '{print $NF}' | awk -F. '{V=1; print $V}'` + AC_SUBST(rpm_version) + dnl At some point in rpm 4.0, rpm can no longer build rpms, and + dnl rpmbuild is needed (rpmbuild may go way back; not sure) + dnl So, if rpm version >= 4.0, look for rpmbuild. Otherwise build w/ rpm + if test $rpm_version -ge 4; then + AC_PATH_PROG(RPMBUILD, rpmbuild) + rpmbuild=$RPMBUILD + else + rpmbuild=$RPM + fi + AC_SUBST(rpmbuild) + ]) + +AC_DEFUN([AC_PACKAGE_NEED_UUID_H], + [ AC_CHECK_HEADERS([uuid.h sys/uuid.h uuid/uuid.h]) + if test $ac_cv_header_uuid_h = no -a \ + $ac_cv_header_sys_uuid_h = no -a \ + $ac_cv_header_uuid_uuid_h = no; then + echo + echo 'FATAL ERROR: could not find a valid UUID header.' + echo 'Install the Universally Unique Identifiers development package.' + exit 1 + fi + ]) + +AC_DEFUN([AC_PACKAGE_NEED_UUIDCOMPARE], + [ AC_CHECK_FUNCS(uuid_compare) + if test $ac_cv_func_uuid_compare = yes; then + libuuid="" + else + AC_CHECK_LIB(uuid, uuid_compare,, [ + echo + echo 'FATAL ERROR: could not find a valid UUID library.' + echo 'Install the Universally Unique Identifiers library package.' + exit 1]) + libuuid="-luuid" + fi + AC_SUBST(libuuid) ]) diff --git a/configure.in b/configure.in index 392f354bf..eddeef4cc 100644 --- a/configure.in +++ b/configure.in @@ -30,8 +30,14 @@ AC_ARG_ENABLE(termcap, test $enable_termcap = yes && libtermcap="-ltermcap",) AC_SUBST(libtermcap) +AC_ARG_ENABLE(lib64, +[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],, + enable_lib64=no) +AC_SUBST(enable_lib64) + AC_PACKAGE_GLOBALS(xfsprogs) AC_PACKAGE_UTILITIES(xfsprogs) +AC_MULTILIB($enable_lib64) AC_PACKAGE_NEED_UUID_H AC_PACKAGE_NEED_UUIDCOMPARE diff --git a/include/builddefs.in b/include/builddefs.in index e82625623..2f19afb53 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -1,5 +1,5 @@ # -# Copyright (c) 2004-2005 Silicon Graphics, Inc. +# Copyright (c) 2004-2006 Silicon Graphics, Inc. # All Rights Reserved. # # This program is free software; you can redistribute it and/or @@ -49,8 +49,8 @@ PKG_PLATFORM = @pkg_platform@ PKG_DISTRIBUTION= @pkg_distribution@ PKG_BIN_DIR = @bindir@ PKG_SBIN_DIR = @sbindir@ -PKG_LIB_DIR = @libdir@ -PKG_DEVLIB_DIR = @libexecdir@ +PKG_LIB_DIR = @libdir@@libdirsuffix@ +PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@ PKG_INC_DIR = @includedir@/xfs PKG_MAN_DIR = @mandir@ PKG_DOC_DIR = @datadir@/doc/@pkg_name@ @@ -75,10 +75,11 @@ RPM = @rpm@ RPMBUILD = @rpmbuild@ RPM_VERSION = @rpm_version@ -ENABLE_SHARED = @enable_shared@ -ENABLE_GETTEXT = @enable_gettext@ -ENABLE_EDITLINE = @enable_editline@ -ENABLE_READLINE = @enable_readline@ +ENABLE_SHARED = @enable_shared@ +ENABLE_GETTEXT = @enable_gettext@ +ENABLE_EDITLINE = @enable_editline@ +ENABLE_READLINE = @enable_readline@ + HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@ HAVE_FADVISE = @have_fadvise@ diff --git a/m4/Makefile b/m4/Makefile index c5665089b..ce7b445d9 100644 --- a/m4/Makefile +++ b/m4/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2003-2006 Silicon Graphics, Inc. All Rights Reserved. # TOPDIR = .. @@ -12,7 +12,8 @@ LSRCFILES = \ package_pthread.m4 \ package_types.m4 \ package_utilies.m4 \ - package_uuiddev.m4 + package_uuiddev.m4 \ + multilib.m4 default: diff --git a/m4/multilib.m4 b/m4/multilib.m4 new file mode 100644 index 000000000..8d991d8d0 --- /dev/null +++ b/m4/multilib.m4 @@ -0,0 +1,43 @@ +# The AC_MULTILIB macro was extracted and modified from +# gettext-0.15's AC_LIB_PREPARE_MULTILIB macro in the lib-prefix.m4 file +# so that the correct paths can be used for 64-bit libraries. +# +dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl From Bruno Haible. + +dnl AC_MULTILIB creates a variable libdirsuffix, containing +dnl the suffix of the libdir, either "" or "64". +dnl Only do this if the given enable parameter is "yes". +AC_DEFUN([AC_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. The current + dnl practice is that on a system supporting 32-bit and 64-bit instruction + dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit + dnl libraries go under $prefix/lib. We determine the compiler's default + dnl mode by looking at the compiler's library search path. If at least + dnl of its elements ends in /lib64 or points to a directory whose absolute + dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the + dnl default, namely "lib". + enable_lib64="$1" + libdirsuffix="" + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test "$enable_lib64" = "yes" -a -n "$searchpath"; then + save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) libdirsuffix=64 ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) libdirsuffix=64 ;; + esac ;; + esac + fi + done + IFS="$save_IFS" + fi + AC_SUBST(libdirsuffix) +])