Index: third_party/yasm/patched-yasm/m4/lib-link.m4 |
=================================================================== |
--- third_party/yasm/patched-yasm/m4/lib-link.m4 (revision 71129) |
+++ third_party/yasm/patched-yasm/m4/lib-link.m4 (working copy) |
@@ -1,17 +1,19 @@ |
-# lib-link.m4 serial 9 (gettext-0.16) |
-dnl Copyright (C) 2001-2006 Free Software Foundation, Inc. |
+# lib-link.m4 serial 13 (gettext-0.17) |
+dnl Copyright (C) 2001-2007 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. |
-AC_PREREQ(2.50) |
+AC_PREREQ(2.54) |
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and |
dnl the libraries corresponding to explicit and implicit dependencies. |
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and |
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_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
@@ -24,13 +26,16 @@ |
ac_cv_lib[]Name[]_libs="$LIB[]NAME" |
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" |
ac_cv_lib[]Name[]_cppflags="$INC[]NAME" |
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" |
]) |
LIB[]NAME="$ac_cv_lib[]Name[]_libs" |
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" |
INC[]NAME="$ac_cv_lib[]Name[]_cppflags" |
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" |
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) |
AC_SUBST([LIB]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 results of this search when this library appears as a dependency. |
HAVE_LIB[]NAME=yes |
@@ -46,6 +51,8 @@ |
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and |
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 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_REQUIRE([AC_LIB_PREPARE_PREFIX]) |
@@ -82,17 +89,23 @@ |
CPPFLAGS="$ac_save_CPPFLAGS" |
LIB[]NAME= |
LTLIB[]NAME= |
+ LIB[]NAME[]_PREFIX= |
fi |
AC_SUBST([HAVE_LIB]NAME) |
AC_SUBST([LIB]NAME) |
AC_SUBST([LTLIB]NAME) |
+ AC_SUBST([LIB]NAME[_PREFIX]) |
undefine([Name]) |
undefine([NAME]) |
]) |
dnl Determine the platform dependent parameters needed to use rpath: |
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, |
-dnl hardcode_direct, hardcode_minus_L. |
+dnl acl_libext, |
+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], |
[ |
dnl Tell automake >= 1.10 to complain if config.rpath is missing. |
@@ -109,12 +122,14 @@ |
acl_cv_rpath=done |
]) |
wl="$acl_cv_wl" |
- libext="$acl_cv_libext" |
- shlibext="$acl_cv_shlibext" |
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" |
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" |
- hardcode_direct="$acl_cv_hardcode_direct" |
- hardcode_minus_L="$acl_cv_hardcode_minus_L" |
+ acl_libext="$acl_cv_libext" |
+ acl_shlibext="$acl_cv_shlibext" |
+ acl_libname_spec="$acl_cv_libname_spec" |
+ acl_library_names_spec="$acl_cv_library_names_spec" |
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" |
+ 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. |
AC_ARG_ENABLE(rpath, |
[ --disable-rpath do not hardcode runtime library paths], |
@@ -124,20 +139,24 @@ |
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and |
dnl the libraries corresponding to explicit and implicit dependencies. |
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_REQUIRE([AC_LIB_PREPARE_MULTILIB]) |
define([NAME],[translit([$1],[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. |
use_additional=yes |
AC_LIB_WITH_FINAL_PREFIX([ |
eval additional_includedir=\"$includedir\" |
eval additional_libdir=\"$libdir\" |
]) |
- AC_LIB_ARG_WITH([lib$1-prefix], |
-[ --with-lib$1-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], |
+ AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], |
+[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib |
+ --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], |
[ |
if test "X$withval" = "Xno"; then |
use_additional=no |
@@ -158,6 +177,7 @@ |
LIB[]NAME= |
LTLIB[]NAME= |
INC[]NAME= |
+ LIB[]NAME[]_PREFIX= |
rpathdirs= |
ltrpathdirs= |
names_already_handled= |
@@ -197,27 +217,53 @@ |
found_la= |
found_so= |
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 -n "$shlibext" \ |
- && { test -f "$additional_libdir/lib$name.$shlibext" \ |
- || { test "$shlibext" = dll \ |
- && test -f "$additional_libdir/lib$name.dll.a"; }; }; then |
- found_dir="$additional_libdir" |
- if test -f "$additional_libdir/lib$name.$shlibext"; then |
- found_so="$additional_libdir/lib$name.$shlibext" |
+ dir="$additional_libdir" |
+ dnl The same code as in the loop below: |
+ dnl First look for a shared library. |
+ if test -n "$acl_shlibext"; then |
+ if test -f "$dir/$libname$shrext"; then |
+ found_dir="$dir" |
+ found_so="$dir/$libname$shrext" |
else |
- found_so="$additional_libdir/lib$name.dll.a" |
+ 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 |
- if test -f "$additional_libdir/lib$name.la"; then |
- found_la="$additional_libdir/lib$name.la" |
+ 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 |
- else |
- if test -f "$additional_libdir/lib$name.$libext"; then |
- found_dir="$additional_libdir" |
- found_a="$additional_libdir/lib$name.$libext" |
- if test -f "$additional_libdir/lib$name.la"; then |
- found_la="$additional_libdir/lib$name.la" |
- fi |
+ fi |
+ if test "X$found_dir" != "X"; then |
+ if test -f "$dir/$libname.la"; then |
+ found_la="$dir/$libname.la" |
fi |
fi |
fi |
@@ -227,28 +273,46 @@ |
case "$x" in |
-L*) |
dir=`echo "X$x" | sed -e 's/^X-L//'` |
- if test -n "$shlibext" \ |
- && { test -f "$dir/lib$name.$shlibext" \ |
- || { test "$shlibext" = dll \ |
- && test -f "$dir/lib$name.dll.a"; }; }; then |
- found_dir="$dir" |
- if test -f "$dir/lib$name.$shlibext"; then |
- found_so="$dir/lib$name.$shlibext" |
+ dnl First look for a shared library. |
+ if test -n "$acl_shlibext"; then |
+ if test -f "$dir/$libname$shrext"; then |
+ found_dir="$dir" |
+ found_so="$dir/$libname$shrext" |
else |
- found_so="$dir/lib$name.dll.a" |
+ 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 |
- if test -f "$dir/lib$name.la"; then |
- found_la="$dir/lib$name.la" |
- fi |
- else |
- if test -f "$dir/lib$name.$libext"; then |
+ 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/lib$name.$libext" |
- if test -f "$dir/lib$name.la"; then |
- found_la="$dir/lib$name.la" |
- fi |
+ 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 |
if test "X$found_dir" != "X"; then |
@@ -282,12 +346,12 @@ |
ltrpathdirs="$ltrpathdirs $found_dir" |
fi |
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 resulting binary. |
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
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 binary. |
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
@@ -318,13 +382,13 @@ |
if test -z "$haveit"; then |
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" |
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 "-L$found_dir -l$name" or "-L$found_dir $found_so" |
dnl here. |
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" |
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 compiler. So give up. No hardcoding. This affects only |
dnl very old systems. |
@@ -351,6 +415,7 @@ |
case "$found_dir" in |
*/$acl_libdirstem | */$acl_libdirstem/) |
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` |
+ LIB[]NAME[]_PREFIX="$basedir" |
additional_includedir="$basedir/include" |
;; |
esac |
@@ -512,18 +577,18 @@ |
done |
done |
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 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. |
alldirs= |
for found_dir in $rpathdirs; do |
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" |
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" |
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" |
libdir="$alldirs" |
- eval flag=\"$hardcode_libdir_flag_spec\" |
+ eval flag=\"$acl_hardcode_libdir_flag_spec\" |
libdir="$acl_save_libdir" |
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" |
else |
@@ -531,7 +596,7 @@ |
for found_dir in $rpathdirs; do |
acl_save_libdir="$libdir" |
libdir="$found_dir" |
- eval flag=\"$hardcode_libdir_flag_spec\" |
+ eval flag=\"$acl_hardcode_libdir_flag_spec\" |
libdir="$acl_save_libdir" |
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" |
done |
@@ -580,7 +645,7 @@ |
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) |
$1= |
if test "$enable_rpath" != no; then |
- 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 directories into the resulting |
dnl binary. |
rpathdirs= |
@@ -614,16 +679,16 @@ |
done |
else |
dnl The linker is used for linking directly. |
- 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 |
dnl must pass all path elements in one option. |
alldirs= |
for dir in $rpathdirs; do |
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir" |
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" |
done |
acl_save_libdir="$libdir" |
libdir="$alldirs" |
- eval flag=\"$hardcode_libdir_flag_spec\" |
+ eval flag=\"$acl_hardcode_libdir_flag_spec\" |
libdir="$acl_save_libdir" |
$1="$flag" |
else |
@@ -631,7 +696,7 @@ |
for dir in $rpathdirs; do |
acl_save_libdir="$libdir" |
libdir="$dir" |
- eval flag=\"$hardcode_libdir_flag_spec\" |
+ eval flag=\"$acl_hardcode_libdir_flag_spec\" |
libdir="$acl_save_libdir" |
$1="${$1}${$1:+ }$flag" |
done |