Updated gettext m4 macros to 0.17.
This commit is contained in:
parent
396a01950c
commit
64cf047f72
260
m4/lib-link.m4
260
m4/lib-link.m4
@ -1,17 +1,19 @@
|
|||||||
# lib-link.m4 serial 6 (gettext-0.14.3)
|
# lib-link.m4 serial 13 (gettext-0.17)
|
||||||
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
|
||||||
dnl This file is free software; the Free Software Foundation
|
dnl This file is free software; the Free Software Foundation
|
||||||
dnl gives unlimited permission to copy and/or distribute it,
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
dnl with or without modifications, as long as this notice is preserved.
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
dnl From Bruno Haible.
|
dnl From Bruno Haible.
|
||||||
|
|
||||||
AC_PREREQ(2.50)
|
AC_PREREQ(2.54)
|
||||||
|
|
||||||
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
|
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
|
||||||
dnl the libraries corresponding to explicit and implicit dependencies.
|
dnl the libraries corresponding to explicit and implicit dependencies.
|
||||||
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
|
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
|
||||||
dnl augments the CPPFLAGS variable.
|
dnl augments the CPPFLAGS variable.
|
||||||
|
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
|
||||||
|
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
|
||||||
AC_DEFUN([AC_LIB_LINKFLAGS],
|
AC_DEFUN([AC_LIB_LINKFLAGS],
|
||||||
[
|
[
|
||||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
@ -24,13 +26,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS],
|
|||||||
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
|
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
|
||||||
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
|
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
|
||||||
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
|
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
|
||||||
|
ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
|
||||||
])
|
])
|
||||||
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
|
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
|
||||||
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
|
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
|
||||||
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
|
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
|
||||||
|
LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
|
||||||
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
||||||
AC_SUBST([LIB]NAME)
|
AC_SUBST([LIB]NAME)
|
||||||
AC_SUBST([LTLIB]NAME)
|
AC_SUBST([LTLIB]NAME)
|
||||||
|
AC_SUBST([LIB]NAME[_PREFIX])
|
||||||
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
|
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
|
||||||
dnl results of this search when this library appears as a dependency.
|
dnl results of this search when this library appears as a dependency.
|
||||||
HAVE_LIB[]NAME=yes
|
HAVE_LIB[]NAME=yes
|
||||||
@ -46,6 +51,8 @@ dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
|
|||||||
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
|
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
|
||||||
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
|
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
|
||||||
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
|
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
|
||||||
|
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
|
||||||
|
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
|
||||||
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
|
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
|
||||||
[
|
[
|
||||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
@ -82,17 +89,23 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
|
|||||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||||
LIB[]NAME=
|
LIB[]NAME=
|
||||||
LTLIB[]NAME=
|
LTLIB[]NAME=
|
||||||
|
LIB[]NAME[]_PREFIX=
|
||||||
fi
|
fi
|
||||||
AC_SUBST([HAVE_LIB]NAME)
|
AC_SUBST([HAVE_LIB]NAME)
|
||||||
AC_SUBST([LIB]NAME)
|
AC_SUBST([LIB]NAME)
|
||||||
AC_SUBST([LTLIB]NAME)
|
AC_SUBST([LTLIB]NAME)
|
||||||
|
AC_SUBST([LIB]NAME[_PREFIX])
|
||||||
undefine([Name])
|
undefine([Name])
|
||||||
undefine([NAME])
|
undefine([NAME])
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl Determine the platform dependent parameters needed to use rpath:
|
dnl Determine the platform dependent parameters needed to use rpath:
|
||||||
dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
|
dnl acl_libext,
|
||||||
dnl hardcode_direct, hardcode_minus_L.
|
dnl acl_shlibext,
|
||||||
|
dnl acl_hardcode_libdir_flag_spec,
|
||||||
|
dnl acl_hardcode_libdir_separator,
|
||||||
|
dnl acl_hardcode_direct,
|
||||||
|
dnl acl_hardcode_minus_L.
|
||||||
AC_DEFUN([AC_LIB_RPATH],
|
AC_DEFUN([AC_LIB_RPATH],
|
||||||
[
|
[
|
||||||
dnl Tell automake >= 1.10 to complain if config.rpath is missing.
|
dnl Tell automake >= 1.10 to complain if config.rpath is missing.
|
||||||
@ -109,12 +122,14 @@ AC_DEFUN([AC_LIB_RPATH],
|
|||||||
acl_cv_rpath=done
|
acl_cv_rpath=done
|
||||||
])
|
])
|
||||||
wl="$acl_cv_wl"
|
wl="$acl_cv_wl"
|
||||||
libext="$acl_cv_libext"
|
acl_libext="$acl_cv_libext"
|
||||||
shlibext="$acl_cv_shlibext"
|
acl_shlibext="$acl_cv_shlibext"
|
||||||
hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
|
acl_libname_spec="$acl_cv_libname_spec"
|
||||||
hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
|
acl_library_names_spec="$acl_cv_library_names_spec"
|
||||||
hardcode_direct="$acl_cv_hardcode_direct"
|
acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
|
||||||
hardcode_minus_L="$acl_cv_hardcode_minus_L"
|
acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
|
||||||
|
acl_hardcode_direct="$acl_cv_hardcode_direct"
|
||||||
|
acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
|
||||||
dnl Determine whether the user wants rpath handling at all.
|
dnl Determine whether the user wants rpath handling at all.
|
||||||
AC_ARG_ENABLE(rpath,
|
AC_ARG_ENABLE(rpath,
|
||||||
[ --disable-rpath do not hardcode runtime library paths],
|
[ --disable-rpath do not hardcode runtime library paths],
|
||||||
@ -124,19 +139,24 @@ AC_DEFUN([AC_LIB_RPATH],
|
|||||||
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
|
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
|
||||||
dnl the libraries corresponding to explicit and implicit dependencies.
|
dnl the libraries corresponding to explicit and implicit dependencies.
|
||||||
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
|
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
|
||||||
|
dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
|
||||||
|
dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
|
||||||
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||||
[
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||||
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
||||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
||||||
|
dnl Autoconf >= 2.61 supports dots in --with options.
|
||||||
|
define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])])
|
||||||
dnl By default, look in $includedir and $libdir.
|
dnl By default, look in $includedir and $libdir.
|
||||||
use_additional=yes
|
use_additional=yes
|
||||||
AC_LIB_WITH_FINAL_PREFIX([
|
AC_LIB_WITH_FINAL_PREFIX([
|
||||||
eval additional_includedir=\"$includedir\"
|
eval additional_includedir=\"$includedir\"
|
||||||
eval additional_libdir=\"$libdir\"
|
eval additional_libdir=\"$libdir\"
|
||||||
])
|
])
|
||||||
AC_LIB_ARG_WITH([lib$1-prefix],
|
AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix],
|
||||||
[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
|
[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
|
||||||
--without-lib$1-prefix don't search for lib$1 in includedir and libdir],
|
--without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir],
|
||||||
[
|
[
|
||||||
if test "X$withval" = "Xno"; then
|
if test "X$withval" = "Xno"; then
|
||||||
use_additional=no
|
use_additional=no
|
||||||
@ -148,7 +168,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
])
|
])
|
||||||
else
|
else
|
||||||
additional_includedir="$withval/include"
|
additional_includedir="$withval/include"
|
||||||
additional_libdir="$withval/lib"
|
additional_libdir="$withval/$acl_libdirstem"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
@ -157,6 +177,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
LIB[]NAME=
|
LIB[]NAME=
|
||||||
LTLIB[]NAME=
|
LTLIB[]NAME=
|
||||||
INC[]NAME=
|
INC[]NAME=
|
||||||
|
LIB[]NAME[]_PREFIX=
|
||||||
rpathdirs=
|
rpathdirs=
|
||||||
ltrpathdirs=
|
ltrpathdirs=
|
||||||
names_already_handled=
|
names_already_handled=
|
||||||
@ -196,22 +217,55 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
found_la=
|
found_la=
|
||||||
found_so=
|
found_so=
|
||||||
found_a=
|
found_a=
|
||||||
|
eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
|
||||||
|
if test -n "$acl_shlibext"; then
|
||||||
|
shrext=".$acl_shlibext" # typically: shrext=.so
|
||||||
|
else
|
||||||
|
shrext=
|
||||||
|
fi
|
||||||
if test $use_additional = yes; then
|
if test $use_additional = yes; then
|
||||||
if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
|
dir="$additional_libdir"
|
||||||
found_dir="$additional_libdir"
|
dnl The same code as in the loop below:
|
||||||
found_so="$additional_libdir/lib$name.$shlibext"
|
dnl First look for a shared library.
|
||||||
if test -f "$additional_libdir/lib$name.la"; then
|
if test -n "$acl_shlibext"; then
|
||||||
found_la="$additional_libdir/lib$name.la"
|
if test -f "$dir/$libname$shrext"; then
|
||||||
fi
|
found_dir="$dir"
|
||||||
else
|
found_so="$dir/$libname$shrext"
|
||||||
if test -f "$additional_libdir/lib$name.$libext"; then
|
else
|
||||||
found_dir="$additional_libdir"
|
if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
|
||||||
found_a="$additional_libdir/lib$name.$libext"
|
ver=`(cd "$dir" && \
|
||||||
if test -f "$additional_libdir/lib$name.la"; then
|
for f in "$libname$shrext".*; do echo "$f"; done \
|
||||||
found_la="$additional_libdir/lib$name.la"
|
| sed -e "s,^$libname$shrext\\\\.,," \
|
||||||
|
| sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
|
||||||
|
| sed 1q ) 2>/dev/null`
|
||||||
|
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$libname$shrext.$ver"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
eval library_names=\"$acl_library_names_spec\"
|
||||||
|
for f in $library_names; do
|
||||||
|
if test -f "$dir/$f"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$f"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
dnl Then look for a static library.
|
||||||
|
if test "X$found_dir" = "X"; then
|
||||||
|
if test -f "$dir/$libname.$acl_libext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_a="$dir/$libname.$acl_libext"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
if test -f "$dir/$libname.la"; then
|
||||||
|
found_la="$dir/$libname.la"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if test "X$found_dir" = "X"; then
|
if test "X$found_dir" = "X"; then
|
||||||
for x in $LDFLAGS $LTLIB[]NAME; do
|
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||||
@ -219,21 +273,46 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
case "$x" in
|
case "$x" in
|
||||||
-L*)
|
-L*)
|
||||||
dir=`echo "X$x" | sed -e 's/^X-L//'`
|
dir=`echo "X$x" | sed -e 's/^X-L//'`
|
||||||
if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
|
dnl First look for a shared library.
|
||||||
found_dir="$dir"
|
if test -n "$acl_shlibext"; then
|
||||||
found_so="$dir/lib$name.$shlibext"
|
if test -f "$dir/$libname$shrext"; then
|
||||||
if test -f "$dir/lib$name.la"; then
|
|
||||||
found_la="$dir/lib$name.la"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if test -f "$dir/lib$name.$libext"; then
|
|
||||||
found_dir="$dir"
|
found_dir="$dir"
|
||||||
found_a="$dir/lib$name.$libext"
|
found_so="$dir/$libname$shrext"
|
||||||
if test -f "$dir/lib$name.la"; then
|
else
|
||||||
found_la="$dir/lib$name.la"
|
if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
|
||||||
|
ver=`(cd "$dir" && \
|
||||||
|
for f in "$libname$shrext".*; do echo "$f"; done \
|
||||||
|
| sed -e "s,^$libname$shrext\\\\.,," \
|
||||||
|
| sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
|
||||||
|
| sed 1q ) 2>/dev/null`
|
||||||
|
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$libname$shrext.$ver"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
eval library_names=\"$acl_library_names_spec\"
|
||||||
|
for f in $library_names; do
|
||||||
|
if test -f "$dir/$f"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_so="$dir/$f"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
dnl Then look for a static library.
|
||||||
|
if test "X$found_dir" = "X"; then
|
||||||
|
if test -f "$dir/$libname.$acl_libext"; then
|
||||||
|
found_dir="$dir"
|
||||||
|
found_a="$dir/$libname.$acl_libext"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "X$found_dir" != "X"; then
|
||||||
|
if test -f "$dir/$libname.la"; then
|
||||||
|
found_la="$dir/$libname.la"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
if test "X$found_dir" != "X"; then
|
if test "X$found_dir" != "X"; then
|
||||||
@ -248,7 +327,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
dnl Linking with a shared library. We attempt to hardcode its
|
dnl Linking with a shared library. We attempt to hardcode its
|
||||||
dnl directory into the executable's runpath, unless it's the
|
dnl directory into the executable's runpath, unless it's the
|
||||||
dnl standard /usr/lib.
|
dnl standard /usr/lib.
|
||||||
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
|
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
|
||||||
dnl No hardcoding is needed.
|
dnl No hardcoding is needed.
|
||||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
else
|
else
|
||||||
@ -267,12 +346,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
ltrpathdirs="$ltrpathdirs $found_dir"
|
ltrpathdirs="$ltrpathdirs $found_dir"
|
||||||
fi
|
fi
|
||||||
dnl The hardcoding into $LIBNAME is system dependent.
|
dnl The hardcoding into $LIBNAME is system dependent.
|
||||||
if test "$hardcode_direct" = yes; then
|
if test "$acl_hardcode_direct" = yes; then
|
||||||
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
|
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
|
||||||
dnl resulting binary.
|
dnl resulting binary.
|
||||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
else
|
else
|
||||||
if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
|
if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
|
||||||
dnl Use an explicit option to hardcode DIR into the resulting
|
dnl Use an explicit option to hardcode DIR into the resulting
|
||||||
dnl binary.
|
dnl binary.
|
||||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
@ -303,13 +382,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
if test -z "$haveit"; then
|
if test -z "$haveit"; then
|
||||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
|
||||||
fi
|
fi
|
||||||
if test "$hardcode_minus_L" != no; then
|
if test "$acl_hardcode_minus_L" != no; then
|
||||||
dnl FIXME: Not sure whether we should use
|
dnl FIXME: Not sure whether we should use
|
||||||
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
||||||
dnl here.
|
dnl here.
|
||||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||||
else
|
else
|
||||||
dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
|
dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
|
||||||
dnl here, because this doesn't fit in flags passed to the
|
dnl here, because this doesn't fit in flags passed to the
|
||||||
dnl compiler. So give up. No hardcoding. This affects only
|
dnl compiler. So give up. No hardcoding. This affects only
|
||||||
dnl very old systems.
|
dnl very old systems.
|
||||||
@ -334,8 +413,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
dnl Assume the include files are nearby.
|
dnl Assume the include files are nearby.
|
||||||
additional_includedir=
|
additional_includedir=
|
||||||
case "$found_dir" in
|
case "$found_dir" in
|
||||||
*/lib | */lib/)
|
*/$acl_libdirstem | */$acl_libdirstem/)
|
||||||
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
|
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
|
||||||
|
LIB[]NAME[]_PREFIX="$basedir"
|
||||||
additional_includedir="$basedir/include"
|
additional_includedir="$basedir/include"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -396,9 +476,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
dnl 3. if it's already present in $LDFLAGS or the already
|
dnl 3. if it's already present in $LDFLAGS or the already
|
||||||
dnl constructed $LIBNAME,
|
dnl constructed $LIBNAME,
|
||||||
dnl 4. if it doesn't exist as a directory.
|
dnl 4. if it doesn't exist as a directory.
|
||||||
if test "X$additional_libdir" != "X/usr/lib"; then
|
if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
|
||||||
haveit=
|
haveit=
|
||||||
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
|
||||||
if test -n "$GCC"; then
|
if test -n "$GCC"; then
|
||||||
case $host_os in
|
case $host_os in
|
||||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||||
@ -497,18 +577,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
if test "X$rpathdirs" != "X"; then
|
if test "X$rpathdirs" != "X"; then
|
||||||
if test -n "$hardcode_libdir_separator"; then
|
if test -n "$acl_hardcode_libdir_separator"; then
|
||||||
dnl Weird platform: only the last -rpath option counts, the user must
|
dnl Weird platform: only the last -rpath option counts, the user must
|
||||||
dnl pass all path elements in one option. We can arrange that for a
|
dnl pass all path elements in one option. We can arrange that for a
|
||||||
dnl single library, but not when more than one $LIBNAMEs are used.
|
dnl single library, but not when more than one $LIBNAMEs are used.
|
||||||
alldirs=
|
alldirs=
|
||||||
for found_dir in $rpathdirs; do
|
for found_dir in $rpathdirs; do
|
||||||
alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
|
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
|
||||||
done
|
done
|
||||||
dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
|
dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
|
||||||
acl_save_libdir="$libdir"
|
acl_save_libdir="$libdir"
|
||||||
libdir="$alldirs"
|
libdir="$alldirs"
|
||||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
libdir="$acl_save_libdir"
|
libdir="$acl_save_libdir"
|
||||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
||||||
else
|
else
|
||||||
@ -516,7 +596,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
|||||||
for found_dir in $rpathdirs; do
|
for found_dir in $rpathdirs; do
|
||||||
acl_save_libdir="$libdir"
|
acl_save_libdir="$libdir"
|
||||||
libdir="$found_dir"
|
libdir="$found_dir"
|
||||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
libdir="$acl_save_libdir"
|
libdir="$acl_save_libdir"
|
||||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
||||||
done
|
done
|
||||||
@ -551,3 +631,79 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
])
|
])
|
||||||
|
|
||||||
|
dnl For those cases where a variable contains several -L and -l options
|
||||||
|
dnl referring to unknown libraries and directories, this macro determines the
|
||||||
|
dnl necessary additional linker options for the runtime path.
|
||||||
|
dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
|
||||||
|
dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
|
||||||
|
dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
|
||||||
|
dnl otherwise linking without libtool is assumed.
|
||||||
|
AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([AC_LIB_RPATH])
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||||
|
$1=
|
||||||
|
if test "$enable_rpath" != no; then
|
||||||
|
if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
|
||||||
|
dnl Use an explicit option to hardcode directories into the resulting
|
||||||
|
dnl binary.
|
||||||
|
rpathdirs=
|
||||||
|
next=
|
||||||
|
for opt in $2; do
|
||||||
|
if test -n "$next"; then
|
||||||
|
dir="$next"
|
||||||
|
dnl No need to hardcode the standard /usr/lib.
|
||||||
|
if test "X$dir" != "X/usr/$acl_libdirstem"; then
|
||||||
|
rpathdirs="$rpathdirs $dir"
|
||||||
|
fi
|
||||||
|
next=
|
||||||
|
else
|
||||||
|
case $opt in
|
||||||
|
-L) next=yes ;;
|
||||||
|
-L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
|
||||||
|
dnl No need to hardcode the standard /usr/lib.
|
||||||
|
if test "X$dir" != "X/usr/$acl_libdirstem"; then
|
||||||
|
rpathdirs="$rpathdirs $dir"
|
||||||
|
fi
|
||||||
|
next= ;;
|
||||||
|
*) next= ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test "X$rpathdirs" != "X"; then
|
||||||
|
if test -n ""$3""; then
|
||||||
|
dnl libtool is used for linking. Use -R options.
|
||||||
|
for dir in $rpathdirs; do
|
||||||
|
$1="${$1}${$1:+ }-R$dir"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
dnl The linker is used for linking directly.
|
||||||
|
if test -n "$acl_hardcode_libdir_separator"; then
|
||||||
|
dnl Weird platform: only the last -rpath option counts, the user
|
||||||
|
dnl must pass all path elements in one option.
|
||||||
|
alldirs=
|
||||||
|
for dir in $rpathdirs; do
|
||||||
|
alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
|
||||||
|
done
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$alldirs"
|
||||||
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
$1="$flag"
|
||||||
|
else
|
||||||
|
dnl The -rpath options are cumulative.
|
||||||
|
for dir in $rpathdirs; do
|
||||||
|
acl_save_libdir="$libdir"
|
||||||
|
libdir="$dir"
|
||||||
|
eval flag=\"$acl_hardcode_libdir_flag_spec\"
|
||||||
|
libdir="$acl_save_libdir"
|
||||||
|
$1="${$1}${$1:+ }$flag"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST([$1])
|
||||||
|
])
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# lib-prefix.m4 serial 4 (gettext-0.14.2)
|
# lib-prefix.m4 serial 5 (gettext-0.15)
|
||||||
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
||||||
dnl This file is free software; the Free Software Foundation
|
dnl This file is free software; the Free Software Foundation
|
||||||
dnl gives unlimited permission to copy and/or distribute it,
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
@ -24,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
|||||||
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
|
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
|
||||||
AC_REQUIRE([AC_PROG_CC])
|
AC_REQUIRE([AC_PROG_CC])
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
|
||||||
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
||||||
dnl By default, look in $includedir and $libdir.
|
dnl By default, look in $includedir and $libdir.
|
||||||
use_additional=yes
|
use_additional=yes
|
||||||
@ -45,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
|||||||
])
|
])
|
||||||
else
|
else
|
||||||
additional_includedir="$withval/include"
|
additional_includedir="$withval/include"
|
||||||
additional_libdir="$withval/lib"
|
additional_libdir="$withval/$acl_libdirstem"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
@ -87,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
|||||||
dnl 2. if it's already present in $LDFLAGS,
|
dnl 2. if it's already present in $LDFLAGS,
|
||||||
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
|
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
|
||||||
dnl 4. if it doesn't exist as a directory.
|
dnl 4. if it doesn't exist as a directory.
|
||||||
if test "X$additional_libdir" != "X/usr/lib"; then
|
if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
|
||||||
haveit=
|
haveit=
|
||||||
for x in $LDFLAGS; do
|
for x in $LDFLAGS; do
|
||||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||||
@ -97,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if test -z "$haveit"; then
|
if test -z "$haveit"; then
|
||||||
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
|
||||||
if test -n "$GCC"; then
|
if test -n "$GCC"; then
|
||||||
case $host_os in
|
case $host_os in
|
||||||
linux*) haveit=yes;;
|
linux*) haveit=yes;;
|
||||||
@ -151,3 +152,34 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
|
|||||||
exec_prefix="$acl_save_exec_prefix"
|
exec_prefix="$acl_save_exec_prefix"
|
||||||
prefix="$acl_save_prefix"
|
prefix="$acl_save_prefix"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
|
||||||
|
dnl the basename of the libdir, either "lib" or "lib64".
|
||||||
|
AC_DEFUN([AC_LIB_PREPARE_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".
|
||||||
|
acl_libdirstem=lib
|
||||||
|
searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
|
||||||
|
if test -n "$searchpath"; then
|
||||||
|
acl_save_IFS="${IFS= }"; IFS=":"
|
||||||
|
for searchdir in $searchpath; do
|
||||||
|
if test -d "$searchdir"; then
|
||||||
|
case "$searchdir" in
|
||||||
|
*/lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
|
||||||
|
*) searchdir=`cd "$searchdir" && pwd`
|
||||||
|
case "$searchdir" in
|
||||||
|
*/lib64 ) acl_libdirstem=lib64 ;;
|
||||||
|
esac ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS="$acl_save_IFS"
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
Loading…
Reference in New Issue
Block a user