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

📄 lib-link.m4

📁 gnu tar 源码包。 tar 软件是 Unix 系统下的一个打包软件
💻 M4
📖 第 1 页 / 共 3 页
字号:
          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                    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 "$acl_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 $acl_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            dnl Assume the include files are nearby.            additional_includedir=            case "$found_dir" in              */$acl_libdirstem | */$acl_libdirstem/)                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`                LIB[]NAME[]_PREFIX="$basedir"                additional_includedir="$basedir/include"                ;;            esac            if test "X$additional_includedir" != "X"; then              dnl Potentially add $additional_includedir to $INCNAME.              dnl But don't add it              dnl   1. if it's the standard /usr/include,              dnl   2. if it's /usr/local/include and we are using GCC on Linux,              dnl   3. if it's already present in $CPPFLAGS or the already              dnl      constructed $INCNAME,              dnl   4. if it doesn't exist as a directory.              if test "X$additional_includedir" != "X/usr/include"; then                haveit=                if test "X$additional_includedir" = "X/usr/local/include"; then                  if test -n "$GCC"; then                    case $host_os in                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;                    esac                  fi                fi                if test -z "$haveit"; then                  for x in $CPPFLAGS $INC[]NAME; do                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])                    if test "X$x" = "X-I$additional_includedir"; then                      haveit=yes                      break                    fi                  done                  if test -z "$haveit"; then                    if test -d "$additional_includedir"; then                      dnl Really add $additional_includedir to $INCNAME.                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"                    fi                  fi                fi              fi            fi            dnl Look for dependencies.            if test -n "$found_la"; then              dnl Read the .la file. It defines the variables              dnl dlname, library_names, old_library, dependency_libs, current,              dnl age, revision, installed, dlopen, dlpreopen, libdir.              save_libdir="$libdir"              case "$found_la" in                */* | *\\*) . "$found_la" ;;                *) . "./$found_la" ;;              esac              libdir="$save_libdir"              dnl We use only dependency_libs.              for dep in $dependency_libs; do                case "$dep" in

⌨️ 快捷键说明

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