Blame m4/lib-link.m4

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