introduce missing-macros meta package, this will supply needed m4 macros which are used but not shipped by various packages in feeds
SVN-Revision: 24753
This commit is contained in:
		
							
								
								
									
										10
									
								
								tools/missing-macros/src/README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tools/missing-macros/src/README
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| The m4/ directory below contains various m4 macros used | ||||
| by different packages in the OpenWrt feed. | ||||
|  | ||||
|  | ||||
| From GNU gettext: | ||||
|  | ||||
|   lib-ld.m4 | ||||
|   lib-link.m4 | ||||
|   lib-prefix.m4 | ||||
|  | ||||
							
								
								
									
										110
									
								
								tools/missing-macros/src/m4/lib-ld.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								tools/missing-macros/src/m4/lib-ld.m4
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | ||||
| # lib-ld.m4 serial 4 (gettext-0.18) | ||||
| dnl Copyright (C) 1996-2003, 2009-2010 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 Subroutines of libtool.m4, | ||||
| dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision | ||||
| dnl with libtool.m4. | ||||
|  | ||||
| dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. | ||||
| AC_DEFUN([AC_LIB_PROG_LD_GNU], | ||||
| [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], | ||||
| [# I'd rather use --version here, but apparently some GNU ld's only accept -v. | ||||
| case `$LD -v 2>&1 </dev/null` in | ||||
| *GNU* | *'with BFD'*) | ||||
|   acl_cv_prog_gnu_ld=yes ;; | ||||
| *) | ||||
|   acl_cv_prog_gnu_ld=no ;; | ||||
| esac]) | ||||
| with_gnu_ld=$acl_cv_prog_gnu_ld | ||||
| ]) | ||||
|  | ||||
| dnl From libtool-1.4. Sets the variable LD. | ||||
| AC_DEFUN([AC_LIB_PROG_LD], | ||||
| [AC_ARG_WITH([gnu-ld], | ||||
| [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]], | ||||
| test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) | ||||
| AC_REQUIRE([AC_PROG_CC])dnl | ||||
| AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||||
| # Prepare PATH_SEPARATOR. | ||||
| # The user is always right. | ||||
| if test "${PATH_SEPARATOR+set}" != set; then | ||||
|   echo "#! /bin/sh" >conf$$.sh | ||||
|   echo  "exit 0"   >>conf$$.sh | ||||
|   chmod +x conf$$.sh | ||||
|   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | ||||
|     PATH_SEPARATOR=';' | ||||
|   else | ||||
|     PATH_SEPARATOR=: | ||||
|   fi | ||||
|   rm -f conf$$.sh | ||||
| fi | ||||
| ac_prog=ld | ||||
| if test "$GCC" = yes; then | ||||
|   # Check if gcc -print-prog-name=ld gives a path. | ||||
|   AC_MSG_CHECKING([for ld used by GCC]) | ||||
|   case $host in | ||||
|   *-*-mingw*) | ||||
|     # gcc leaves a trailing carriage return which upsets mingw | ||||
|     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||||
|   *) | ||||
|     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||||
|   esac | ||||
|   case $ac_prog in | ||||
|     # Accept absolute paths. | ||||
|     [[\\/]* | [A-Za-z]:[\\/]*)] | ||||
|       [re_direlt='/[^/][^/]*/\.\./'] | ||||
|       # Canonicalize the path of ld | ||||
|       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | ||||
|       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | ||||
|         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | ||||
|       done | ||||
|       test -z "$LD" && LD="$ac_prog" | ||||
|       ;; | ||||
|   "") | ||||
|     # If it fails, then pretend we aren't using GCC. | ||||
|     ac_prog=ld | ||||
|     ;; | ||||
|   *) | ||||
|     # If it is relative, then search for the first ld in PATH. | ||||
|     with_gnu_ld=unknown | ||||
|     ;; | ||||
|   esac | ||||
| elif test "$with_gnu_ld" = yes; then | ||||
|   AC_MSG_CHECKING([for GNU ld]) | ||||
| else | ||||
|   AC_MSG_CHECKING([for non-GNU ld]) | ||||
| fi | ||||
| AC_CACHE_VAL([acl_cv_path_LD], | ||||
| [if test -z "$LD"; then | ||||
|   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | ||||
|   for ac_dir in $PATH; do | ||||
|     test -z "$ac_dir" && ac_dir=. | ||||
|     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||||
|       acl_cv_path_LD="$ac_dir/$ac_prog" | ||||
|       # Check to see if the program is GNU ld.  I'd rather use --version, | ||||
|       # but apparently some GNU ld's only accept -v. | ||||
|       # Break only if it was the GNU/non-GNU ld that we prefer. | ||||
|       case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in | ||||
|       *GNU* | *'with BFD'*) | ||||
|         test "$with_gnu_ld" != no && break ;; | ||||
|       *) | ||||
|         test "$with_gnu_ld" != yes && break ;; | ||||
|       esac | ||||
|     fi | ||||
|   done | ||||
|   IFS="$ac_save_ifs" | ||||
| else | ||||
|   acl_cv_path_LD="$LD" # Let the user override the test with a path. | ||||
| fi]) | ||||
| LD="$acl_cv_path_LD" | ||||
| if test -n "$LD"; then | ||||
|   AC_MSG_RESULT([$LD]) | ||||
| else | ||||
|   AC_MSG_RESULT([no]) | ||||
| fi | ||||
| test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||||
| AC_LIB_PROG_LD_GNU | ||||
| ]) | ||||
							
								
								
									
										774
									
								
								tools/missing-macros/src/m4/lib-link.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										774
									
								
								tools/missing-macros/src/m4/lib-link.m4
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,774 @@ | ||||
| # lib-link.m4 serial 21 (gettext-0.18) | ||||
| dnl Copyright (C) 2001-2010 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.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]) | ||||
|   AC_REQUIRE([AC_LIB_RPATH]) | ||||
|   pushdef([Name],[translit([$1],[./-], [___])]) | ||||
|   pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||||
|                                 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||||
|   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ | ||||
|     AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||||
|     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 | ||||
|   popdef([NAME]) | ||||
|   popdef([Name]) | ||||
| ]) | ||||
|  | ||||
| dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) | ||||
| dnl searches for libname and the libraries corresponding to explicit and | ||||
| dnl implicit dependencies, together with the specified include files and | ||||
| dnl the ability to compile and link the specified testcode. The missing-message | ||||
| dnl defaults to 'no' and may contain additional hints for the user. | ||||
| dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} | ||||
| dnl and 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]) | ||||
|   AC_REQUIRE([AC_LIB_RPATH]) | ||||
|   pushdef([Name],[translit([$1],[./-], [___])]) | ||||
|   pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||||
|                                 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||||
|  | ||||
|   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME | ||||
|   dnl accordingly. | ||||
|   AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||||
|  | ||||
|   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, | ||||
|   dnl because if the user has installed lib[]Name and not disabled its use | ||||
|   dnl via --without-lib[]Name-prefix, he wants to use it. | ||||
|   ac_save_CPPFLAGS="$CPPFLAGS" | ||||
|   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||||
|  | ||||
|   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ | ||||
|     ac_save_LIBS="$LIBS" | ||||
|     dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, | ||||
|     dnl because these -l options might require -L options that are present in | ||||
|     dnl LIBS. -l options benefit only from the -L options listed before it. | ||||
|     dnl Otherwise, add it to the front of LIBS, because it may be a static | ||||
|     dnl library that depends on another static library that is present in LIBS. | ||||
|     dnl Static libraries benefit only from the static libraries listed after | ||||
|     dnl it. | ||||
|     case " $LIB[]NAME" in | ||||
|       *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; | ||||
|       *)       LIBS="$LIB[]NAME $LIBS" ;; | ||||
|     esac | ||||
|     AC_TRY_LINK([$3], [$4], | ||||
|       [ac_cv_lib[]Name=yes], | ||||
|       [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) | ||||
|     LIBS="$ac_save_LIBS" | ||||
|   ]) | ||||
|   if test "$ac_cv_lib[]Name" = yes; then | ||||
|     HAVE_LIB[]NAME=yes | ||||
|     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) | ||||
|     AC_MSG_CHECKING([how to link with lib[]$1]) | ||||
|     AC_MSG_RESULT([$LIB[]NAME]) | ||||
|   else | ||||
|     HAVE_LIB[]NAME=no | ||||
|     dnl If $LIB[]NAME didn't lead to a usable library, we don't need | ||||
|     dnl $INC[]NAME either. | ||||
|     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]) | ||||
|   popdef([NAME]) | ||||
|   popdef([Name]) | ||||
| ]) | ||||
|  | ||||
| dnl Determine the platform dependent parameters needed to use rpath: | ||||
| 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. | ||||
|   m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) | ||||
|   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS | ||||
|   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld | ||||
|   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host | ||||
|   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir | ||||
|   AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ | ||||
|     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ | ||||
|     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh | ||||
|     . ./conftest.sh | ||||
|     rm -f ./conftest.sh | ||||
|     acl_cv_rpath=done | ||||
|   ]) | ||||
|   wl="$acl_cv_wl" | ||||
|   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], | ||||
|     :, enable_rpath=yes) | ||||
| ]) | ||||
|  | ||||
| dnl AC_LIB_FROMPACKAGE(name, package) | ||||
| dnl declares that libname comes from the given package. The configure file | ||||
| dnl will then not have a --with-libname-prefix option but a | ||||
| dnl --with-package-prefix option. Several libraries can come from the same | ||||
| dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar | ||||
| dnl macro call that searches for libname. | ||||
| AC_DEFUN([AC_LIB_FROMPACKAGE], | ||||
| [ | ||||
|   pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||||
|                                 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||||
|   define([acl_frompackage_]NAME, [$2]) | ||||
|   popdef([NAME]) | ||||
|   pushdef([PACK],[$2]) | ||||
|   pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], | ||||
|                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||||
|   define([acl_libsinpackage_]PACKUP, | ||||
|     m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) | ||||
|   popdef([PACKUP]) | ||||
|   popdef([PACK]) | ||||
| ]) | ||||
|  | ||||
| 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]) | ||||
|   pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||||
|                                 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||||
|   pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) | ||||
|   pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], | ||||
|                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||||
|   pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) | ||||
|   dnl Autoconf >= 2.61 supports dots in --with options. | ||||
|   pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) | ||||
|   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_ARG_WITH(P_A_C_K[-prefix], | ||||
| [[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib | ||||
|   --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]], | ||||
| [ | ||||
|     if test "X$withval" = "Xno"; then | ||||
|       use_additional=no | ||||
|     else | ||||
|       if test "X$withval" = "X"; then | ||||
|         AC_LIB_WITH_FINAL_PREFIX([ | ||||
|           eval additional_includedir=\"$includedir\" | ||||
|           eval additional_libdir=\"$libdir\" | ||||
|         ]) | ||||
|       else | ||||
|         additional_includedir="$withval/include" | ||||
|         additional_libdir="$withval/$acl_libdirstem" | ||||
|         if test "$acl_libdirstem2" != "$acl_libdirstem" \ | ||||
|            && ! test -d "$withval/$acl_libdirstem"; then | ||||
|           additional_libdir="$withval/$acl_libdirstem2" | ||||
|         fi | ||||
|       fi | ||||
|     fi | ||||
| ]) | ||||
|   dnl Search the library and its dependencies in $additional_libdir and | ||||
|   dnl $LDFLAGS. Using breadth-first-seach. | ||||
|   LIB[]NAME= | ||||
|   LTLIB[]NAME= | ||||
|   INC[]NAME= | ||||
|   LIB[]NAME[]_PREFIX= | ||||
|   dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been | ||||
|   dnl computed. So it has to be reset here. | ||||
|   HAVE_LIB[]NAME= | ||||
|   rpathdirs= | ||||
|   ltrpathdirs= | ||||
|   names_already_handled= | ||||
|   names_next_round='$1 $2' | ||||
|   while test -n "$names_next_round"; do | ||||
|     names_this_round="$names_next_round" | ||||
|     names_next_round= | ||||
|     for name in $names_this_round; do | ||||
|       already_handled= | ||||
|       for n in $names_already_handled; do | ||||
|         if test "$n" = "$name"; then | ||||
|           already_handled=yes | ||||
|           break | ||||
|         fi | ||||
|       done | ||||
|       if test -z "$already_handled"; then | ||||
|         names_already_handled="$names_already_handled $name" | ||||
|         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS | ||||
|         dnl or AC_LIB_HAVE_LINKFLAGS call. | ||||
|         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` | ||||
|         eval value=\"\$HAVE_LIB$uppername\" | ||||
|         if test -n "$value"; then | ||||
|           if test "$value" = yes; then | ||||
|             eval value=\"\$LIB$uppername\" | ||||
|             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" | ||||
|             eval value=\"\$LTLIB$uppername\" | ||||
|             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" | ||||
|           else | ||||
|             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined | ||||
|             dnl that this library doesn't exist. So just drop it. | ||||
|             : | ||||
|           fi | ||||
|         else | ||||
|           dnl Search the library lib$name in $additional_libdir and $LDFLAGS | ||||
|           dnl and the already constructed $LIBNAME/$LTLIBNAME. | ||||
|           found_dir= | ||||
|           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 | ||||
|             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 | ||||
|                 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 | ||||
|             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 | ||||
|           if test "X$found_dir" = "X"; then | ||||
|             for x in $LDFLAGS $LTLIB[]NAME; do | ||||
|               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|               case "$x" in | ||||
|                 -L*) | ||||
|                   dir=`echo "X$x" | sed -e 's/^X-L//'` | ||||
|                   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 | ||||
|                       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 | ||||
|                   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 | ||||
|               if test "X$found_dir" != "X"; then | ||||
|                 break | ||||
|               fi | ||||
|             done | ||||
|           fi | ||||
|           if test "X$found_dir" != "X"; then | ||||
|             dnl Found the library. | ||||
|             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" | ||||
|             if test "X$found_so" != "X"; then | ||||
|               dnl Linking with a shared library. We attempt to hardcode its | ||||
|               dnl directory into the executable's runpath, unless it's the | ||||
|               dnl standard /usr/lib. | ||||
|               if test "$enable_rpath" = no \ | ||||
|                  || test "X$found_dir" = "X/usr/$acl_libdirstem" \ | ||||
|                  || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then | ||||
|                 dnl No hardcoding is needed. | ||||
|                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||||
|               else | ||||
|                 dnl Use an explicit option to hardcode DIR into the resulting | ||||
|                 dnl binary. | ||||
|                 dnl Potentially add DIR to ltrpathdirs. | ||||
|                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||||
|                 haveit= | ||||
|                 for x in $ltrpathdirs; do | ||||
|                   if test "X$x" = "X$found_dir"; then | ||||
|                     haveit=yes | ||||
|                     break | ||||
|                   fi | ||||
|                 done | ||||
|                 if test -z "$haveit"; then | ||||
|                   ltrpathdirs="$ltrpathdirs $found_dir" | ||||
|                 fi | ||||
|                 dnl The hardcoding into $LIBNAME is system dependent. | ||||
|                 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 "$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" | ||||
|                     dnl Potentially add DIR to rpathdirs. | ||||
|                     dnl The rpathdirs will be appended to $LIBNAME at the end. | ||||
|                     haveit= | ||||
|                     for x in $rpathdirs; do | ||||
|                       if test "X$x" = "X$found_dir"; then | ||||
|                         haveit=yes | ||||
|                         break | ||||
|                       fi | ||||
|                     done | ||||
|                     if test -z "$haveit"; then | ||||
|                       rpathdirs="$rpathdirs $found_dir" | ||||
|                     fi | ||||
|                   else | ||||
|                     dnl Rely on "-L$found_dir". | ||||
|                     dnl But don't add it if it's already contained in the LDFLAGS | ||||
|                     dnl or the already constructed $LIBNAME | ||||
|                     haveit= | ||||
|                     for x in $LDFLAGS $LIB[]NAME; do | ||||
|                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|                       if test "X$x" = "X-L$found_dir"; then | ||||
|                         haveit=yes | ||||
|                         break | ||||
|                       fi | ||||
|                     done | ||||
|                     if test -z "$haveit"; then | ||||
|                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" | ||||
|                     fi | ||||
|                     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 $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. | ||||
|                       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:+ }-l$name" | ||||
|                     fi | ||||
|                   fi | ||||
|                 fi | ||||
|               fi | ||||
|             else | ||||
|               if test "X$found_a" != "X"; then | ||||
|                 dnl Linking with a static library. | ||||
|                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" | ||||
|               else | ||||
|                 dnl We shouldn't come here, but anyway it's good to have a | ||||
|                 dnl fallback. | ||||
|                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" | ||||
|               fi | ||||
|             fi | ||||
|             dnl Assume the include files are nearby. | ||||
|             additional_includedir= | ||||
|             case "$found_dir" in | ||||
|               */$acl_libdirstem | */$acl_libdirstem/) | ||||
|                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` | ||||
|                 if test "$name" = '$1'; then | ||||
|                   LIB[]NAME[]_PREFIX="$basedir" | ||||
|                 fi | ||||
|                 additional_includedir="$basedir/include" | ||||
|                 ;; | ||||
|               */$acl_libdirstem2 | */$acl_libdirstem2/) | ||||
|                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` | ||||
|                 if test "$name" = '$1'; then | ||||
|                   LIB[]NAME[]_PREFIX="$basedir" | ||||
|                 fi | ||||
|                 additional_includedir="$basedir/include" | ||||
|                 ;; | ||||
|             esac | ||||
|             if test "X$additional_includedir" != "X"; then | ||||
|               dnl Potentially add $additional_includedir to $INCNAME. | ||||
|               dnl But don't add it | ||||
|               dnl   1. if it's the standard /usr/include, | ||||
|               dnl   2. if it's /usr/local/include and we are using GCC on Linux, | ||||
|               dnl   3. if it's already present in $CPPFLAGS or the already | ||||
|               dnl      constructed $INCNAME, | ||||
|               dnl   4. if it doesn't exist as a directory. | ||||
|               if test "X$additional_includedir" != "X/usr/include"; then | ||||
|                 haveit= | ||||
|                 if test "X$additional_includedir" = "X/usr/local/include"; then | ||||
|                   if test -n "$GCC"; then | ||||
|                     case $host_os in | ||||
|                       linux* | gnu* | k*bsd*-gnu) haveit=yes;; | ||||
|                     esac | ||||
|                   fi | ||||
|                 fi | ||||
|                 if test -z "$haveit"; then | ||||
|                   for x in $CPPFLAGS $INC[]NAME; do | ||||
|                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|                     if test "X$x" = "X-I$additional_includedir"; then | ||||
|                       haveit=yes | ||||
|                       break | ||||
|                     fi | ||||
|                   done | ||||
|                   if test -z "$haveit"; then | ||||
|                     if test -d "$additional_includedir"; then | ||||
|                       dnl Really add $additional_includedir to $INCNAME. | ||||
|                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" | ||||
|                     fi | ||||
|                   fi | ||||
|                 fi | ||||
|               fi | ||||
|             fi | ||||
|             dnl Look for dependencies. | ||||
|             if test -n "$found_la"; then | ||||
|               dnl Read the .la file. It defines the variables | ||||
|               dnl dlname, library_names, old_library, dependency_libs, current, | ||||
|               dnl age, revision, installed, dlopen, dlpreopen, libdir. | ||||
|               save_libdir="$libdir" | ||||
|               case "$found_la" in | ||||
|                 */* | *\\*) . "$found_la" ;; | ||||
|                 *) . "./$found_la" ;; | ||||
|               esac | ||||
|               libdir="$save_libdir" | ||||
|               dnl We use only dependency_libs. | ||||
|               for dep in $dependency_libs; do | ||||
|                 case "$dep" in | ||||
|                   -L*) | ||||
|                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` | ||||
|                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. | ||||
|                     dnl But don't add it | ||||
|                     dnl   1. if it's the standard /usr/lib, | ||||
|                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux, | ||||
|                     dnl   3. if it's already present in $LDFLAGS or the already | ||||
|                     dnl      constructed $LIBNAME, | ||||
|                     dnl   4. if it doesn't exist as a directory. | ||||
|                     if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ | ||||
|                        && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then | ||||
|                       haveit= | ||||
|                       if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ | ||||
|                          || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then | ||||
|                         if test -n "$GCC"; then | ||||
|                           case $host_os in | ||||
|                             linux* | gnu* | k*bsd*-gnu) haveit=yes;; | ||||
|                           esac | ||||
|                         fi | ||||
|                       fi | ||||
|                       if test -z "$haveit"; then | ||||
|                         haveit= | ||||
|                         for x in $LDFLAGS $LIB[]NAME; do | ||||
|                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|                           if test "X$x" = "X-L$additional_libdir"; then | ||||
|                             haveit=yes | ||||
|                             break | ||||
|                           fi | ||||
|                         done | ||||
|                         if test -z "$haveit"; then | ||||
|                           if test -d "$additional_libdir"; then | ||||
|                             dnl Really add $additional_libdir to $LIBNAME. | ||||
|                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" | ||||
|                           fi | ||||
|                         fi | ||||
|                         haveit= | ||||
|                         for x in $LDFLAGS $LTLIB[]NAME; do | ||||
|                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|                           if test "X$x" = "X-L$additional_libdir"; then | ||||
|                             haveit=yes | ||||
|                             break | ||||
|                           fi | ||||
|                         done | ||||
|                         if test -z "$haveit"; then | ||||
|                           if test -d "$additional_libdir"; then | ||||
|                             dnl Really add $additional_libdir to $LTLIBNAME. | ||||
|                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" | ||||
|                           fi | ||||
|                         fi | ||||
|                       fi | ||||
|                     fi | ||||
|                     ;; | ||||
|                   -R*) | ||||
|                     dir=`echo "X$dep" | sed -e 's/^X-R//'` | ||||
|                     if test "$enable_rpath" != no; then | ||||
|                       dnl Potentially add DIR to rpathdirs. | ||||
|                       dnl The rpathdirs will be appended to $LIBNAME at the end. | ||||
|                       haveit= | ||||
|                       for x in $rpathdirs; do | ||||
|                         if test "X$x" = "X$dir"; then | ||||
|                           haveit=yes | ||||
|                           break | ||||
|                         fi | ||||
|                       done | ||||
|                       if test -z "$haveit"; then | ||||
|                         rpathdirs="$rpathdirs $dir" | ||||
|                       fi | ||||
|                       dnl Potentially add DIR to ltrpathdirs. | ||||
|                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||||
|                       haveit= | ||||
|                       for x in $ltrpathdirs; do | ||||
|                         if test "X$x" = "X$dir"; then | ||||
|                           haveit=yes | ||||
|                           break | ||||
|                         fi | ||||
|                       done | ||||
|                       if test -z "$haveit"; then | ||||
|                         ltrpathdirs="$ltrpathdirs $dir" | ||||
|                       fi | ||||
|                     fi | ||||
|                     ;; | ||||
|                   -l*) | ||||
|                     dnl Handle this in the next round. | ||||
|                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` | ||||
|                     ;; | ||||
|                   *.la) | ||||
|                     dnl Handle this in the next round. Throw away the .la's | ||||
|                     dnl directory; it is already contained in a preceding -L | ||||
|                     dnl option. | ||||
|                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` | ||||
|                     ;; | ||||
|                   *) | ||||
|                     dnl Most likely an immediate library name. | ||||
|                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" | ||||
|                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" | ||||
|                     ;; | ||||
|                 esac | ||||
|               done | ||||
|             fi | ||||
|           else | ||||
|             dnl Didn't find the library; assume it is in the system directories | ||||
|             dnl known to the linker and runtime loader. (All the system | ||||
|             dnl directories known to the linker should also be known to the | ||||
|             dnl runtime loader, otherwise the system is severely misconfigured.) | ||||
|             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" | ||||
|             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" | ||||
|           fi | ||||
|         fi | ||||
|       fi | ||||
|     done | ||||
|   done | ||||
|   if test "X$rpathdirs" != "X"; 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:+$acl_hardcode_libdir_separator}$found_dir" | ||||
|       done | ||||
|       dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. | ||||
|       acl_save_libdir="$libdir" | ||||
|       libdir="$alldirs" | ||||
|       eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||||
|       libdir="$acl_save_libdir" | ||||
|       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||||
|     else | ||||
|       dnl The -rpath options are cumulative. | ||||
|       for found_dir in $rpathdirs; do | ||||
|         acl_save_libdir="$libdir" | ||||
|         libdir="$found_dir" | ||||
|         eval flag=\"$acl_hardcode_libdir_flag_spec\" | ||||
|         libdir="$acl_save_libdir" | ||||
|         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||||
|       done | ||||
|     fi | ||||
|   fi | ||||
|   if test "X$ltrpathdirs" != "X"; then | ||||
|     dnl When using libtool, the option that works for both libraries and | ||||
|     dnl executables is -R. The -R options are cumulative. | ||||
|     for found_dir in $ltrpathdirs; do | ||||
|       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" | ||||
|     done | ||||
|   fi | ||||
|   popdef([P_A_C_K]) | ||||
|   popdef([PACKLIBS]) | ||||
|   popdef([PACKUP]) | ||||
|   popdef([PACK]) | ||||
|   popdef([NAME]) | ||||
| ]) | ||||
|  | ||||
| dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, | ||||
| dnl unless already present in VAR. | ||||
| dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes | ||||
| dnl contains two or three consecutive elements that belong together. | ||||
| AC_DEFUN([AC_LIB_APPENDTOVAR], | ||||
| [ | ||||
|   for element in [$2]; do | ||||
|     haveit= | ||||
|     for x in $[$1]; do | ||||
|       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|       if test "X$x" = "X$element"; then | ||||
|         haveit=yes | ||||
|         break | ||||
|       fi | ||||
|     done | ||||
|     if test -z "$haveit"; then | ||||
|       [$1]="${[$1]}${[$1]:+ }$element" | ||||
|     fi | ||||
|   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" \ | ||||
|              && test "X$dir" != "X/usr/$acl_libdirstem2"; 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" \ | ||||
|                     && test "X$dir" != "X/usr/$acl_libdirstem2"; 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]) | ||||
| ]) | ||||
							
								
								
									
										224
									
								
								tools/missing-macros/src/m4/lib-prefix.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										224
									
								
								tools/missing-macros/src/m4/lib-prefix.m4
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,224 @@ | ||||
| # lib-prefix.m4 serial 7 (gettext-0.18) | ||||
| dnl Copyright (C) 2001-2005, 2008-2010 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_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and | ||||
| dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't | ||||
| dnl require excessive bracketing. | ||||
| ifdef([AC_HELP_STRING], | ||||
| [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], | ||||
| [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) | ||||
|  | ||||
| dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed | ||||
| dnl to access previously installed libraries. The basic assumption is that | ||||
| dnl a user will want packages to use other packages he previously installed | ||||
| dnl with the same --prefix option. | ||||
| dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate | ||||
| dnl libraries, but is otherwise very convenient. | ||||
| AC_DEFUN([AC_LIB_PREFIX], | ||||
| [ | ||||
|   AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) | ||||
|   AC_REQUIRE([AC_PROG_CC]) | ||||
|   AC_REQUIRE([AC_CANONICAL_HOST]) | ||||
|   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) | ||||
|   AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||||
|   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-prefix], | ||||
| [  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib | ||||
|   --without-lib-prefix    don't search for libraries in includedir and libdir], | ||||
| [ | ||||
|     if test "X$withval" = "Xno"; then | ||||
|       use_additional=no | ||||
|     else | ||||
|       if test "X$withval" = "X"; then | ||||
|         AC_LIB_WITH_FINAL_PREFIX([ | ||||
|           eval additional_includedir=\"$includedir\" | ||||
|           eval additional_libdir=\"$libdir\" | ||||
|         ]) | ||||
|       else | ||||
|         additional_includedir="$withval/include" | ||||
|         additional_libdir="$withval/$acl_libdirstem" | ||||
|       fi | ||||
|     fi | ||||
| ]) | ||||
|   if test $use_additional = yes; then | ||||
|     dnl Potentially add $additional_includedir to $CPPFLAGS. | ||||
|     dnl But don't add it | ||||
|     dnl   1. if it's the standard /usr/include, | ||||
|     dnl   2. if it's already present in $CPPFLAGS, | ||||
|     dnl   3. if it's /usr/local/include and we are using GCC on Linux, | ||||
|     dnl   4. if it doesn't exist as a directory. | ||||
|     if test "X$additional_includedir" != "X/usr/include"; then | ||||
|       haveit= | ||||
|       for x in $CPPFLAGS; do | ||||
|         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|         if test "X$x" = "X-I$additional_includedir"; then | ||||
|           haveit=yes | ||||
|           break | ||||
|         fi | ||||
|       done | ||||
|       if test -z "$haveit"; then | ||||
|         if test "X$additional_includedir" = "X/usr/local/include"; then | ||||
|           if test -n "$GCC"; then | ||||
|             case $host_os in | ||||
|               linux* | gnu* | k*bsd*-gnu) haveit=yes;; | ||||
|             esac | ||||
|           fi | ||||
|         fi | ||||
|         if test -z "$haveit"; then | ||||
|           if test -d "$additional_includedir"; then | ||||
|             dnl Really add $additional_includedir to $CPPFLAGS. | ||||
|             CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" | ||||
|           fi | ||||
|         fi | ||||
|       fi | ||||
|     fi | ||||
|     dnl Potentially add $additional_libdir to $LDFLAGS. | ||||
|     dnl But don't add it | ||||
|     dnl   1. if it's the standard /usr/lib, | ||||
|     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   4. if it doesn't exist as a directory. | ||||
|     if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then | ||||
|       haveit= | ||||
|       for x in $LDFLAGS; do | ||||
|         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||||
|         if test "X$x" = "X-L$additional_libdir"; then | ||||
|           haveit=yes | ||||
|           break | ||||
|         fi | ||||
|       done | ||||
|       if test -z "$haveit"; then | ||||
|         if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then | ||||
|           if test -n "$GCC"; then | ||||
|             case $host_os in | ||||
|               linux*) haveit=yes;; | ||||
|             esac | ||||
|           fi | ||||
|         fi | ||||
|         if test -z "$haveit"; then | ||||
|           if test -d "$additional_libdir"; then | ||||
|             dnl Really add $additional_libdir to $LDFLAGS. | ||||
|             LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" | ||||
|           fi | ||||
|         fi | ||||
|       fi | ||||
|     fi | ||||
|   fi | ||||
| ]) | ||||
|  | ||||
| dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, | ||||
| dnl acl_final_exec_prefix, containing the values to which $prefix and | ||||
| dnl $exec_prefix will expand at the end of the configure script. | ||||
| AC_DEFUN([AC_LIB_PREPARE_PREFIX], | ||||
| [ | ||||
|   dnl Unfortunately, prefix and exec_prefix get only finally determined | ||||
|   dnl at the end of configure. | ||||
|   if test "X$prefix" = "XNONE"; then | ||||
|     acl_final_prefix="$ac_default_prefix" | ||||
|   else | ||||
|     acl_final_prefix="$prefix" | ||||
|   fi | ||||
|   if test "X$exec_prefix" = "XNONE"; then | ||||
|     acl_final_exec_prefix='${prefix}' | ||||
|   else | ||||
|     acl_final_exec_prefix="$exec_prefix" | ||||
|   fi | ||||
|   acl_save_prefix="$prefix" | ||||
|   prefix="$acl_final_prefix" | ||||
|   eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" | ||||
|   prefix="$acl_save_prefix" | ||||
| ]) | ||||
|  | ||||
| dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the | ||||
| dnl variables prefix and exec_prefix bound to the values they will have | ||||
| dnl at the end of the configure script. | ||||
| AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], | ||||
| [ | ||||
|   acl_save_prefix="$prefix" | ||||
|   prefix="$acl_final_prefix" | ||||
|   acl_save_exec_prefix="$exec_prefix" | ||||
|   exec_prefix="$acl_final_exec_prefix" | ||||
|   $1 | ||||
|   exec_prefix="$acl_save_exec_prefix" | ||||
|   prefix="$acl_save_prefix" | ||||
| ]) | ||||
|  | ||||
| dnl AC_LIB_PREPARE_MULTILIB creates | ||||
| dnl - a variable acl_libdirstem, containing the basename of the libdir, either | ||||
| dnl   "lib" or "lib64" or "lib/64", | ||||
| dnl - a variable acl_libdirstem2, as a secondary possible value for | ||||
| dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or | ||||
| dnl   "lib/amd64". | ||||
| AC_DEFUN([AC_LIB_PREPARE_MULTILIB], | ||||
| [ | ||||
|   dnl There is no formal standard regarding lib and lib64. | ||||
|   dnl On glibc systems, the current practice is that on a system supporting | ||||
|   dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under | ||||
|   dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine | ||||
|   dnl the compiler's default mode by looking at the compiler's library search | ||||
|   dnl path. If at least one of its elements ends in /lib64 or points to a | ||||
|   dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. | ||||
|   dnl Otherwise we use the default, namely "lib". | ||||
|   dnl On Solaris systems, the current practice is that on a system supporting | ||||
|   dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under | ||||
|   dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or | ||||
|   dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. | ||||
|   AC_REQUIRE([AC_CANONICAL_HOST]) | ||||
|   acl_libdirstem=lib | ||||
|   acl_libdirstem2= | ||||
|   case "$host_os" in | ||||
|     solaris*) | ||||
|       dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment | ||||
|       dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. | ||||
|       dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." | ||||
|       dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the | ||||
|       dnl symlink is missing, so we set acl_libdirstem2 too. | ||||
|       AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], | ||||
|         [AC_EGREP_CPP([sixtyfour bits], [ | ||||
| #ifdef _LP64 | ||||
| sixtyfour bits | ||||
| #endif | ||||
|            ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) | ||||
|         ]) | ||||
|       if test $gl_cv_solaris_64bit = yes; then | ||||
|         acl_libdirstem=lib/64 | ||||
|         case "$host_cpu" in | ||||
|           sparc*)        acl_libdirstem2=lib/sparcv9 ;; | ||||
|           i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; | ||||
|         esac | ||||
|       fi | ||||
|       ;; | ||||
|     *) | ||||
|       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 ;; | ||||
|               */../ | */.. ) | ||||
|                 # Better ignore directories of this form. They are misleading. | ||||
|                 ;; | ||||
|               *) searchdir=`cd "$searchdir" && pwd` | ||||
|                  case "$searchdir" in | ||||
|                    */lib64 ) acl_libdirstem=lib64 ;; | ||||
|                  esac ;; | ||||
|             esac | ||||
|           fi | ||||
|         done | ||||
|         IFS="$acl_save_IFS" | ||||
|       fi | ||||
|       ;; | ||||
|   esac | ||||
|   test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" | ||||
| ]) | ||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich