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

📄 aclocal.m4

📁 fdisk 实现源码,可以查询Linux下系统的分区信息
💻 M4
📖 第 1 页 / 共 5 页
字号:
[  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"  ])  LIB[]NAME="$ac_cv_lib[]Name[]_libs"  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)  AC_SUBST([LIB]NAME)  AC_SUBST([LTLIB]NAME)  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.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=  fi  AC_SUBST([HAVE_LIB]NAME)  AC_SUBST([LIB]NAME)  AC_SUBST([LTLIB]NAME)  undefine([Name])  undefine([NAME])])dnl Determine the platform dependent parameters needed to use rpath:dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,dnl hardcode_direct, 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"  libext="$acl_cv_libext"  shlibext="$acl_cv_shlibext"  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"  hardcode_direct="$acl_cv_hardcode_direct"  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.AC_DEFUN([AC_LIB_LINKFLAGS_BODY],[  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])  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$1-prefix],[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib  --without-lib$1-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=  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=          if test $use_additional = yes; then            if test -n "$shlibext" \               && { test -f "$additional_libdir/lib$name.$shlibext" \                    || { test "$shlibext" = dll \                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then              found_dir="$additional_libdir"              if test -f "$additional_libdir/lib$name.$shlibext"; then                found_so="$additional_libdir/lib$name.$shlibext"              else                found_so="$additional_libdir/lib$name.dll.a"              fi              if test -f "$additional_libdir/lib$name.la"; then                found_la="$additional_libdir/lib$name.la"              fi            else              if test -f "$additional_libdir/lib$name.$libext"; then                found_dir="$additional_libdir"                found_a="$additional_libdir/lib$name.$libext"                if test -f "$additional_libdir/lib$name.la"; then                  found_la="$additional_libdir/lib$name.la"                fi              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//'`                  if test -n "$shlibext" \                     && { test -f "$dir/lib$name.$shlibext" \                          || { test "$shlibext" = dll \                               && test -f "$dir/lib$name.dll.a"; }; }; then                    found_dir="$dir"                    if test -f "$dir/lib$name.$shlibext"; then                      found_so="$dir/lib$name.$shlibext"                    else                      found_so="$dir/lib$name.dll.a"                    fi                    if test -f "$dir/lib$name.la"; then                      found_la="$dir/lib$name.la"                    fi                  else                    if test -f "$dir/lib$name.$libext"; then                      found_dir="$dir"                      found_a="$dir/lib$name.$libext"                      if test -f "$dir/lib$name.la"; then                        found_la="$dir/lib$name.la"                      fi                    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 "$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 "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then                    dnl Use an explicit option to hardcode DIR into the resulting                    dnl binary.                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"                    dnl Potentially add DIR to rpathdirs.                    dnl The rpathdirs will be appended to $LIBNAME at the end.                    haveit=                    for x in $rpathdirs; do                      if test "X$x" = "X$found_dir"; then                        haveit=yes                        break                      fi                    done                    if test -z "$haveit"; then                      rpathdirs="$rpathdirs $found_dir"                    fi                  else                    dnl Rely on "-L$found_dir".                    dnl But don't add it if it's already contained in the LDFLAGS                    dnl or the already constructed $LIBNAME                    haveit=                    for x in $LDFLAGS $LIB[]NAME; do                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])                      if test "X$x" = "X-L$found_dir"; then                        haveit=yes                        break                      fi                    done                    if test -z "$haveit"; then                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"                    fi                    if test "$hardcode_minus_L" != no; then                      dnl FIXME: Not sure whether we should use                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"                      dnl here.                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"                    else                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH                      dnl here, because this doesn't fit in flags passed to the                      dnl compiler. So give up. No hardcoding. This affects only                      dnl very old systems.                      dnl FIXME: Not sure whether we should use                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"                      dnl here.                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"                    fi                  fi                fi              fi            else              if test "X$found_a" != "X"; then                dnl Linking with a static library.                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"              else                dnl We shouldn't come here, but anyway it's good to have a                dnl fallback.                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"              fi            fi

⌨️ 快捷键说明

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