mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			552 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			552 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # lib-link.m4 serial 4 (gettext-0.12)
 | |
| dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
 | |
| dnl This file is free software, distributed under the terms of the GNU
 | |
| dnl General Public License.  As a special exception to the GNU General
 | |
| dnl Public License, this file may be distributed as part of a program
 | |
| dnl that contains a configuration script generated by Autoconf, under
 | |
| dnl the same distribution terms as the rest of that program.
 | |
| 
 | |
| dnl From Bruno Haible.
 | |
| 
 | |
| 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.
 | |
| AC_DEFUN([AC_LIB_LINKFLAGS],
 | |
| [
 | |
|   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 | |
|   AC_REQUIRE([AC_LIB_RPATH])
 | |
|   define([Name],[translit([$1],[./-], [___])])
 | |
|   define([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"
 | |
|   ])
 | |
|   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
 | |
|   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
 | |
|   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
 | |
|   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
 | |
|   AC_SUBST([LIB]NAME)
 | |
|   AC_SUBST([LTLIB]NAME)
 | |
|   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
 | |
|   undefine([Name])
 | |
|   undefine([NAME])
 | |
| ])
 | |
| 
 | |
| dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
 | |
| 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. If found, it
 | |
| 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 #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.
 | |
| AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 | |
| [
 | |
|   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 | |
|   AC_REQUIRE([AC_LIB_RPATH])
 | |
|   define([Name],[translit([$1],[./-], [___])])
 | |
|   define([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"
 | |
|     LIBS="$LIBS $LIB[]NAME"
 | |
|     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
 | |
|     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 $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=
 | |
|   fi
 | |
|   AC_SUBST([HAVE_LIB]NAME)
 | |
|   AC_SUBST([LIB]NAME)
 | |
|   AC_SUBST([LTLIB]NAME)
 | |
|   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.
 | |
| AC_DEFUN([AC_LIB_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"
 | |
|   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"
 | |
|   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_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.
 | |
| AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 | |
| [
 | |
|   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
 | |
|                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
 | |
|   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],
 | |
| [
 | |
|     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/lib"
 | |
|       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=
 | |
|   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=
 | |
|           if test $use_additional = yes; then
 | |
|             if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
 | |
|               found_dir="$additional_libdir"
 | |
|               found_so="$additional_libdir/lib$name.$shlibext"
 | |
|               if test -f "$additional_libdir/lib$name.la"; then
 | |
|                 found_la="$additional_libdir/lib$name.la"
 | |
|               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
 | |
|             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//'`
 | |
|                   if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
 | |
|                     found_dir="$dir"
 | |
|                     found_so="$dir/lib$name.$shlibext"
 | |
|                     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_a="$dir/lib$name.$libext"
 | |
|                       if test -f "$dir/lib$name.la"; then
 | |
|                         found_la="$dir/lib$name.la"
 | |
|                       fi
 | |
|                     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/lib"; 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 "$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
 | |
|                     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 "$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 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
 | |
|               */lib | */lib/)
 | |
|                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
 | |
|                 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*) 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/lib"; then
 | |
|                       haveit=
 | |
|                       if test "X$additional_libdir" = "X/usr/local/lib"; then
 | |
|                         if test -n "$GCC"; then
 | |
|                           case $host_os in
 | |
|                             linux*) 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 "$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"
 | |
|       done
 | |
|       dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
 | |
|       acl_save_libdir="$libdir"
 | |
|       libdir="$alldirs"
 | |
|       eval flag=\"$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=\"$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
 | |
| ])
 | |
| 
 | |
| 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
 | |
| ])
 |