Blame m4/lib-link.m4

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