Home | History | Annotate | Download | only in config
      1 # lib-link.m4 serial 4 (gettext-0.12)
      2 dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
      3 dnl This file is free software, distributed under the terms of the GNU
      4 dnl General Public License.  As a special exception to the GNU General
      5 dnl Public License, this file may be distributed as part of a program
      6 dnl that contains a configuration script generated by Autoconf, under
      7 dnl the same distribution terms as the rest of that program.
      8 
      9 dnl From Bruno Haible.
     10 
     11 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
     12 dnl the libraries corresponding to explicit and implicit dependencies.
     13 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
     14 dnl augments the CPPFLAGS variable.
     15 AC_DEFUN([AC_LIB_LINKFLAGS],
     16 [
     17   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
     18   AC_REQUIRE([AC_LIB_RPATH])
     19   define([Name],[translit([$1],[./-], [___])])
     20   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
     21                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
     22   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
     23     AC_LIB_LINKFLAGS_BODY([$1], [$2])
     24     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
     25     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
     26     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
     27   ])
     28   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
     29   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
     30   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
     31   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
     32   AC_SUBST([LIB]NAME)
     33   AC_SUBST([LTLIB]NAME)
     34   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
     35   dnl results of this search when this library appears as a dependency.
     36   HAVE_LIB[]NAME=yes
     37   undefine([Name])
     38   undefine([NAME])
     39 ])
     40 
     41 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
     42 dnl searches for libname and the libraries corresponding to explicit and
     43 dnl implicit dependencies, together with the specified include files and
     44 dnl the ability to compile and link the specified testcode. If found, it
     45 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
     46 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
     47 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
     48 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
     49 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
     50 [
     51   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
     52   AC_REQUIRE([AC_LIB_RPATH])
     53   define([Name],[translit([$1],[./-], [___])])
     54   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
     55                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
     56 
     57   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
     58   dnl accordingly.
     59   AC_LIB_LINKFLAGS_BODY([$1], [$2])
     60 
     61   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
     62   dnl because if the user has installed lib[]Name and not disabled its use
     63   dnl via --without-lib[]Name-prefix, he wants to use it.
     64   ac_save_CPPFLAGS="$CPPFLAGS"
     65   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
     66 
     67   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
     68     ac_save_LIBS="$LIBS"
     69     LIBS="$LIBS $LIB[]NAME"
     70     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
     71     LIBS="$ac_save_LIBS"
     72   ])
     73   if test "$ac_cv_lib[]Name" = yes; then
     74     HAVE_LIB[]NAME=yes
     75     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
     76     AC_MSG_CHECKING([how to link with lib[]$1])
     77     AC_MSG_RESULT([$LIB[]NAME])
     78   else
     79     HAVE_LIB[]NAME=no
     80     dnl If $LIB[]NAME didn't lead to a usable library, we don't need
     81     dnl $INC[]NAME either.
     82     CPPFLAGS="$ac_save_CPPFLAGS"
     83     LIB[]NAME=
     84     LTLIB[]NAME=
     85   fi
     86   AC_SUBST([HAVE_LIB]NAME)
     87   AC_SUBST([LIB]NAME)
     88   AC_SUBST([LTLIB]NAME)
     89   undefine([Name])
     90   undefine([NAME])
     91 ])
     92 
     93 dnl Determine the platform dependent parameters needed to use rpath:
     94 dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
     95 dnl hardcode_direct, hardcode_minus_L.
     96 AC_DEFUN([AC_LIB_RPATH],
     97 [
     98   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
     99   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
    100   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
    101   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
    102   AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
    103     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
    104     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
    105     . ./conftest.sh
    106     rm -f ./conftest.sh
    107     acl_cv_rpath=done
    108   ])
    109   wl="$acl_cv_wl"
    110   libext="$acl_cv_libext"
    111   shlibext="$acl_cv_shlibext"
    112   hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
    113   hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
    114   hardcode_direct="$acl_cv_hardcode_direct"
    115   hardcode_minus_L="$acl_cv_hardcode_minus_L"
    116   dnl Determine whether the user wants rpath handling at all.
    117   AC_ARG_ENABLE(rpath,
    118     [  --disable-rpath         do not hardcode runtime library paths],
    119     :, enable_rpath=yes)
    120 ])
    121 
    122 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
    123 dnl the libraries corresponding to explicit and implicit dependencies.
    124 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
    125 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
    126 [
    127   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
    128                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
    129   dnl By default, look in $includedir and $libdir.
    130   use_additional=yes
    131   AC_LIB_WITH_FINAL_PREFIX([
    132     eval additional_includedir=\"$includedir\"
    133     eval additional_libdir=\"$libdir\"
    134   ])
    135   AC_LIB_ARG_WITH([lib$1-prefix],
    136 [  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
    137   --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
    138 [
    139     if test "X$withval" = "Xno"; then
    140       use_additional=no
    141     else
    142       if test "X$withval" = "X"; then
    143         AC_LIB_WITH_FINAL_PREFIX([
    144           eval additional_includedir=\"$includedir\"
    145           eval additional_libdir=\"$libdir\"
    146         ])
    147       else
    148         additional_includedir="$withval/include"
    149         additional_libdir="$withval/lib"
    150       fi
    151     fi
    152 ])
    153   dnl Search the library and its dependencies in $additional_libdir and
    154   dnl $LDFLAGS. Using breadth-first-seach.
    155   LIB[]NAME=
    156   LTLIB[]NAME=
    157   INC[]NAME=
    158   rpathdirs=
    159   ltrpathdirs=
    160   names_already_handled=
    161   names_next_round='$1 $2'
    162   while test -n "$names_next_round"; do
    163     names_this_round="$names_next_round"
    164     names_next_round=
    165     for name in $names_this_round; do
    166       already_handled=
    167       for n in $names_already_handled; do
    168         if test "$n" = "$name"; then
    169           already_handled=yes
    170           break
    171         fi
    172       done
    173       if test -z "$already_handled"; then
    174         names_already_handled="$names_already_handled $name"
    175         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
    176         dnl or AC_LIB_HAVE_LINKFLAGS call.
    177         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
    178         eval value=\"\$HAVE_LIB$uppername\"
    179         if test -n "$value"; then
    180           if test "$value" = yes; then
    181             eval value=\"\$LIB$uppername\"
    182             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
    183             eval value=\"\$LTLIB$uppername\"
    184             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
    185           else
    186             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
    187             dnl that this library doesn't exist. So just drop it.
    188             :
    189           fi
    190         else
    191           dnl Search the library lib$name in $additional_libdir and $LDFLAGS
    192           dnl and the already constructed $LIBNAME/$LTLIBNAME.
    193           found_dir=
    194           found_la=
    195           found_so=
    196           found_a=
    197           if test $use_additional = yes; then
    198             if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
    199               found_dir="$additional_libdir"
    200               found_so="$additional_libdir/lib$name.$shlibext"
    201               if test -f "$additional_libdir/lib$name.la"; then
    202                 found_la="$additional_libdir/lib$name.la"
    203               fi
    204             else
    205               if test -f "$additional_libdir/lib$name.$libext"; then
    206                 found_dir="$additional_libdir"
    207                 found_a="$additional_libdir/lib$name.$libext"
    208                 if test -f "$additional_libdir/lib$name.la"; then
    209                   found_la="$additional_libdir/lib$name.la"
    210                 fi
    211               fi
    212             fi
    213           fi
    214           if test "X$found_dir" = "X"; then
    215             for x in $LDFLAGS $LTLIB[]NAME; do
    216               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
    217               case "$x" in
    218                 -L*)
    219                   dir=`echo "X$x" | sed -e 's/^X-L//'`
    220                   if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
    221                     found_dir="$dir"
    222                     found_so="$dir/lib$name.$shlibext"
    223                     if test -f "$dir/lib$name.la"; then
    224                       found_la="$dir/lib$name.la"
    225                     fi
    226                   else
    227                     if test -f "$dir/lib$name.$libext"; then
    228                       found_dir="$dir"
    229                       found_a="$dir/lib$name.$libext"
    230                       if test -f "$dir/lib$name.la"; then
    231                         found_la="$dir/lib$name.la"
    232                       fi
    233                     fi
    234                   fi
    235                   ;;
    236               esac
    237               if test "X$found_dir" != "X"; then
    238                 break
    239               fi
    240             done
    241           fi
    242           if test "X$found_dir" != "X"; then
    243             dnl Found the library.
    244             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
    245             if test "X$found_so" != "X"; then
    246               dnl Linking with a shared library. We attempt to hardcode its
    247               dnl directory into the executable's runpath, unless it's the
    248               dnl standard /usr/lib.
    249               if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
    250                 dnl No hardcoding is needed.
    251                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
    252               else
    253                 dnl Use an explicit option to hardcode DIR into the resulting
    254                 dnl binary.
    255                 dnl Potentially add DIR to ltrpathdirs.
    256                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
    257                 haveit=
    258                 for x in $ltrpathdirs; do
    259                   if test "X$x" = "X$found_dir"; then
    260                     haveit=yes
    261                     break
    262                   fi
    263                 done
    264                 if test -z "$haveit"; then
    265                   ltrpathdirs="$ltrpathdirs $found_dir"
    266                 fi
    267                 dnl The hardcoding into $LIBNAME is system dependent.
    268                 if test "$hardcode_direct" = yes; then
    269                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
    270                   dnl resulting binary.
    271                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
    272                 else
    273                   if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
    274                     dnl Use an explicit option to hardcode DIR into the resulting
    275                     dnl binary.
    276                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
    277                     dnl Potentially add DIR to rpathdirs.
    278                     dnl The rpathdirs will be appended to $LIBNAME at the end.
    279                     haveit=
    280                     for x in $rpathdirs; do
    281                       if test "X$x" = "X$found_dir"; then
    282                         haveit=yes
    283                         break
    284                       fi
    285                     done
    286                     if test -z "$haveit"; then
    287                       rpathdirs="$rpathdirs $found_dir"
    288                     fi
    289                   else
    290                     dnl Rely on "-L$found_dir".
    291                     dnl But don't add it if it's already contained in the LDFLAGS
    292                     dnl or the already constructed $LIBNAME
    293                     haveit=
    294                     for x in $LDFLAGS $LIB[]NAME; do
    295                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
    296                       if test "X$x" = "X-L$found_dir"; then
    297                         haveit=yes
    298                         break
    299                       fi
    300                     done
    301                     if test -z "$haveit"; then
    302                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
    303                     fi
    304                     if test "$hardcode_minus_L" != no; then
    305                       dnl FIXME: Not sure whether we should use
    306                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
    307                       dnl here.
    308                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
    309                     else
    310                       dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
    311                       dnl here, because this doesn't fit in flags passed to the
    312                       dnl compiler. So give up. No hardcoding. This affects only
    313                       dnl very old systems.
    314                       dnl FIXME: Not sure whether we should use
    315                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
    316                       dnl here.
    317                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
    318                     fi
    319                   fi
    320                 fi
    321               fi
    322             else
    323               if test "X$found_a" != "X"; then
    324                 dnl Linking with a static library.
    325                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
    326               else
    327                 dnl We shouldn't come here, but anyway it's good to have a
    328                 dnl fallback.
    329                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
    330               fi
    331             fi
    332             dnl Assume the include files are nearby.
    333             additional_includedir=
    334             case "$found_dir" in
    335               */lib | */lib/)
    336                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
    337                 additional_includedir="$basedir/include"
    338                 ;;
    339             esac
    340             if test "X$additional_includedir" != "X"; then
    341               dnl Potentially add $additional_includedir to $INCNAME.
    342               dnl But don't add it
    343               dnl   1. if it's the standard /usr/include,
    344               dnl   2. if it's /usr/local/include and we are using GCC on Linux,
    345               dnl   3. if it's already present in $CPPFLAGS or the already
    346               dnl      constructed $INCNAME,
    347               dnl   4. if it doesn't exist as a directory.
    348               if test "X$additional_includedir" != "X/usr/include"; then
    349                 haveit=
    350                 if test "X$additional_includedir" = "X/usr/local/include"; then
    351                   if test -n "$GCC"; then
    352                     case $host_os in
    353                       linux*) haveit=yes;;
    354                     esac
    355                   fi
    356                 fi
    357                 if test -z "$haveit"; then
    358                   for x in $CPPFLAGS $INC[]NAME; do
    359                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
    360                     if test "X$x" = "X-I$additional_includedir"; then
    361                       haveit=yes
    362                       break
    363                     fi
    364                   done
    365                   if test -z "$haveit"; then
    366                     if test -d "$additional_includedir"; then
    367                       dnl Really add $additional_includedir to $INCNAME.
    368                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
    369                     fi
    370                   fi
    371                 fi
    372               fi
    373             fi
    374             dnl Look for dependencies.
    375             if test -n "$found_la"; then
    376               dnl Read the .la file. It defines the variables
    377               dnl dlname, library_names, old_library, dependency_libs, current,
    378               dnl age, revision, installed, dlopen, dlpreopen, libdir.
    379               save_libdir="$libdir"
    380               case "$found_la" in
    381                 */* | *\\*) . "$found_la" ;;
    382                 *) . "./$found_la" ;;
    383               esac
    384               libdir="$save_libdir"
    385               dnl We use only dependency_libs.
    386               for dep in $dependency_libs; do
    387                 case "$dep" in
    388                   -L*)
    389                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
    390                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
    391                     dnl But don't add it
    392                     dnl   1. if it's the standard /usr/lib,
    393                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
    394                     dnl   3. if it's already present in $LDFLAGS or the already
    395                     dnl      constructed $LIBNAME,
    396                     dnl   4. if it doesn't exist as a directory.
    397                     if test "X$additional_libdir" != "X/usr/lib"; then
    398                       haveit=
    399                       if test "X$additional_libdir" = "X/usr/local/lib"; then
    400                         if test -n "$GCC"; then
    401                           case $host_os in
    402                             linux*) haveit=yes;;
    403                           esac
    404                         fi
    405                       fi
    406                       if test -z "$haveit"; then
    407                         haveit=
    408                         for x in $LDFLAGS $LIB[]NAME; do
    409                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
    410                           if test "X$x" = "X-L$additional_libdir"; then
    411                             haveit=yes
    412                             break
    413                           fi
    414                         done
    415                         if test -z "$haveit"; then
    416                           if test -d "$additional_libdir"; then
    417                             dnl Really add $additional_libdir to $LIBNAME.
    418                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
    419                           fi
    420                         fi
    421                         haveit=
    422                         for x in $LDFLAGS $LTLIB[]NAME; do
    423                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
    424                           if test "X$x" = "X-L$additional_libdir"; then
    425                             haveit=yes
    426                             break
    427                           fi
    428                         done
    429                         if test -z "$haveit"; then
    430                           if test -d "$additional_libdir"; then
    431                             dnl Really add $additional_libdir to $LTLIBNAME.
    432                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
    433                           fi
    434                         fi
    435                       fi
    436                     fi
    437                     ;;
    438                   -R*)
    439                     dir=`echo "X$dep" | sed -e 's/^X-R//'`
    440                     if test "$enable_rpath" != no; then
    441                       dnl Potentially add DIR to rpathdirs.
    442                       dnl The rpathdirs will be appended to $LIBNAME at the end.
    443                       haveit=
    444                       for x in $rpathdirs; do
    445                         if test "X$x" = "X$dir"; then
    446                           haveit=yes
    447                           break
    448                         fi
    449                       done
    450                       if test -z "$haveit"; then
    451                         rpathdirs="$rpathdirs $dir"
    452                       fi
    453                       dnl Potentially add DIR to ltrpathdirs.
    454                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
    455                       haveit=
    456                       for x in $ltrpathdirs; do
    457                         if test "X$x" = "X$dir"; then
    458                           haveit=yes
    459                           break
    460                         fi
    461                       done
    462                       if test -z "$haveit"; then
    463                         ltrpathdirs="$ltrpathdirs $dir"
    464                       fi
    465                     fi
    466                     ;;
    467                   -l*)
    468                     dnl Handle this in the next round.
    469                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
    470                     ;;
    471                   *.la)
    472                     dnl Handle this in the next round. Throw away the .la's
    473                     dnl directory; it is already contained in a preceding -L
    474                     dnl option.
    475                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
    476                     ;;
    477                   *)
    478                     dnl Most likely an immediate library name.
    479                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
    480                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
    481                     ;;
    482                 esac
    483               done
    484             fi
    485           else
    486             dnl Didn't find the library; assume it is in the system directories
    487             dnl known to the linker and runtime loader. (All the system
    488             dnl directories known to the linker should also be known to the
    489             dnl runtime loader, otherwise the system is severely misconfigured.)
    490             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
    491             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
    492           fi
    493         fi
    494       fi
    495     done
    496   done
    497   if test "X$rpathdirs" != "X"; then
    498     if test -n "$hardcode_libdir_separator"; then
    499       dnl Weird platform: only the last -rpath option counts, the user must
    500       dnl pass all path elements in one option. We can arrange that for a
    501       dnl single library, but not when more than one $LIBNAMEs are used.
    502       alldirs=
    503       for found_dir in $rpathdirs; do
    504         alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
    505       done
    506       dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
    507       acl_save_libdir="$libdir"
    508       libdir="$alldirs"
    509       eval flag=\"$hardcode_libdir_flag_spec\"
    510       libdir="$acl_save_libdir"
    511       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
    512     else
    513       dnl The -rpath options are cumulative.
    514       for found_dir in $rpathdirs; do
    515         acl_save_libdir="$libdir"
    516         libdir="$found_dir"
    517         eval flag=\"$hardcode_libdir_flag_spec\"
    518         libdir="$acl_save_libdir"
    519         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
    520       done
    521     fi
    522   fi
    523   if test "X$ltrpathdirs" != "X"; then
    524     dnl When using libtool, the option that works for both libraries and
    525     dnl executables is -R. The -R options are cumulative.
    526     for found_dir in $ltrpathdirs; do
    527       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
    528     done
    529   fi
    530 ])
    531 
    532 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
    533 dnl unless already present in VAR.
    534 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
    535 dnl contains two or three consecutive elements that belong together.
    536 AC_DEFUN([AC_LIB_APPENDTOVAR],
    537 [
    538   for element in [$2]; do
    539     haveit=
    540     for x in $[$1]; do
    541       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
    542       if test "X$x" = "X$element"; then
    543         haveit=yes
    544         break
    545       fi
    546     done
    547     if test -z "$haveit"; then
    548       [$1]="${[$1]}${[$1]:+ }$element"
    549     fi
    550   done
    551 ])
    552