Blame m4/lib-link.m4

Packit 3ff1e7
# lib-link.m4 serial 21 (gettext-0.18)
Packit 3ff1e7
dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
Packit 3ff1e7
dnl This file is free software; the Free Software Foundation
Packit 3ff1e7
dnl gives unlimited permission to copy and/or distribute it,
Packit 3ff1e7
dnl with or without modifications, as long as this notice is preserved.
Packit 3ff1e7
Packit 3ff1e7
dnl From Bruno Haible.
Packit 3ff1e7
Packit 3ff1e7
AC_PREREQ([2.54])
Packit 3ff1e7
Packit 3ff1e7
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
Packit 3ff1e7
dnl the libraries corresponding to explicit and implicit dependencies.
Packit 3ff1e7
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
Packit 3ff1e7
dnl augments the CPPFLAGS variable.
Packit 3ff1e7
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
Packit 3ff1e7
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
Packit 3ff1e7
AC_DEFUN([AC_LIB_LINKFLAGS],
Packit 3ff1e7
[
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_RPATH])
Packit 3ff1e7
  pushdef([Name],[translit([$1],[./-], [___])])
Packit 3ff1e7
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
Packit 3ff1e7
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
Packit 3ff1e7
  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
Packit 3ff1e7
    AC_LIB_LINKFLAGS_BODY([$1], [$2])
Packit 3ff1e7
    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
Packit 3ff1e7
    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
Packit 3ff1e7
    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
Packit 3ff1e7
    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
Packit 3ff1e7
  ])
Packit 3ff1e7
  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
Packit 3ff1e7
  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
Packit 3ff1e7
  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
Packit 3ff1e7
  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
Packit 3ff1e7
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
Packit 3ff1e7
  AC_SUBST([LIB]NAME)
Packit 3ff1e7
  AC_SUBST([LTLIB]NAME)
Packit 3ff1e7
  AC_SUBST([LIB]NAME[_PREFIX])
Packit 3ff1e7
  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
Packit 3ff1e7
  dnl results of this search when this library appears as a dependency.
Packit 3ff1e7
  HAVE_LIB[]NAME=yes
Packit 3ff1e7
  popdef([NAME])
Packit 3ff1e7
  popdef([Name])
Packit 3ff1e7
])
Packit 3ff1e7
Packit 3ff1e7
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
Packit 3ff1e7
dnl searches for libname and the libraries corresponding to explicit and
Packit 3ff1e7
dnl implicit dependencies, together with the specified include files and
Packit 3ff1e7
dnl the ability to compile and link the specified testcode. The missing-message
Packit 3ff1e7
dnl defaults to 'no' and may contain additional hints for the user.
Packit 3ff1e7
dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
Packit 3ff1e7
dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
Packit 3ff1e7
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
Packit 3ff1e7
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
Packit 3ff1e7
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
Packit 3ff1e7
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
Packit 3ff1e7
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
Packit 3ff1e7
[
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_RPATH])
Packit 3ff1e7
  pushdef([Name],[translit([$1],[./-], [___])])
Packit 3ff1e7
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
Packit 3ff1e7
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
Packit 3ff1e7
Packit 3ff1e7
  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
Packit 3ff1e7
  dnl accordingly.
Packit 3ff1e7
  AC_LIB_LINKFLAGS_BODY([$1], [$2])
Packit 3ff1e7
Packit 3ff1e7
  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
Packit 3ff1e7
  dnl because if the user has installed lib[]Name and not disabled its use
Packit 3ff1e7
  dnl via --without-lib[]Name-prefix, he wants to use it.
Packit 3ff1e7
  ac_save_CPPFLAGS="$CPPFLAGS"
Packit 3ff1e7
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
Packit 3ff1e7
Packit 3ff1e7
  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
Packit 3ff1e7
    ac_save_LIBS="$LIBS"
Packit 3ff1e7
    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
Packit 3ff1e7
    dnl because these -l options might require -L options that are present in
Packit 3ff1e7
    dnl LIBS. -l options benefit only from the -L options listed before it.
Packit 3ff1e7
    dnl Otherwise, add it to the front of LIBS, because it may be a static
Packit 3ff1e7
    dnl library that depends on another static library that is present in LIBS.
Packit 3ff1e7
    dnl Static libraries benefit only from the static libraries listed after
Packit 3ff1e7
    dnl it.
Packit 3ff1e7
    case " $LIB[]NAME" in
Packit 3ff1e7
      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
Packit 3ff1e7
      *)       LIBS="$LIB[]NAME $LIBS" ;;
Packit 3ff1e7
    esac
Packit 3ff1e7
    AC_TRY_LINK([$3], [$4],
Packit 3ff1e7
      [ac_cv_lib[]Name=yes],
Packit 3ff1e7
      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
Packit 3ff1e7
    LIBS="$ac_save_LIBS"
Packit 3ff1e7
  ])
Packit 3ff1e7
  if test "$ac_cv_lib[]Name" = yes; then
Packit 3ff1e7
    HAVE_LIB[]NAME=yes
Packit 3ff1e7
    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
Packit 3ff1e7
    AC_MSG_CHECKING([how to link with lib[]$1])
Packit 3ff1e7
    AC_MSG_RESULT([$LIB[]NAME])
Packit 3ff1e7
  else
Packit 3ff1e7
    HAVE_LIB[]NAME=no
Packit 3ff1e7
    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
Packit 3ff1e7
    dnl $INC[]NAME either.
Packit 3ff1e7
    CPPFLAGS="$ac_save_CPPFLAGS"
Packit 3ff1e7
    LIB[]NAME=
Packit 3ff1e7
    LTLIB[]NAME=
Packit 3ff1e7
    LIB[]NAME[]_PREFIX=
Packit 3ff1e7
  fi
Packit 3ff1e7
  AC_SUBST([HAVE_LIB]NAME)
Packit 3ff1e7
  AC_SUBST([LIB]NAME)
Packit 3ff1e7
  AC_SUBST([LTLIB]NAME)
Packit 3ff1e7
  AC_SUBST([LIB]NAME[_PREFIX])
Packit 3ff1e7
  popdef([NAME])
Packit 3ff1e7
  popdef([Name])
Packit 3ff1e7
])
Packit 3ff1e7
Packit 3ff1e7
dnl Determine the platform dependent parameters needed to use rpath:
Packit 3ff1e7
dnl   acl_libext,
Packit 3ff1e7
dnl   acl_shlibext,
Packit 3ff1e7
dnl   acl_hardcode_libdir_flag_spec,
Packit 3ff1e7
dnl   acl_hardcode_libdir_separator,
Packit 3ff1e7
dnl   acl_hardcode_direct,
Packit 3ff1e7
dnl   acl_hardcode_minus_L.
Packit 3ff1e7
AC_DEFUN([AC_LIB_RPATH],
Packit 3ff1e7
[
Packit 3ff1e7
  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
Packit 3ff1e7
  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
Packit 3ff1e7
  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
Packit 3ff1e7
  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
Packit 3ff1e7
  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
Packit 3ff1e7
  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
Packit 3ff1e7
    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
Packit 3ff1e7
    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
Packit 3ff1e7
    . ./conftest.sh
Packit 3ff1e7
    rm -f ./conftest.sh
Packit 3ff1e7
    acl_cv_rpath=done
Packit 3ff1e7
  ])
Packit 3ff1e7
  wl="$acl_cv_wl"
Packit 3ff1e7
  acl_libext="$acl_cv_libext"
Packit 3ff1e7
  acl_shlibext="$acl_cv_shlibext"
Packit 3ff1e7
  acl_libname_spec="$acl_cv_libname_spec"
Packit 3ff1e7
  acl_library_names_spec="$acl_cv_library_names_spec"
Packit 3ff1e7
  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
Packit 3ff1e7
  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
Packit 3ff1e7
  acl_hardcode_direct="$acl_cv_hardcode_direct"
Packit 3ff1e7
  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
Packit 3ff1e7
  dnl Determine whether the user wants rpath handling at all.
Packit 3ff1e7
  AC_ARG_ENABLE([rpath],
Packit 3ff1e7
    [  --disable-rpath         do not hardcode runtime library paths],
Packit 3ff1e7
    :, enable_rpath=yes)
Packit 3ff1e7
])
Packit 3ff1e7
Packit 3ff1e7
dnl AC_LIB_FROMPACKAGE(name, package)
Packit 3ff1e7
dnl declares that libname comes from the given package. The configure file
Packit 3ff1e7
dnl will then not have a --with-libname-prefix option but a
Packit 3ff1e7
dnl --with-package-prefix option. Several libraries can come from the same
Packit 3ff1e7
dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
Packit 3ff1e7
dnl macro call that searches for libname.
Packit 3ff1e7
AC_DEFUN([AC_LIB_FROMPACKAGE],
Packit 3ff1e7
[
Packit 3ff1e7
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
Packit 3ff1e7
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
Packit 3ff1e7
  define([acl_frompackage_]NAME, [$2])
Packit 3ff1e7
  popdef([NAME])
Packit 3ff1e7
  pushdef([PACK],[$2])
Packit 3ff1e7
  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
Packit 3ff1e7
                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
Packit 3ff1e7
  define([acl_libsinpackage_]PACKUP,
Packit 3ff1e7
    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
Packit 3ff1e7
  popdef([PACKUP])
Packit 3ff1e7
  popdef([PACK])
Packit 3ff1e7
])
Packit 3ff1e7
Packit 3ff1e7
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
Packit 3ff1e7
dnl the libraries corresponding to explicit and implicit dependencies.
Packit 3ff1e7
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
Packit 3ff1e7
dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
Packit 3ff1e7
dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
Packit 3ff1e7
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
Packit 3ff1e7
[
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
Packit 3ff1e7
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
Packit 3ff1e7
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
Packit 3ff1e7
  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
Packit 3ff1e7
  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
Packit 3ff1e7
                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
Packit 3ff1e7
  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
Packit 3ff1e7
  dnl Autoconf >= 2.61 supports dots in --with options.
Packit 3ff1e7
  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
Packit 3ff1e7
  dnl By default, look in $includedir and $libdir.
Packit 3ff1e7
  use_additional=yes
Packit 3ff1e7
  AC_LIB_WITH_FINAL_PREFIX([
Packit 3ff1e7
    eval additional_includedir=\"$includedir\"
Packit 3ff1e7
    eval additional_libdir=\"$libdir\"
Packit 3ff1e7
  ])
Packit 3ff1e7
  AC_ARG_WITH(P_A_C_K[-prefix],
Packit 3ff1e7
[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
Packit 3ff1e7
  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
Packit 3ff1e7
[
Packit 3ff1e7
    if test "X$withval" = "Xno"; then
Packit 3ff1e7
      use_additional=no
Packit 3ff1e7
    else
Packit 3ff1e7
      if test "X$withval" = "X"; then
Packit 3ff1e7
        AC_LIB_WITH_FINAL_PREFIX([
Packit 3ff1e7
          eval additional_includedir=\"$includedir\"
Packit 3ff1e7
          eval additional_libdir=\"$libdir\"
Packit 3ff1e7
        ])
Packit 3ff1e7
      else
Packit 3ff1e7
        additional_includedir="$withval/include"
Packit 3ff1e7
        additional_libdir="$withval/$acl_libdirstem"
Packit 3ff1e7
        if test "$acl_libdirstem2" != "$acl_libdirstem" \
Packit 3ff1e7
           && ! test -d "$withval/$acl_libdirstem"; then
Packit 3ff1e7
          additional_libdir="$withval/$acl_libdirstem2"
Packit 3ff1e7
        fi
Packit 3ff1e7
      fi
Packit 3ff1e7
    fi
Packit 3ff1e7
])
Packit 3ff1e7
  dnl Search the library and its dependencies in $additional_libdir and
Packit 3ff1e7
  dnl $LDFLAGS. Using breadth-first-seach.
Packit 3ff1e7
  LIB[]NAME=
Packit 3ff1e7
  LTLIB[]NAME=
Packit 3ff1e7
  INC[]NAME=
Packit 3ff1e7
  LIB[]NAME[]_PREFIX=
Packit 3ff1e7
  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
Packit 3ff1e7
  dnl computed. So it has to be reset here.
Packit 3ff1e7
  HAVE_LIB[]NAME=
Packit 3ff1e7
  rpathdirs=
Packit 3ff1e7
  ltrpathdirs=
Packit 3ff1e7
  names_already_handled=
Packit 3ff1e7
  names_next_round='$1 $2'
Packit 3ff1e7
  while test -n "$names_next_round"; do
Packit 3ff1e7
    names_this_round="$names_next_round"
Packit 3ff1e7
    names_next_round=
Packit 3ff1e7
    for name in $names_this_round; do
Packit 3ff1e7
      already_handled=
Packit 3ff1e7
      for n in $names_already_handled; do
Packit 3ff1e7
        if test "$n" = "$name"; then
Packit 3ff1e7
          already_handled=yes
Packit 3ff1e7
          break
Packit 3ff1e7
        fi
Packit 3ff1e7
      done
Packit 3ff1e7
      if test -z "$already_handled"; then
Packit 3ff1e7
        names_already_handled="$names_already_handled $name"
Packit 3ff1e7
        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
Packit 3ff1e7
        dnl or AC_LIB_HAVE_LINKFLAGS call.
Packit 3ff1e7
        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
Packit 3ff1e7
        eval value=\"\$HAVE_LIB$uppername\"
Packit 3ff1e7
        if test -n "$value"; then
Packit 3ff1e7
          if test "$value" = yes; then
Packit 3ff1e7
            eval value=\"\$LIB$uppername\"
Packit 3ff1e7
            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
Packit 3ff1e7
            eval value=\"\$LTLIB$uppername\"
Packit 3ff1e7
            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
Packit 3ff1e7
          else
Packit 3ff1e7
            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
Packit 3ff1e7
            dnl that this library doesn't exist. So just drop it.
Packit 3ff1e7
            :
Packit 3ff1e7
          fi
Packit 3ff1e7
        else
Packit 3ff1e7
          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
Packit 3ff1e7
          dnl and the already constructed $LIBNAME/$LTLIBNAME.
Packit 3ff1e7
          found_dir=
Packit 3ff1e7
          found_la=
Packit 3ff1e7
          found_so=
Packit 3ff1e7
          found_a=
Packit 3ff1e7
          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
Packit 3ff1e7
          if test -n "$acl_shlibext"; then
Packit 3ff1e7
            shrext=".$acl_shlibext"             # typically: shrext=.so
Packit 3ff1e7
          else
Packit 3ff1e7
            shrext=
Packit 3ff1e7
          fi
Packit 3ff1e7
          if test $use_additional = yes; then
Packit 3ff1e7
            dir="$additional_libdir"
Packit 3ff1e7
            dnl The same code as in the loop below:
Packit 3ff1e7
            dnl First look for a shared library.
Packit 3ff1e7
            if test -n "$acl_shlibext"; then
Packit 3ff1e7
              if test -f "$dir/$libname$shrext"; then
Packit 3ff1e7
                found_dir="$dir"
Packit 3ff1e7
                found_so="$dir/$libname$shrext"
Packit 3ff1e7
              else
Packit 3ff1e7
                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
Packit 3ff1e7
                  ver=`(cd "$dir" && \
Packit 3ff1e7
                        for f in "$libname$shrext".*; do echo "$f"; done \
Packit 3ff1e7
                        | sed -e "s,^$libname$shrext\\\\.,," \
Packit 3ff1e7
                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
Packit 3ff1e7
                        | sed 1q ) 2>/dev/null`
Packit 3ff1e7
                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
Packit 3ff1e7
                    found_dir="$dir"
Packit 3ff1e7
                    found_so="$dir/$libname$shrext.$ver"
Packit 3ff1e7
                  fi
Packit 3ff1e7
                else
Packit 3ff1e7
                  eval library_names=\"$acl_library_names_spec\"
Packit 3ff1e7
                  for f in $library_names; do
Packit 3ff1e7
                    if test -f "$dir/$f"; then
Packit 3ff1e7
                      found_dir="$dir"
Packit 3ff1e7
                      found_so="$dir/$f"
Packit 3ff1e7
                      break
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  done
Packit 3ff1e7
                fi
Packit 3ff1e7
              fi
Packit 3ff1e7
            fi
Packit 3ff1e7
            dnl Then look for a static library.
Packit 3ff1e7
            if test "X$found_dir" = "X"; then
Packit 3ff1e7
              if test -f "$dir/$libname.$acl_libext"; then
Packit 3ff1e7
                found_dir="$dir"
Packit 3ff1e7
                found_a="$dir/$libname.$acl_libext"
Packit 3ff1e7
              fi
Packit 3ff1e7
            fi
Packit 3ff1e7
            if test "X$found_dir" != "X"; then
Packit 3ff1e7
              if test -f "$dir/$libname.la"; then
Packit 3ff1e7
                found_la="$dir/$libname.la"
Packit 3ff1e7
              fi
Packit 3ff1e7
            fi
Packit 3ff1e7
          fi
Packit 3ff1e7
          if test "X$found_dir" = "X"; then
Packit 3ff1e7
            for x in $LDFLAGS $LTLIB[]NAME; do
Packit 3ff1e7
              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
Packit 3ff1e7
              case "$x" in
Packit 3ff1e7
                -L*)
Packit 3ff1e7
                  dir=`echo "X$x" | sed -e 's/^X-L//'`
Packit 3ff1e7
                  dnl First look for a shared library.
Packit 3ff1e7
                  if test -n "$acl_shlibext"; then
Packit 3ff1e7
                    if test -f "$dir/$libname$shrext"; then
Packit 3ff1e7
                      found_dir="$dir"
Packit 3ff1e7
                      found_so="$dir/$libname$shrext"
Packit 3ff1e7
                    else
Packit 3ff1e7
                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
Packit 3ff1e7
                        ver=`(cd "$dir" && \
Packit 3ff1e7
                              for f in "$libname$shrext".*; do echo "$f"; done \
Packit 3ff1e7
                              | sed -e "s,^$libname$shrext\\\\.,," \
Packit 3ff1e7
                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
Packit 3ff1e7
                              | sed 1q ) 2>/dev/null`
Packit 3ff1e7
                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
Packit 3ff1e7
                          found_dir="$dir"
Packit 3ff1e7
                          found_so="$dir/$libname$shrext.$ver"
Packit 3ff1e7
                        fi
Packit 3ff1e7
                      else
Packit 3ff1e7
                        eval library_names=\"$acl_library_names_spec\"
Packit 3ff1e7
                        for f in $library_names; do
Packit 3ff1e7
                          if test -f "$dir/$f"; then
Packit 3ff1e7
                            found_dir="$dir"
Packit 3ff1e7
                            found_so="$dir/$f"
Packit 3ff1e7
                            break
Packit 3ff1e7
                          fi
Packit 3ff1e7
                        done
Packit 3ff1e7
                      fi
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  fi
Packit 3ff1e7
                  dnl Then look for a static library.
Packit 3ff1e7
                  if test "X$found_dir" = "X"; then
Packit 3ff1e7
                    if test -f "$dir/$libname.$acl_libext"; then
Packit 3ff1e7
                      found_dir="$dir"
Packit 3ff1e7
                      found_a="$dir/$libname.$acl_libext"
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  fi
Packit 3ff1e7
                  if test "X$found_dir" != "X"; then
Packit 3ff1e7
                    if test -f "$dir/$libname.la"; then
Packit 3ff1e7
                      found_la="$dir/$libname.la"
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  fi
Packit 3ff1e7
                  ;;
Packit 3ff1e7
              esac
Packit 3ff1e7
              if test "X$found_dir" != "X"; then
Packit 3ff1e7
                break
Packit 3ff1e7
              fi
Packit 3ff1e7
            done
Packit 3ff1e7
          fi
Packit 3ff1e7
          if test "X$found_dir" != "X"; then
Packit 3ff1e7
            dnl Found the library.
Packit 3ff1e7
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
Packit 3ff1e7
            if test "X$found_so" != "X"; then
Packit 3ff1e7
              dnl Linking with a shared library. We attempt to hardcode its
Packit 3ff1e7
              dnl directory into the executable's runpath, unless it's the
Packit 3ff1e7
              dnl standard /usr/lib.
Packit 3ff1e7
              if test "$enable_rpath" = no \
Packit 3ff1e7
                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
Packit 3ff1e7
                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
Packit 3ff1e7
                dnl No hardcoding is needed.
Packit 3ff1e7
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
Packit 3ff1e7
              else
Packit 3ff1e7
                dnl Use an explicit option to hardcode DIR into the resulting
Packit 3ff1e7
                dnl binary.
Packit 3ff1e7
                dnl Potentially add DIR to ltrpathdirs.
Packit 3ff1e7
                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
Packit 3ff1e7
                haveit=
Packit 3ff1e7
                for x in $ltrpathdirs; do
Packit 3ff1e7
                  if test "X$x" = "X$found_dir"; then
Packit 3ff1e7
                    haveit=yes
Packit 3ff1e7
                    break
Packit 3ff1e7
                  fi
Packit 3ff1e7
                done
Packit 3ff1e7
                if test -z "$haveit"; then
Packit 3ff1e7
                  ltrpathdirs="$ltrpathdirs $found_dir"
Packit 3ff1e7
                fi
Packit 3ff1e7
                dnl The hardcoding into $LIBNAME is system dependent.
Packit 3ff1e7
                if test "$acl_hardcode_direct" = yes; then
Packit 3ff1e7
                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
Packit 3ff1e7
                  dnl resulting binary.
Packit 3ff1e7
                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
Packit 3ff1e7
                else
Packit 3ff1e7
                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
Packit 3ff1e7
                    dnl Use an explicit option to hardcode DIR into the resulting
Packit 3ff1e7
                    dnl binary.
Packit 3ff1e7
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
Packit 3ff1e7
                    dnl Potentially add DIR to rpathdirs.
Packit 3ff1e7
                    dnl The rpathdirs will be appended to $LIBNAME at the end.
Packit 3ff1e7
                    haveit=
Packit 3ff1e7
                    for x in $rpathdirs; do
Packit 3ff1e7
                      if test "X$x" = "X$found_dir"; then
Packit 3ff1e7
                        haveit=yes
Packit 3ff1e7
                        break
Packit 3ff1e7
                      fi
Packit 3ff1e7
                    done
Packit 3ff1e7
                    if test -z "$haveit"; then
Packit 3ff1e7
                      rpathdirs="$rpathdirs $found_dir"
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  else
Packit 3ff1e7
                    dnl Rely on "-L$found_dir".
Packit 3ff1e7
                    dnl But don't add it if it's already contained in the LDFLAGS
Packit 3ff1e7
                    dnl or the already constructed $LIBNAME
Packit 3ff1e7
                    haveit=
Packit 3ff1e7
                    for x in $LDFLAGS $LIB[]NAME; do
Packit 3ff1e7
                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
Packit 3ff1e7
                      if test "X$x" = "X-L$found_dir"; then
Packit 3ff1e7
                        haveit=yes
Packit 3ff1e7
                        break
Packit 3ff1e7
                      fi
Packit 3ff1e7
                    done
Packit 3ff1e7
                    if test -z "$haveit"; then
Packit 3ff1e7
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
Packit 3ff1e7
                    fi
Packit 3ff1e7
                    if test "$acl_hardcode_minus_L" != no; then
Packit 3ff1e7
                      dnl FIXME: Not sure whether we should use
Packit 3ff1e7
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
Packit 3ff1e7
                      dnl here.
Packit 3ff1e7
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
Packit 3ff1e7
                    else
Packit 3ff1e7
                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
Packit 3ff1e7
                      dnl here, because this doesn't fit in flags passed to the
Packit 3ff1e7
                      dnl compiler. So give up. No hardcoding. This affects only
Packit 3ff1e7
                      dnl very old systems.
Packit 3ff1e7
                      dnl FIXME: Not sure whether we should use
Packit 3ff1e7
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
Packit 3ff1e7
                      dnl here.
Packit 3ff1e7
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  fi
Packit 3ff1e7
                fi
Packit 3ff1e7
              fi
Packit 3ff1e7
            else
Packit 3ff1e7
              if test "X$found_a" != "X"; then
Packit 3ff1e7
                dnl Linking with a static library.
Packit 3ff1e7
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
Packit 3ff1e7
              else
Packit 3ff1e7
                dnl We shouldn't come here, but anyway it's good to have a
Packit 3ff1e7
                dnl fallback.
Packit 3ff1e7
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
Packit 3ff1e7
              fi
Packit 3ff1e7
            fi
Packit 3ff1e7
            dnl Assume the include files are nearby.
Packit 3ff1e7
            additional_includedir=
Packit 3ff1e7
            case "$found_dir" in
Packit 3ff1e7
              */$acl_libdirstem | */$acl_libdirstem/)
Packit 3ff1e7
                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
Packit 3ff1e7
                if test "$name" = '$1'; then
Packit 3ff1e7
                  LIB[]NAME[]_PREFIX="$basedir"
Packit 3ff1e7
                fi
Packit 3ff1e7
                additional_includedir="$basedir/include"
Packit 3ff1e7
                ;;
Packit 3ff1e7
              */$acl_libdirstem2 | */$acl_libdirstem2/)
Packit 3ff1e7
                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
Packit 3ff1e7
                if test "$name" = '$1'; then
Packit 3ff1e7
                  LIB[]NAME[]_PREFIX="$basedir"
Packit 3ff1e7
                fi
Packit 3ff1e7
                additional_includedir="$basedir/include"
Packit 3ff1e7
                ;;
Packit 3ff1e7
            esac
Packit 3ff1e7
            if test "X$additional_includedir" != "X"; then
Packit 3ff1e7
              dnl Potentially add $additional_includedir to $INCNAME.
Packit 3ff1e7
              dnl But don't add it
Packit 3ff1e7
              dnl   1. if it's the standard /usr/include,
Packit 3ff1e7
              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
Packit 3ff1e7
              dnl   3. if it's already present in $CPPFLAGS or the already
Packit 3ff1e7
              dnl      constructed $INCNAME,
Packit 3ff1e7
              dnl   4. if it doesn't exist as a directory.
Packit 3ff1e7
              if test "X$additional_includedir" != "X/usr/include"; then
Packit 3ff1e7
                haveit=
Packit 3ff1e7
                if test "X$additional_includedir" = "X/usr/local/include"; then
Packit 3ff1e7
                  if test -n "$GCC"; then
Packit 3ff1e7
                    case $host_os in
Packit 3ff1e7
                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
Packit 3ff1e7
                    esac
Packit 3ff1e7
                  fi
Packit 3ff1e7
                fi
Packit 3ff1e7
                if test -z "$haveit"; then
Packit 3ff1e7
                  for x in $CPPFLAGS $INC[]NAME; do
Packit 3ff1e7
                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
Packit 3ff1e7
                    if test "X$x" = "X-I$additional_includedir"; then
Packit 3ff1e7
                      haveit=yes
Packit 3ff1e7
                      break
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  done
Packit 3ff1e7
                  if test -z "$haveit"; then
Packit 3ff1e7
                    if test -d "$additional_includedir"; then
Packit 3ff1e7
                      dnl Really add $additional_includedir to $INCNAME.
Packit 3ff1e7
                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
Packit 3ff1e7
                    fi
Packit 3ff1e7
                  fi
Packit 3ff1e7
                fi
Packit 3ff1e7
              fi
Packit 3ff1e7
            fi
Packit 3ff1e7
            dnl Look for dependencies.
Packit 3ff1e7
            if test -n "$found_la"; then
Packit 3ff1e7
              dnl Read the .la file. It defines the variables
Packit 3ff1e7
              dnl dlname, library_names, old_library, dependency_libs, current,
Packit 3ff1e7
              dnl age, revision, installed, dlopen, dlpreopen, libdir.
Packit 3ff1e7
              save_libdir="$libdir"
Packit 3ff1e7
              case "$found_la" in
Packit 3ff1e7
                */* | *\\*) . "$found_la" ;;
Packit 3ff1e7
                *) . "./$found_la" ;;
Packit 3ff1e7
              esac
Packit 3ff1e7
              libdir="$save_libdir"
Packit 3ff1e7
              dnl We use only dependency_libs.
Packit 3ff1e7
              for dep in $dependency_libs; do
Packit 3ff1e7
                case "$dep" in
Packit 3ff1e7
                  -L*)
Packit 3ff1e7
                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
Packit 3ff1e7
                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
Packit 3ff1e7
                    dnl But don't add it
Packit 3ff1e7
                    dnl   1. if it's the standard /usr/lib,
Packit 3ff1e7
                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
Packit 3ff1e7
                    dnl   3. if it's already present in $LDFLAGS or the already
Packit 3ff1e7
                    dnl      constructed $LIBNAME,
Packit 3ff1e7
                    dnl   4. if it doesn't exist as a directory.
Packit 3ff1e7
                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
Packit 3ff1e7
                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
Packit 3ff1e7
                      haveit=
Packit 3ff1e7
                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
Packit 3ff1e7
                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
Packit 3ff1e7
                        if test -n "$GCC"; then
Packit 3ff1e7
                          case $host_os in
Packit 3ff1e7
                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
Packit 3ff1e7
                          esac
Packit 3ff1e7
                        fi
Packit 3ff1e7
                      fi
Packit 3ff1e7
                      if test -z "$haveit"; then
Packit 3ff1e7
                        haveit=
Packit 3ff1e7
                        for x in $LDFLAGS $LIB[]NAME; do
Packit 3ff1e7
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
Packit 3ff1e7
                          if test "X$x" = "X-L$additional_libdir"; then
Packit 3ff1e7
                            haveit=yes
Packit 3ff1e7
                            break
Packit 3ff1e7
                          fi
Packit 3ff1e7
                        done
Packit 3ff1e7
                        if test -z "$haveit"; then
Packit 3ff1e7
                          if test -d "$additional_libdir"; then
Packit 3ff1e7
                            dnl Really add $additional_libdir to $LIBNAME.
Packit 3ff1e7
                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
Packit 3ff1e7
                          fi
Packit 3ff1e7
                        fi
Packit 3ff1e7
                        haveit=
Packit 3ff1e7
                        for x in $LDFLAGS $LTLIB[]NAME; do
Packit 3ff1e7
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
Packit 3ff1e7
                          if test "X$x" = "X-L$additional_libdir"; then
Packit 3ff1e7
                            haveit=yes
Packit 3ff1e7
                            break
Packit 3ff1e7
                          fi
Packit 3ff1e7
                        done
Packit 3ff1e7
                        if test -z "$haveit"; then
Packit 3ff1e7
                          if test -d "$additional_libdir"; then
Packit 3ff1e7
                            dnl Really add $additional_libdir to $LTLIBNAME.
Packit 3ff1e7
                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
Packit 3ff1e7
                          fi
Packit 3ff1e7
                        fi
Packit 3ff1e7
                      fi
Packit 3ff1e7
                    fi
Packit 3ff1e7
                    ;;
Packit 3ff1e7
                  -R*)
Packit 3ff1e7
                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
Packit 3ff1e7
                    if test "$enable_rpath" != no; then
Packit 3ff1e7
                      dnl Potentially add DIR to rpathdirs.
Packit 3ff1e7
                      dnl The rpathdirs will be appended to $LIBNAME at the end.
Packit 3ff1e7
                      haveit=
Packit 3ff1e7
                      for x in $rpathdirs; do
Packit 3ff1e7
                        if test "X$x" = "X$dir"; then
Packit 3ff1e7
                          haveit=yes
Packit 3ff1e7
                          break
Packit 3ff1e7
                        fi
Packit 3ff1e7
                      done
Packit 3ff1e7
                      if test -z "$haveit"; then
Packit 3ff1e7
                        rpathdirs="$rpathdirs $dir"
Packit 3ff1e7
                      fi
Packit 3ff1e7
                      dnl Potentially add DIR to ltrpathdirs.
Packit 3ff1e7
                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
Packit 3ff1e7
                      haveit=
Packit 3ff1e7
                      for x in $ltrpathdirs; do
Packit 3ff1e7
                        if test "X$x" = "X$dir"; then
Packit 3ff1e7
                          haveit=yes
Packit 3ff1e7
                          break
Packit 3ff1e7
                        fi
Packit 3ff1e7
                      done
Packit 3ff1e7
                      if test -z "$haveit"; then
Packit 3ff1e7
                        ltrpathdirs="$ltrpathdirs $dir"
Packit 3ff1e7
                      fi
Packit 3ff1e7
                    fi
Packit 3ff1e7
                    ;;
Packit 3ff1e7
                  -l*)
Packit 3ff1e7
                    dnl Handle this in the next round.
Packit 3ff1e7
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
Packit 3ff1e7
                    ;;
Packit 3ff1e7
                  *.la)
Packit 3ff1e7
                    dnl Handle this in the next round. Throw away the .la's
Packit 3ff1e7
                    dnl directory; it is already contained in a preceding -L
Packit 3ff1e7
                    dnl option.
Packit 3ff1e7
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
Packit 3ff1e7
                    ;;
Packit 3ff1e7
                  *)
Packit 3ff1e7
                    dnl Most likely an immediate library name.
Packit 3ff1e7
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
Packit 3ff1e7
                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
Packit 3ff1e7
                    ;;
Packit 3ff1e7
                esac
Packit 3ff1e7
              done
Packit 3ff1e7
            fi
Packit 3ff1e7
          else
Packit 3ff1e7
            dnl Didn't find the library; assume it is in the system directories
Packit 3ff1e7
            dnl known to the linker and runtime loader. (All the system
Packit 3ff1e7
            dnl directories known to the linker should also be known to the
Packit 3ff1e7
            dnl runtime loader, otherwise the system is severely misconfigured.)
Packit 3ff1e7
            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
Packit 3ff1e7
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
Packit 3ff1e7
          fi
Packit 3ff1e7
        fi
Packit 3ff1e7
      fi
Packit 3ff1e7
    done
Packit 3ff1e7
  done
Packit 3ff1e7
  if test "X$rpathdirs" != "X"; then
Packit 3ff1e7
    if test -n "$acl_hardcode_libdir_separator"; then
Packit 3ff1e7
      dnl Weird platform: only the last -rpath option counts, the user must
Packit 3ff1e7
      dnl pass all path elements in one option. We can arrange that for a
Packit 3ff1e7
      dnl single library, but not when more than one $LIBNAMEs are used.
Packit 3ff1e7
      alldirs=
Packit 3ff1e7
      for found_dir in $rpathdirs; do
Packit 3ff1e7
        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
Packit 3ff1e7
      done
Packit 3ff1e7
      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
Packit 3ff1e7
      acl_save_libdir="$libdir"
Packit 3ff1e7
      libdir="$alldirs"
Packit 3ff1e7
      eval flag=\"$acl_hardcode_libdir_flag_spec\"
Packit 3ff1e7
      libdir="$acl_save_libdir"
Packit 3ff1e7
      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
Packit 3ff1e7
    else
Packit 3ff1e7
      dnl The -rpath options are cumulative.
Packit 3ff1e7
      for found_dir in $rpathdirs; do
Packit 3ff1e7
        acl_save_libdir="$libdir"
Packit 3ff1e7
        libdir="$found_dir"
Packit 3ff1e7
        eval flag=\"$acl_hardcode_libdir_flag_spec\"
Packit 3ff1e7
        libdir="$acl_save_libdir"
Packit 3ff1e7
        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
Packit 3ff1e7
      done
Packit 3ff1e7
    fi
Packit 3ff1e7
  fi
Packit 3ff1e7
  if test "X$ltrpathdirs" != "X"; then
Packit 3ff1e7
    dnl When using libtool, the option that works for both libraries and
Packit 3ff1e7
    dnl executables is -R. The -R options are cumulative.
Packit 3ff1e7
    for found_dir in $ltrpathdirs; do
Packit 3ff1e7
      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
Packit 3ff1e7
    done
Packit 3ff1e7
  fi
Packit 3ff1e7
  popdef([P_A_C_K])
Packit 3ff1e7
  popdef([PACKLIBS])
Packit 3ff1e7
  popdef([PACKUP])
Packit 3ff1e7
  popdef([PACK])
Packit 3ff1e7
  popdef([NAME])
Packit 3ff1e7
])
Packit 3ff1e7
Packit 3ff1e7
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
Packit 3ff1e7
dnl unless already present in VAR.
Packit 3ff1e7
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
Packit 3ff1e7
dnl contains two or three consecutive elements that belong together.
Packit 3ff1e7
AC_DEFUN([AC_LIB_APPENDTOVAR],
Packit 3ff1e7
[
Packit 3ff1e7
  for element in [$2]; do
Packit 3ff1e7
    haveit=
Packit 3ff1e7
    for x in $[$1]; do
Packit 3ff1e7
      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
Packit 3ff1e7
      if test "X$x" = "X$element"; then
Packit 3ff1e7
        haveit=yes
Packit 3ff1e7
        break
Packit 3ff1e7
      fi
Packit 3ff1e7
    done
Packit 3ff1e7
    if test -z "$haveit"; then
Packit 3ff1e7
      [$1]="${[$1]}${[$1]:+ }$element"
Packit 3ff1e7
    fi
Packit 3ff1e7
  done
Packit 3ff1e7
])
Packit 3ff1e7
Packit 3ff1e7
dnl For those cases where a variable contains several -L and -l options
Packit 3ff1e7
dnl referring to unknown libraries and directories, this macro determines the
Packit 3ff1e7
dnl necessary additional linker options for the runtime path.
Packit 3ff1e7
dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
Packit 3ff1e7
dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
Packit 3ff1e7
dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
Packit 3ff1e7
dnl otherwise linking without libtool is assumed.
Packit 3ff1e7
AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
Packit 3ff1e7
[
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_RPATH])
Packit 3ff1e7
  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
Packit 3ff1e7
  $1=
Packit 3ff1e7
  if test "$enable_rpath" != no; then
Packit 3ff1e7
    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
Packit 3ff1e7
      dnl Use an explicit option to hardcode directories into the resulting
Packit 3ff1e7
      dnl binary.
Packit 3ff1e7
      rpathdirs=
Packit 3ff1e7
      next=
Packit 3ff1e7
      for opt in $2; do
Packit 3ff1e7
        if test -n "$next"; then
Packit 3ff1e7
          dir="$next"
Packit 3ff1e7
          dnl No need to hardcode the standard /usr/lib.
Packit 3ff1e7
          if test "X$dir" != "X/usr/$acl_libdirstem" \
Packit 3ff1e7
             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
Packit 3ff1e7
            rpathdirs="$rpathdirs $dir"
Packit 3ff1e7
          fi
Packit 3ff1e7
          next=
Packit 3ff1e7
        else
Packit 3ff1e7
          case $opt in
Packit 3ff1e7
            -L) next=yes ;;
Packit 3ff1e7
            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
Packit 3ff1e7
                 dnl No need to hardcode the standard /usr/lib.
Packit 3ff1e7
                 if test "X$dir" != "X/usr/$acl_libdirstem" \
Packit 3ff1e7
                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
Packit 3ff1e7
                   rpathdirs="$rpathdirs $dir"
Packit 3ff1e7
                 fi
Packit 3ff1e7
                 next= ;;
Packit 3ff1e7
            *) next= ;;
Packit 3ff1e7
          esac
Packit 3ff1e7
        fi
Packit 3ff1e7
      done
Packit 3ff1e7
      if test "X$rpathdirs" != "X"; then
Packit 3ff1e7
        if test -n ""$3""; then
Packit 3ff1e7
          dnl libtool is used for linking. Use -R options.
Packit 3ff1e7
          for dir in $rpathdirs; do
Packit 3ff1e7
            $1="${$1}${$1:+ }-R$dir"
Packit 3ff1e7
          done
Packit 3ff1e7
        else
Packit 3ff1e7
          dnl The linker is used for linking directly.
Packit 3ff1e7
          if test -n "$acl_hardcode_libdir_separator"; then
Packit 3ff1e7
            dnl Weird platform: only the last -rpath option counts, the user
Packit 3ff1e7
            dnl must pass all path elements in one option.
Packit 3ff1e7
            alldirs=
Packit 3ff1e7
            for dir in $rpathdirs; do
Packit 3ff1e7
              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
Packit 3ff1e7
            done
Packit 3ff1e7
            acl_save_libdir="$libdir"
Packit 3ff1e7
            libdir="$alldirs"
Packit 3ff1e7
            eval flag=\"$acl_hardcode_libdir_flag_spec\"
Packit 3ff1e7
            libdir="$acl_save_libdir"
Packit 3ff1e7
            $1="$flag"
Packit 3ff1e7
          else
Packit 3ff1e7
            dnl The -rpath options are cumulative.
Packit 3ff1e7
            for dir in $rpathdirs; do
Packit 3ff1e7
              acl_save_libdir="$libdir"
Packit 3ff1e7
              libdir="$dir"
Packit 3ff1e7
              eval flag=\"$acl_hardcode_libdir_flag_spec\"
Packit 3ff1e7
              libdir="$acl_save_libdir"
Packit 3ff1e7
              $1="${$1}${$1:+ }$flag"
Packit 3ff1e7
            done
Packit 3ff1e7
          fi
Packit 3ff1e7
        fi
Packit 3ff1e7
      fi
Packit 3ff1e7
    fi
Packit 3ff1e7
  fi
Packit 3ff1e7
  AC_SUBST([$1])
Packit 3ff1e7
])