⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lib-link.m4

📁 开源备份软件源码 AMANDA, the Advanced Maryland Automatic Network Disk Archiver, is a backup system that a
💻 M4
📖 第 1 页 / 共 2 页
字号:
# lib-link.m4 serial 13 (gettext-0.16.2)dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.dnl This file is free software; the Free Software Foundationdnl gives unlimited permission to copy and/or distribute it,dnl with or without modifications, as long as this notice is preserved.dnl From Bruno Haible.AC_PREREQ(2.54)dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname anddnl the libraries corresponding to explicit and implicit dependencies.dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables anddnl augments the CPPFLAGS variable.dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libnamednl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.AC_DEFUN([AC_LIB_LINKFLAGS],[  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])  AC_REQUIRE([AC_LIB_RPATH])  define([Name],[translit([$1],[./-], [___])])  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [    AC_LIB_LINKFLAGS_BODY([$1], [$2])    ac_cv_lib[]Name[]_libs="$LIB[]NAME"    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"  ])  LIB[]NAME="$ac_cv_lib[]Name[]_libs"  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)  AC_SUBST([LIB]NAME)  AC_SUBST([LTLIB]NAME)  AC_SUBST([LIB]NAME[_PREFIX])  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the  dnl results of this search when this library appears as a dependency.  HAVE_LIB[]NAME=yes  undefine([Name])  undefine([NAME])])dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)dnl searches for libname and the libraries corresponding to explicit anddnl implicit dependencies, together with the specified include files anddnl the ability to compile and link the specified testcode. If found, itdnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} anddnl LTLIB${NAME} variables and augments the CPPFLAGS variable, anddnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTsdnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libnamednl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],[  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])  AC_REQUIRE([AC_LIB_RPATH])  define([Name],[translit([$1],[./-], [___])])  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME  dnl accordingly.  AC_LIB_LINKFLAGS_BODY([$1], [$2])  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,  dnl because if the user has installed lib[]Name and not disabled its use  dnl via --without-lib[]Name-prefix, he wants to use it.  ac_save_CPPFLAGS="$CPPFLAGS"  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [    ac_save_LIBS="$LIBS"    LIBS="$LIBS $LIB[]NAME"    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])    LIBS="$ac_save_LIBS"  ])  if test "$ac_cv_lib[]Name" = yes; then    HAVE_LIB[]NAME=yes    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])    AC_MSG_CHECKING([how to link with lib[]$1])    AC_MSG_RESULT([$LIB[]NAME])  else    HAVE_LIB[]NAME=no    dnl If $LIB[]NAME didn't lead to a usable library, we don't need    dnl $INC[]NAME either.    CPPFLAGS="$ac_save_CPPFLAGS"    LIB[]NAME=    LTLIB[]NAME=    LIB[]NAME[]_PREFIX=  fi  AC_SUBST([HAVE_LIB]NAME)  AC_SUBST([LIB]NAME)  AC_SUBST([LTLIB]NAME)  AC_SUBST([LIB]NAME[_PREFIX])  undefine([Name])  undefine([NAME])])dnl Determine the platform dependent parameters needed to use rpath:dnl   acl_libext,dnl   acl_shlibext,dnl   acl_hardcode_libdir_flag_spec,dnl   acl_hardcode_libdir_separator,dnl   acl_hardcode_direct,dnl   acl_hardcode_minus_L.AC_DEFUN([AC_LIB_RPATH],[  dnl Tell automake >= 1.10 to complain if config.rpath is missing.  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh    . ./conftest.sh    rm -f ./conftest.sh    acl_cv_rpath=done  ])  wl="$acl_cv_wl"  acl_libext="$acl_cv_libext"  acl_shlibext="$acl_cv_shlibext"  acl_libname_spec="$acl_cv_libname_spec"  acl_library_names_spec="$acl_cv_library_names_spec"  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"  acl_hardcode_direct="$acl_cv_hardcode_direct"  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"  dnl Determine whether the user wants rpath handling at all.  AC_ARG_ENABLE(rpath,    [  --disable-rpath         do not hardcode runtime library paths],    :, enable_rpath=yes)])dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname anddnl the libraries corresponding to explicit and implicit dependencies.dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was founddnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.AC_DEFUN([AC_LIB_LINKFLAGS_BODY],[  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])  dnl Autoconf >= 2.61 supports dots in --with options.  define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])])  dnl By default, look in $includedir and $libdir.  use_additional=yes  AC_LIB_WITH_FINAL_PREFIX([    eval additional_includedir=\"$includedir\"    eval additional_libdir=\"$libdir\"  ])  AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix],[  --with-lib]N_A_M_E[-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib  --without-lib]N_A_M_E[-prefix     don't search for lib$1 in includedir and libdir],[    if test "X$withval" = "Xno"; then      use_additional=no    else      if test "X$withval" = "X"; then        AC_LIB_WITH_FINAL_PREFIX([          eval additional_includedir=\"$includedir\"          eval additional_libdir=\"$libdir\"        ])      else        additional_includedir="$withval/include"        additional_libdir="$withval/$acl_libdirstem"      fi    fi])  dnl Search the library and its dependencies in $additional_libdir and  dnl $LDFLAGS. Using breadth-first-seach.  LIB[]NAME=  LTLIB[]NAME=  INC[]NAME=  LIB[]NAME[]_PREFIX=  rpathdirs=  ltrpathdirs=  names_already_handled=  names_next_round='$1 $2'  while test -n "$names_next_round"; do    names_this_round="$names_next_round"    names_next_round=    for name in $names_this_round; do      already_handled=      for n in $names_already_handled; do        if test "$n" = "$name"; then          already_handled=yes          break        fi      done      if test -z "$already_handled"; then        names_already_handled="$names_already_handled $name"        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS        dnl or AC_LIB_HAVE_LINKFLAGS call.        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`        eval value=\"\$HAVE_LIB$uppername\"        if test -n "$value"; then          if test "$value" = yes; then            eval value=\"\$LIB$uppername\"            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"            eval value=\"\$LTLIB$uppername\"            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"          else            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined            dnl that this library doesn't exist. So just drop it.            :          fi        else          dnl Search the library lib$name in $additional_libdir and $LDFLAGS          dnl and the already constructed $LIBNAME/$LTLIBNAME.          found_dir=          found_la=          found_so=          found_a=          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name          if test -n "$acl_shlibext"; then            shrext=".$acl_shlibext"             # typically: shrext=.so          else            shrext=          fi          if test $use_additional = yes; then            dir="$additional_libdir"            dnl The same code as in the loop below:            dnl First look for a shared library.            if test -n "$acl_shlibext"; then              if test -f "$dir/$libname$shrext"; then                found_dir="$dir"                found_so="$dir/$libname$shrext"              else                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then                  ver=`(cd "$dir" && \                        for f in "$libname$shrext".*; do echo "$f"; done \                        | sed -e "s,^$libname$shrext\\\\.,," \                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \                        | sed 1q ) 2>/dev/null`                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then                    found_dir="$dir"                    found_so="$dir/$libname$shrext.$ver"                  fi                else                  eval library_names=\"$acl_library_names_spec\"                  for f in $library_names; do                    if test -f "$dir/$f"; then                      found_dir="$dir"                      found_so="$dir/$f"                      break                    fi                  done                fi              fi            fi            dnl Then look for a static library.            if test "X$found_dir" = "X"; then              if test -f "$dir/$libname.$acl_libext"; then                found_dir="$dir"                found_a="$dir/$libname.$acl_libext"              fi            fi            if test "X$found_dir" != "X"; then              if test -f "$dir/$libname.la"; then                found_la="$dir/$libname.la"              fi            fi          fi          if test "X$found_dir" = "X"; then            for x in $LDFLAGS $LTLIB[]NAME; do              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])              case "$x" in                -L*)                  dir=`echo "X$x" | sed -e 's/^X-L//'`                  dnl First look for a shared library.                  if test -n "$acl_shlibext"; then                    if test -f "$dir/$libname$shrext"; then                      found_dir="$dir"                      found_so="$dir/$libname$shrext"                    else                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then                        ver=`(cd "$dir" && \                              for f in "$libname$shrext".*; do echo "$f"; done \                              | sed -e "s,^$libname$shrext\\\\.,," \                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \                              | sed 1q ) 2>/dev/null`                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then                          found_dir="$dir"                          found_so="$dir/$libname$shrext.$ver"                        fi                      else                        eval library_names=\"$acl_library_names_spec\"                        for f in $library_names; do                          if test -f "$dir/$f"; then                            found_dir="$dir"                            found_so="$dir/$f"                            break                          fi                        done                      fi                    fi                  fi                  dnl Then look for a static library.                  if test "X$found_dir" = "X"; then                    if test -f "$dir/$libname.$acl_libext"; then                      found_dir="$dir"                      found_a="$dir/$libname.$acl_libext"                    fi                  fi                  if test "X$found_dir" != "X"; then                    if test -f "$dir/$libname.la"; then                      found_la="$dir/$libname.la"                    fi                  fi                  ;;              esac              if test "X$found_dir" != "X"; then                break              fi            done          fi          if test "X$found_dir" != "X"; then            dnl Found the library.            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"            if test "X$found_so" != "X"; then              dnl Linking with a shared library. We attempt to hardcode its              dnl directory into the executable's runpath, unless it's the              dnl standard /usr/lib.              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then                dnl No hardcoding is needed.                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"              else                dnl Use an explicit option to hardcode DIR into the resulting                dnl binary.                dnl Potentially add DIR to ltrpathdirs.                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.                haveit=                for x in $ltrpathdirs; do                  if test "X$x" = "X$found_dir"; then                    haveit=yes                    break                  fi                done                if test -z "$haveit"; then                  ltrpathdirs="$ltrpathdirs $found_dir"                fi                dnl The hardcoding into $LIBNAME is system dependent.                if test "$acl_hardcode_direct" = yes; then                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the                  dnl resulting binary.                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"                else                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then                    dnl Use an explicit option to hardcode DIR into the resulting

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -