"Fossies" - the Fresh Open Source Software Archive

Member "libcdio-2.1.0/m4/lib-link.m4" (12 Aug 2018, 29741 Bytes) of package /linux/privat/libcdio-2.1.0.tar.bz2:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 # lib-link.m4 serial 13 (gettext-0.17)
    2 dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
    3 dnl This file is free software; the Free Software Foundation
    4 dnl gives unlimited permission to copy and/or distribute it,
    5 dnl with or without modifications, as long as this notice is preserved.
    6 
    7 dnl From Bruno Haible.
    8 
    9 AC_PREREQ(2.54)
   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 dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
   16 dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
   17 AC_DEFUN([AC_LIB_LINKFLAGS],
   18 [
   19   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   20   AC_REQUIRE([AC_LIB_RPATH])
   21   define([Name],[translit([$1],[./-], [___])])
   22   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
   23                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
   24   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
   25     AC_LIB_LINKFLAGS_BODY([$1], [$2])
   26     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
   27     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
   28     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
   29     ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
   30   ])
   31   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
   32   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
   33   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
   34   LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
   35   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
   36   AC_SUBST([LIB]NAME)
   37   AC_SUBST([LTLIB]NAME)
   38   AC_SUBST([LIB]NAME[_PREFIX])
   39   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
   40   dnl results of this search when this library appears as a dependency.
   41   HAVE_LIB[]NAME=yes
   42   undefine([Name])
   43   undefine([NAME])
   44 ])
   45 
   46 dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
   47 dnl searches for libname and the libraries corresponding to explicit and
   48 dnl implicit dependencies, together with the specified include files and
   49 dnl the ability to compile and link the specified testcode. If found, it
   50 dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
   51 dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
   52 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
   53 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
   54 dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
   55 dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
   56 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
   57 [
   58   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   59   AC_REQUIRE([AC_LIB_RPATH])
   60   define([Name],[translit([$1],[./-], [___])])
   61   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
   62                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
   63 
   64   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
   65   dnl accordingly.
   66   AC_LIB_LINKFLAGS_BODY([$1], [$2])
   67 
   68   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
   69   dnl because if the user has installed lib[]Name and not disabled its use
   70   dnl via --without-lib[]Name-prefix, he wants to use it.
   71   ac_save_CPPFLAGS="$CPPFLAGS"
   72   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
   73 
   74   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
   75     ac_save_LIBS="$LIBS"
   76     LIBS="$LIBS $LIB[]NAME"
   77     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
   78     LIBS="$ac_save_LIBS"
   79   ])
   80   if test "$ac_cv_lib[]Name" = yes; then
   81     HAVE_LIB[]NAME=yes
   82     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
   83     AC_MSG_CHECKING([how to link with lib[]$1])
   84     AC_MSG_RESULT([$LIB[]NAME])
   85   else
   86     HAVE_LIB[]NAME=no
   87     dnl If $LIB[]NAME didn't lead to a usable library, we don't need
   88     dnl $INC[]NAME either.
   89     CPPFLAGS="$ac_save_CPPFLAGS"
   90     LIB[]NAME=
   91     LTLIB[]NAME=
   92     LIB[]NAME[]_PREFIX=
   93   fi
   94   AC_SUBST([HAVE_LIB]NAME)
   95   AC_SUBST([LIB]NAME)
   96   AC_SUBST([LTLIB]NAME)
   97   AC_SUBST([LIB]NAME[_PREFIX])
   98   undefine([Name])
   99   undefine([NAME])
  100 ])
  101 
  102 dnl Determine the platform dependent parameters needed to use rpath:
  103 dnl   acl_libext,
  104 dnl   acl_shlibext,
  105 dnl   acl_hardcode_libdir_flag_spec,
  106 dnl   acl_hardcode_libdir_separator,
  107 dnl   acl_hardcode_direct,
  108 dnl   acl_hardcode_minus_L.
  109 AC_DEFUN([AC_LIB_RPATH],
  110 [
  111   dnl Tell automake >= 1.10 to complain if config.rpath is missing.
  112   m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
  113   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
  114   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
  115   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
  116   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
  117   AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
  118     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
  119     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
  120     . ./conftest.sh
  121     rm -f ./conftest.sh
  122     acl_cv_rpath=done
  123   ])
  124   wl="$acl_cv_wl"
  125   acl_libext="$acl_cv_libext"
  126   acl_shlibext="$acl_cv_shlibext"
  127   acl_libname_spec="$acl_cv_libname_spec"
  128   acl_library_names_spec="$acl_cv_library_names_spec"
  129   acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
  130   acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
  131   acl_hardcode_direct="$acl_cv_hardcode_direct"
  132   acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
  133   dnl Determine whether the user wants rpath handling at all.
  134   AC_ARG_ENABLE(rpath,
  135     [  --disable-rpath         do not hardcode runtime library paths],
  136     :, enable_rpath=yes)
  137 ])
  138 
  139 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
  140 dnl the libraries corresponding to explicit and implicit dependencies.
  141 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
  142 dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
  143 dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
  144 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
  145 [
  146   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
  147   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
  148                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
  149   dnl Autoconf >= 2.61 supports dots in --with options.
  150   define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])])
  151   dnl By default, look in $includedir and $libdir.
  152   use_additional=yes
  153   AC_LIB_WITH_FINAL_PREFIX([
  154     eval additional_includedir=\"$includedir\"
  155     eval additional_libdir=\"$libdir\"
  156   ])
  157   AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix],
  158 [  --with-lib]N_A_M_E[-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
  159   --without-lib]N_A_M_E[-prefix     don't search for lib$1 in includedir and libdir],
  160 [
  161     if test "X$withval" = "Xno"; then
  162       use_additional=no
  163     else
  164       if test "X$withval" = "X"; then
  165         AC_LIB_WITH_FINAL_PREFIX([
  166           eval additional_includedir=\"$includedir\"
  167           eval additional_libdir=\"$libdir\"
  168         ])
  169       else
  170         additional_includedir="$withval/include"
  171         additional_libdir="$withval/$acl_libdirstem"
  172       fi
  173     fi
  174 ])
  175   dnl Search the library and its dependencies in $additional_libdir and
  176   dnl $LDFLAGS. Using breadth-first-seach.
  177   LIB[]NAME=
  178   LTLIB[]NAME=
  179   INC[]NAME=
  180   LIB[]NAME[]_PREFIX=
  181   rpathdirs=
  182   ltrpathdirs=
  183   names_already_handled=
  184   names_next_round='$1 $2'
  185   while test -n "$names_next_round"; do
  186     names_this_round="$names_next_round"
  187     names_next_round=
  188     for name in $names_this_round; do
  189       already_handled=
  190       for n in $names_already_handled; do
  191         if test "$n" = "$name"; then
  192           already_handled=yes
  193           break
  194         fi
  195       done
  196       if test -z "$already_handled"; then
  197         names_already_handled="$names_already_handled $name"
  198         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
  199         dnl or AC_LIB_HAVE_LINKFLAGS call.
  200         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
  201         eval value=\"\$HAVE_LIB$uppername\"
  202         if test -n "$value"; then
  203           if test "$value" = yes; then
  204             eval value=\"\$LIB$uppername\"
  205             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
  206             eval value=\"\$LTLIB$uppername\"
  207             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
  208           else
  209             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
  210             dnl that this library doesn't exist. So just drop it.
  211             :
  212           fi
  213         else
  214           dnl Search the library lib$name in $additional_libdir and $LDFLAGS
  215           dnl and the already constructed $LIBNAME/$LTLIBNAME.
  216           found_dir=
  217           found_la=
  218           found_so=
  219           found_a=
  220           eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
  221           if test -n "$acl_shlibext"; then
  222             shrext=".$acl_shlibext"             # typically: shrext=.so
  223           else
  224             shrext=
  225           fi
  226           if test $use_additional = yes; then
  227             dir="$additional_libdir"
  228             dnl The same code as in the loop below:
  229             dnl First look for a shared library.
  230             if test -n "$acl_shlibext"; then
  231               if test -f "$dir/$libname$shrext"; then
  232                 found_dir="$dir"
  233                 found_so="$dir/$libname$shrext"
  234               else
  235                 if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
  236                   ver=`(cd "$dir" && \
  237                         for f in "$libname$shrext".*; do echo "$f"; done \
  238                         | sed -e "s,^$libname$shrext\\\\.,," \
  239                         | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
  240                         | sed 1q ) 2>/dev/null`
  241                   if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
  242                     found_dir="$dir"
  243                     found_so="$dir/$libname$shrext.$ver"
  244                   fi
  245                 else
  246                   eval library_names=\"$acl_library_names_spec\"
  247                   for f in $library_names; do
  248                     if test -f "$dir/$f"; then
  249                       found_dir="$dir"
  250                       found_so="$dir/$f"
  251                       break
  252                     fi
  253                   done
  254                 fi
  255               fi
  256             fi
  257             dnl Then look for a static library.
  258             if test "X$found_dir" = "X"; then
  259               if test -f "$dir/$libname.$acl_libext"; then
  260                 found_dir="$dir"
  261                 found_a="$dir/$libname.$acl_libext"
  262               fi
  263             fi
  264             if test "X$found_dir" != "X"; then
  265               if test -f "$dir/$libname.la"; then
  266                 found_la="$dir/$libname.la"
  267               fi
  268             fi
  269           fi
  270           if test "X$found_dir" = "X"; then
  271             for x in $LDFLAGS $LTLIB[]NAME; do
  272               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  273               case "$x" in
  274                 -L*)
  275                   dir=`echo "X$x" | sed -e 's/^X-L//'`
  276                   dnl First look for a shared library.
  277                   if test -n "$acl_shlibext"; then
  278                     if test -f "$dir/$libname$shrext"; then
  279                       found_dir="$dir"
  280                       found_so="$dir/$libname$shrext"
  281                     else
  282                       if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
  283                         ver=`(cd "$dir" && \
  284                               for f in "$libname$shrext".*; do echo "$f"; done \
  285                               | sed -e "s,^$libname$shrext\\\\.,," \
  286                               | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
  287                               | sed 1q ) 2>/dev/null`
  288                         if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
  289                           found_dir="$dir"
  290                           found_so="$dir/$libname$shrext.$ver"
  291                         fi
  292                       else
  293                         eval library_names=\"$acl_library_names_spec\"
  294                         for f in $library_names; do
  295                           if test -f "$dir/$f"; then
  296                             found_dir="$dir"
  297                             found_so="$dir/$f"
  298                             break
  299                           fi
  300                         done
  301                       fi
  302                     fi
  303                   fi
  304                   dnl Then look for a static library.
  305                   if test "X$found_dir" = "X"; then
  306                     if test -f "$dir/$libname.$acl_libext"; then
  307                       found_dir="$dir"
  308                       found_a="$dir/$libname.$acl_libext"
  309                     fi
  310                   fi
  311                   if test "X$found_dir" != "X"; then
  312                     if test -f "$dir/$libname.la"; then
  313                       found_la="$dir/$libname.la"
  314                     fi
  315                   fi
  316                   ;;
  317               esac
  318               if test "X$found_dir" != "X"; then
  319                 break
  320               fi
  321             done
  322           fi
  323           if test "X$found_dir" != "X"; then
  324             dnl Found the library.
  325             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
  326             if test "X$found_so" != "X"; then
  327               dnl Linking with a shared library. We attempt to hardcode its
  328               dnl directory into the executable's runpath, unless it's the
  329               dnl standard /usr/lib.
  330               if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
  331                 dnl No hardcoding is needed.
  332                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  333               else
  334                 dnl Use an explicit option to hardcode DIR into the resulting
  335                 dnl binary.
  336                 dnl Potentially add DIR to ltrpathdirs.
  337                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
  338                 haveit=
  339                 for x in $ltrpathdirs; do
  340                   if test "X$x" = "X$found_dir"; then
  341                     haveit=yes
  342                     break
  343                   fi
  344                 done
  345                 if test -z "$haveit"; then
  346                   ltrpathdirs="$ltrpathdirs $found_dir"
  347                 fi
  348                 dnl The hardcoding into $LIBNAME is system dependent.
  349                 if test "$acl_hardcode_direct" = yes; then
  350                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
  351                   dnl resulting binary.
  352                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  353                 else
  354                   if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
  355                     dnl Use an explicit option to hardcode DIR into the resulting
  356                     dnl binary.
  357                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  358                     dnl Potentially add DIR to rpathdirs.
  359                     dnl The rpathdirs will be appended to $LIBNAME at the end.
  360                     haveit=
  361                     for x in $rpathdirs; do
  362                       if test "X$x" = "X$found_dir"; then
  363                         haveit=yes
  364                         break
  365                       fi
  366                     done
  367                     if test -z "$haveit"; then
  368                       rpathdirs="$rpathdirs $found_dir"
  369                     fi
  370                   else
  371                     dnl Rely on "-L$found_dir".
  372                     dnl But don't add it if it's already contained in the LDFLAGS
  373                     dnl or the already constructed $LIBNAME
  374                     haveit=
  375                     for x in $LDFLAGS $LIB[]NAME; do
  376                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  377                       if test "X$x" = "X-L$found_dir"; then
  378                         haveit=yes
  379                         break
  380                       fi
  381                     done
  382                     if test -z "$haveit"; then
  383                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
  384                     fi
  385                     if test "$acl_hardcode_minus_L" != no; then
  386                       dnl FIXME: Not sure whether we should use
  387                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
  388                       dnl here.
  389                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  390                     else
  391                       dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
  392                       dnl here, because this doesn't fit in flags passed to the
  393                       dnl compiler. So give up. No hardcoding. This affects only
  394                       dnl very old systems.
  395                       dnl FIXME: Not sure whether we should use
  396                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
  397                       dnl here.
  398                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
  399                     fi
  400                   fi
  401                 fi
  402               fi
  403             else
  404               if test "X$found_a" != "X"; then
  405                 dnl Linking with a static library.
  406                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
  407               else
  408                 dnl We shouldn't come here, but anyway it's good to have a
  409                 dnl fallback.
  410                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
  411               fi
  412             fi
  413             dnl Assume the include files are nearby.
  414             additional_includedir=
  415             case "$found_dir" in
  416               */$acl_libdirstem | */$acl_libdirstem/)
  417                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
  418                 LIB[]NAME[]_PREFIX="$basedir"
  419                 additional_includedir="$basedir/include"
  420                 ;;
  421             esac
  422             if test "X$additional_includedir" != "X"; then
  423               dnl Potentially add $additional_includedir to $INCNAME.
  424               dnl But don't add it
  425               dnl   1. if it's the standard /usr/include,
  426               dnl   2. if it's /usr/local/include and we are using GCC on Linux,
  427               dnl   3. if it's already present in $CPPFLAGS or the already
  428               dnl      constructed $INCNAME,
  429               dnl   4. if it doesn't exist as a directory.
  430               if test "X$additional_includedir" != "X/usr/include"; then
  431                 haveit=
  432                 if test "X$additional_includedir" = "X/usr/local/include"; then
  433                   if test -n "$GCC"; then
  434                     case $host_os in
  435                       linux* | gnu* | k*bsd*-gnu) haveit=yes;;
  436                     esac
  437                   fi
  438                 fi
  439                 if test -z "$haveit"; then
  440                   for x in $CPPFLAGS $INC[]NAME; do
  441                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  442                     if test "X$x" = "X-I$additional_includedir"; then
  443                       haveit=yes
  444                       break
  445                     fi
  446                   done
  447                   if test -z "$haveit"; then
  448                     if test -d "$additional_includedir"; then
  449                       dnl Really add $additional_includedir to $INCNAME.
  450                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
  451                     fi
  452                   fi
  453                 fi
  454               fi
  455             fi
  456             dnl Look for dependencies.
  457             if test -n "$found_la"; then
  458               dnl Read the .la file. It defines the variables
  459               dnl dlname, library_names, old_library, dependency_libs, current,
  460               dnl age, revision, installed, dlopen, dlpreopen, libdir.
  461               save_libdir="$libdir"
  462               case "$found_la" in
  463                 */* | *\\*) . "$found_la" ;;
  464                 *) . "./$found_la" ;;
  465               esac
  466               libdir="$save_libdir"
  467               dnl We use only dependency_libs.
  468               for dep in $dependency_libs; do
  469                 case "$dep" in
  470                   -L*)
  471                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
  472                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
  473                     dnl But don't add it
  474                     dnl   1. if it's the standard /usr/lib,
  475                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
  476                     dnl   3. if it's already present in $LDFLAGS or the already
  477                     dnl      constructed $LIBNAME,
  478                     dnl   4. if it doesn't exist as a directory.
  479                     if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
  480                       haveit=
  481                       if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
  482                         if test -n "$GCC"; then
  483                           case $host_os in
  484                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
  485                           esac
  486                         fi
  487                       fi
  488                       if test -z "$haveit"; then
  489                         haveit=
  490                         for x in $LDFLAGS $LIB[]NAME; do
  491                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  492                           if test "X$x" = "X-L$additional_libdir"; then
  493                             haveit=yes
  494                             break
  495                           fi
  496                         done
  497                         if test -z "$haveit"; then
  498                           if test -d "$additional_libdir"; then
  499                             dnl Really add $additional_libdir to $LIBNAME.
  500                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
  501                           fi
  502                         fi
  503                         haveit=
  504                         for x in $LDFLAGS $LTLIB[]NAME; do
  505                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  506                           if test "X$x" = "X-L$additional_libdir"; then
  507                             haveit=yes
  508                             break
  509                           fi
  510                         done
  511                         if test -z "$haveit"; then
  512                           if test -d "$additional_libdir"; then
  513                             dnl Really add $additional_libdir to $LTLIBNAME.
  514                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
  515                           fi
  516                         fi
  517                       fi
  518                     fi
  519                     ;;
  520                   -R*)
  521                     dir=`echo "X$dep" | sed -e 's/^X-R//'`
  522                     if test "$enable_rpath" != no; then
  523                       dnl Potentially add DIR to rpathdirs.
  524                       dnl The rpathdirs will be appended to $LIBNAME at the end.
  525                       haveit=
  526                       for x in $rpathdirs; do
  527                         if test "X$x" = "X$dir"; then
  528                           haveit=yes
  529                           break
  530                         fi
  531                       done
  532                       if test -z "$haveit"; then
  533                         rpathdirs="$rpathdirs $dir"
  534                       fi
  535                       dnl Potentially add DIR to ltrpathdirs.
  536                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
  537                       haveit=
  538                       for x in $ltrpathdirs; do
  539                         if test "X$x" = "X$dir"; then
  540                           haveit=yes
  541                           break
  542                         fi
  543                       done
  544                       if test -z "$haveit"; then
  545                         ltrpathdirs="$ltrpathdirs $dir"
  546                       fi
  547                     fi
  548                     ;;
  549                   -l*)
  550                     dnl Handle this in the next round.
  551                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
  552                     ;;
  553                   *.la)
  554                     dnl Handle this in the next round. Throw away the .la's
  555                     dnl directory; it is already contained in a preceding -L
  556                     dnl option.
  557                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
  558                     ;;
  559                   *)
  560                     dnl Most likely an immediate library name.
  561                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
  562                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
  563                     ;;
  564                 esac
  565               done
  566             fi
  567           else
  568             dnl Didn't find the library; assume it is in the system directories
  569             dnl known to the linker and runtime loader. (All the system
  570             dnl directories known to the linker should also be known to the
  571             dnl runtime loader, otherwise the system is severely misconfigured.)
  572             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
  573             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
  574           fi
  575         fi
  576       fi
  577     done
  578   done
  579   if test "X$rpathdirs" != "X"; then
  580     if test -n "$acl_hardcode_libdir_separator"; then
  581       dnl Weird platform: only the last -rpath option counts, the user must
  582       dnl pass all path elements in one option. We can arrange that for a
  583       dnl single library, but not when more than one $LIBNAMEs are used.
  584       alldirs=
  585       for found_dir in $rpathdirs; do
  586         alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
  587       done
  588       dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
  589       acl_save_libdir="$libdir"
  590       libdir="$alldirs"
  591       eval flag=\"$acl_hardcode_libdir_flag_spec\"
  592       libdir="$acl_save_libdir"
  593       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
  594     else
  595       dnl The -rpath options are cumulative.
  596       for found_dir in $rpathdirs; do
  597         acl_save_libdir="$libdir"
  598         libdir="$found_dir"
  599         eval flag=\"$acl_hardcode_libdir_flag_spec\"
  600         libdir="$acl_save_libdir"
  601         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
  602       done
  603     fi
  604   fi
  605   if test "X$ltrpathdirs" != "X"; then
  606     dnl When using libtool, the option that works for both libraries and
  607     dnl executables is -R. The -R options are cumulative.
  608     for found_dir in $ltrpathdirs; do
  609       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
  610     done
  611   fi
  612 ])
  613 
  614 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
  615 dnl unless already present in VAR.
  616 dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
  617 dnl contains two or three consecutive elements that belong together.
  618 AC_DEFUN([AC_LIB_APPENDTOVAR],
  619 [
  620   for element in [$2]; do
  621     haveit=
  622     for x in $[$1]; do
  623       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  624       if test "X$x" = "X$element"; then
  625         haveit=yes
  626         break
  627       fi
  628     done
  629     if test -z "$haveit"; then
  630       [$1]="${[$1]}${[$1]:+ }$element"
  631     fi
  632   done
  633 ])
  634 
  635 dnl For those cases where a variable contains several -L and -l options
  636 dnl referring to unknown libraries and directories, this macro determines the
  637 dnl necessary additional linker options for the runtime path.
  638 dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
  639 dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
  640 dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
  641 dnl otherwise linking without libtool is assumed.
  642 AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
  643 [
  644   AC_REQUIRE([AC_LIB_RPATH])
  645   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
  646   $1=
  647   if test "$enable_rpath" != no; then
  648     if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
  649       dnl Use an explicit option to hardcode directories into the resulting
  650       dnl binary.
  651       rpathdirs=
  652       next=
  653       for opt in $2; do
  654         if test -n "$next"; then
  655           dir="$next"
  656           dnl No need to hardcode the standard /usr/lib.
  657           if test "X$dir" != "X/usr/$acl_libdirstem"; then
  658             rpathdirs="$rpathdirs $dir"
  659           fi
  660           next=
  661         else
  662           case $opt in
  663             -L) next=yes ;;
  664             -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
  665                  dnl No need to hardcode the standard /usr/lib.
  666                  if test "X$dir" != "X/usr/$acl_libdirstem"; then
  667                    rpathdirs="$rpathdirs $dir"
  668                  fi
  669                  next= ;;
  670             *) next= ;;
  671           esac
  672         fi
  673       done
  674       if test "X$rpathdirs" != "X"; then
  675         if test -n ""$3""; then
  676           dnl libtool is used for linking. Use -R options.
  677           for dir in $rpathdirs; do
  678             $1="${$1}${$1:+ }-R$dir"
  679           done
  680         else
  681           dnl The linker is used for linking directly.
  682           if test -n "$acl_hardcode_libdir_separator"; then
  683             dnl Weird platform: only the last -rpath option counts, the user
  684             dnl must pass all path elements in one option.
  685             alldirs=
  686             for dir in $rpathdirs; do
  687               alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
  688             done
  689             acl_save_libdir="$libdir"
  690             libdir="$alldirs"
  691             eval flag=\"$acl_hardcode_libdir_flag_spec\"
  692             libdir="$acl_save_libdir"
  693             $1="$flag"
  694           else
  695             dnl The -rpath options are cumulative.
  696             for dir in $rpathdirs; do
  697               acl_save_libdir="$libdir"
  698               libdir="$dir"
  699               eval flag=\"$acl_hardcode_libdir_flag_spec\"
  700               libdir="$acl_save_libdir"
  701               $1="${$1}${$1:+ }$flag"
  702             done
  703           fi
  704         fi
  705       fi
  706     fi
  707   fi
  708   AC_SUBST([$1])
  709 ])