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

📄 acinclude.m4

📁 linux下常用的网络工具的代码
💻 M4
📖 第 1 页 / 共 2 页
字号:
	    test "$iu_spath" || iu_spath="$PATH"	    for iu_dir in `echo "$iu_spath" | sed 'y/:/ /'`; do	      test -z "$iu_dir" && iu_dir=.	      if test -$iu_test_type "$iu_dir/$iu_name"; then		iu_val="$iu_dir/$iu_name"		break	      fi	    done	    ;;	  no) iu_default=no;;	  x|d|f|c|b) iu_test_type=$iu_try;;	  *)	    # Just try the given name, with make-var substitution.  Besides 	    # yielding a value if found, this also sets the default.	    case "$iu_try" in "\""*"\"")	      # strip off quotes	      iu_try="`echo $iu_try | sed -e 's/^.//' -e 's/.$//'`"	    esac	    test -z "$iu_default" && iu_default="$iu_try"	    test "$cross_compiling" = yes && { iu_cross_test=yes; continue; }	    # See if the value begins with a $(FOO)/${FOO} make variable	    # corresponding to a shell variable, and if so set try_exp to the	    # value thereof.  Recurse.	    iu_try_exp="$iu_try"	    changequote(,)	    iu_try_var="`echo "$iu_try_exp" |sed -n 's;^\$[({]\([-_a-zA-Z]*\)[)}].*;\1;p'`"	    while eval test \"$iu_try_var\" && eval test '${'$iu_try_var'+set}'; do	      # yes, and there's a corresponding shell variable, which substitute	      if eval test \"'$'"$iu_try_var"\" = NONE; then		# Not filled in by configure yet		case "$iu_try_var" in		  prefix | exec_prefix)		    iu_try_exp="$ac_default_prefix`echo "$iu_try_exp" |sed 's;^\$[({][-_a-zA-Z]*[)}];;'`";;		esac		iu_try_var=''	# Stop expansion here	      else		# Use the actual value of the shell variable		eval iu_try_exp=\"`echo "$iu_try_exp" |sed 's;^\$[({]\([-_a-zA-Z]*\)[)}];\$\1;'`\"		iu_try_var="`echo "$iu_try_exp" |sed -n 's;^\$[({]\([-_a-zA-Z]*\)[)}].*;\1;p'`"	      fi	    done	    changequote([,])	    test -$iu_test_type "$iu_try_exp" && iu_val="$iu_try"	    ;;	esac	test "$iu_val" -o "$iu_hdr" && break	test "$iu_cross_test" -a "$iu_prev_cross_test" && iu_cross_conflict=yes	iu_prev_cross_test=$iu_cross_test      done      if test -z "$iu_val" -a -z "$iu_hdr"; then	if test -z "$iu_default"; then	  iu_val=no	else	  iu_val="$iu_default"	  iu_defaulted="(default) "	fi      fi    fi    if test "$iu_val"; then      AC_MSG_RESULT(${iu_cached}${iu_defaulted}$iu_val)      test "$iu_cross_conflict" -a "$iu_defaulted" \	&& AC_MSG_WARN(may be incorrect because of cross-compilation)      # Put the value in the autoconf cache.  We replace $( with @( to avoid      # variable evaluation problems when autoconf reads the cache later.      echo inetutils_cv_$iu_pathvar=\'"`echo "$iu_val" | sed 's/\$(/@(/g'`"\'    elif test "$iu_hdr"; then      AC_MSG_RESULT(${iu_cached}from $iu_sym in $iu_hdr)      echo inetutils_cv_hdr_$iu_pathvar=\'"$iu_hdr"\'      echo inetutils_cv_hdr_sym_$iu_pathvar=\'"$iu_sym"\'    fi  done <[$1] >$iu_cache_file  # Read the cache values constructed by the previous loop,   . $iu_cache_file  # Construct the pathdefs file -- a file of make variable definitions, of  # the form PATHDEF_FOO, that contain cc -D switches to define the cpp macro  # PATH_FOO.  grep -v '^inetutils_cv_hdr_' < $iu_cache_file | \  while read iu_cache_set; do    iu_var="`echo $iu_cache_set | sed 's/=.*$//'`"    eval iu_val=\"'$'"$iu_var"\"    # invert escaped $(...) notation used in autoconf cache    eval iu_val=\"\`echo \'"$iu_val"\' \| sed \''s/@(/$\(/g'\'\`\"    if test "$iu_val" != no; then      iu_path="`echo $iu_var | sed -e 's/^inetutils_cv_//' -e y/${iu_lcase}/${IU_UCASE}/`"      iu_pathdef="`echo $iu_path | sed 's/^PATH_/PATHDEF_/'`"      echo $iu_pathdef = -D$iu_path='\"'"$iu_val"'\"'      AC_DEFINE_UNQUOTED($iu_path, "$iu_val")    fi  done >$[$2]  AC_SUBST_FILE([$2])  # Generate a file of #ifdefs that defaults PATH_FOO macros to _PATH_FOO (or  # some other symbol) (excluding any who's value is set to `no').  grep '^inetutils_cv_hdr_sym_' < $iu_cache_file | \  while read iu_cache_set; do    iu_sym_var="`echo "$iu_cache_set" | sed 's/=.*$//'`"    eval iu_sym=\"'$'"$iu_sym_var"\"    iu_path="`echo $iu_sym_var | sed -e 's/^inetutils_cv_hdr_sym_//' -e y/${iu_lcase}/${IU_UCASE}/`"    cat <<EOF#ifndef $iu_path#define $iu_path $iu_sym#endifEOF  done >$[$3]  AC_SUBST_FILE([$3])])AC_DEFUN([IU_ENABLE_FOO], [AC_ARG_ENABLE($1, AS_HELP_STRING([--disable-$1], [don't compile $1]), ,                [enable_]$1[=$enable_]$2)[if test "$enable_$1" = yes; then    $1_BUILD=$1   $1_INSTALL_HOOK="install-$1-hook"else   $1_BUILD=''   $1_INSTALL_HOOK=''fi;]  AC_SUBST([$1_BUILD])  AC_SUBST([$1_INSTALL_HOOK])])AC_DEFUN([IU_ENABLE_CLIENT], [IU_ENABLE_FOO($1, clients)])AC_DEFUN([IU_ENABLE_SERVER], [IU_ENABLE_FOO($1, servers)])#serial 12dnl Initially derived from code in GNU grep.dnl Mostly written by Jim Meyering.dnl Usage: jm_INCLUDED_REGEX([lib/regex.c])dnlAC_DEFUN([jm_INCLUDED_REGEX],  [    dnl Even packages that don't use regex.c can use this macro.    dnl Of course, for them it doesn't do anything.    # Assume we'll default to using the included regex.c.    ac_use_included_regex=yes    # However, if the system regex support is good enough that it passes the    # the following run test, then default to *not* using the included regex.c.    # If cross compiling, assume the test would fail and use the included    # regex.c.  The first failing regular expression is from `Spencer ere    # test #75' in grep-2.3.    AC_CACHE_CHECK([for working re_compile_pattern],		   jm_cv_func_working_re_compile_pattern,      AC_TRY_RUN([#include <stdio.h>#include <regex.h>	  int	  main ()	  {	    static struct re_pattern_buffer regex;	    const char *s;	    struct re_registers regs;	    re_set_syntax (RE_SYNTAX_POSIX_EGREP);	    [s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, &regex);]	    /* This should fail with _Invalid character class name_ error.  */	    if (!s)	      exit (1);	    /* This should succeed, but doesn't for e.g. glibc-2.1.3.  */	    s = re_compile_pattern ("{1", 2, &regex);	    if (s)	      exit (1);	    /* The following example is derived from a problem report               against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>.  */	    s = re_compile_pattern ("[[an鵠]*n", 7, &regex);	    if (s)	      exit (1);	    /* This should match, but doesn't for e.g. glibc-2.2.1.  */	    if (re_match (&regex, "an", 2, 0, &regs) != 2)	      exit (1);	    exit (0);	  }	],	       jm_cv_func_working_re_compile_pattern=yes,	       jm_cv_func_working_re_compile_pattern=no,	       dnl When crosscompiling, assume it's broken.	       jm_cv_func_working_re_compile_pattern=no))    if test $jm_cv_func_working_re_compile_pattern = yes; then      ac_use_included_regex=no    fi    test -n "$1" || AC_MSG_ERROR([missing argument])    m4_syscmd([test -f $1])    ifelse(m4_sysval, 0,      [	AC_ARG_WITH([included-regex],	            AC_HELP_STRING([--without-included-regex],                                   [don't compile regex; this is the default on                          systems with version 2 of the GNU C library                          (use with caution on other system)]),		    jm_with_regex=$withval,		    jm_with_regex=$ac_use_included_regex)	if test "$jm_with_regex" = yes; then	  AC_LIBOBJ(regex)	fi      ],    )  ])dnl IU_CHECK_KRB5(VERSION,PREFIX)dnl Search for a Kerberos implementation in the standard locations plus PREFIX,dnl if it is set and not "yes".dnl VERSION should be either 4 or 5dnl Defines KRB5_CFLAGS and KRB5_LIBS if found.dnl Defines KRB_IMPL to "Heimdal", "MIT", or "OldMIT", or "none" if not foundAC_DEFUN([IU_CHECK_KRB5],[ if test "x$iu_cv_lib_krb5_libs" = x; then  cache=""  ## Make sure we have res_query  AC_CHECK_LIB(resolv, res_query)  KRB5_PREFIX=[$2]  KRB5_IMPL="none"  # First try krb5-config  if test "$KRB5_PREFIX" != "yes"; then    krb5_path="$KRB5_PREFIX/bin"  else    krb5_path="$PATH"  fi  AC_PATH_PROG(KRB5CFGPATH, krb5-config, none, $krb5_path)  if test "$KRB5CFGPATH" != "none"; then    KRB5_CFLAGS="$CPPFLAGS `$KRB5CFGPATH --cflags krb$1`"    KRB5_LIBS="$LDFLAGS `$KRB5CFGPATH --libs krb$1`"    KRB5_IMPL="Heimdal"  else    ## OK, try the old code    saved_CPPFLAGS="$CPPFLAGS"    saved_LDFLAGS="$LDFLAGS"    saved_LIBS="$LIBS"    if test "$KRB5_PREFIX" != "yes"; then      KRB5_CFLAGS="-I$KRB5_PREFIX/include"      KRB5_LDFLAGS="-L$KRB5_PREFIX/lib"      CPPFLAGS="$CPPFLAGS $KRB5_CFLAGS"      LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"    fi    KRB4_LIBS="-lkrb4 -ldes425"    ## Check for new MIT kerberos V support    AC_CHECK_LIB(krb5, krb5_init_context,      [KRB5_IMPL="MIT"       KRB5_LIBS="$KRB5_LDFLAGS $KRB4_LIBS -lkrb5 -lk5crypto -lcom_err"]       ,, -lk5crypto -lcom_err)    ## Heimdal kerberos V support    if test "$KRB5_IMPL" = "none"; then      AC_CHECK_LIB(krb5, krb5_init_context,        [KRB5_IMPL="Heimdal"         KRB5_LIBS="$KRB5_LDFLAGS $KRB4_LIBS -lkrb5 -ldes -lasn1 -lroken -lcrypt -lcom_err"]         ,, -ldes -lasn1 -lroken -lcrypt -lcom_err)    fi    ## Old MIT Kerberos V    ## Note: older krb5 distributions use -lcrypto instead of    ## -lk5crypto. This may conflict with OpenSSL.    if test "$KRB5_IMPL" = "none"; then      AC_CHECK_LIB(krb5, krb5_init_context,        [KRB5_IMPL="OldMIT",         KRB5_LIBS="$KRB5_LDFLAGS $KRB4_LIBS -lkrb5 -lkrb5 -lcrypto -lcom_err"]        ,, -lcrypto -lcom_err)    fi    LDFLAGS="$saved_LDFLAGS"    LIBS="$saved_LIBS"  fi  iu_cv_lib_krb5_cflags="$KRB5_CFLAGS"  iu_cv_lib_krb5_libs="$KRB5_LIBS"  iu_cv_lib_krb5_impl="$KRB5_IMPL" else  cached=" (cached) "  KRB5_CFLAGS="$iu_cv_lib_krb5_cflags"  KRB5_LIBS="$iu_cv_lib_krb5_libs"  KRB5_IMPL="$iu_cv_lib_krb5_impl" fi AC_MSG_CHECKING(krb5 implementation) AC_MSG_RESULT(${cached}$KRB5_IMPL)])dnl IU_CHECK_MEMBER(AGGREGATE.MEMBER,dnl                [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],dnl                [INCLUDES])dnl AGGREGATE.MEMBER is for instance `struct passwd.pw_gecos'.dnl The member itself can be of an aggregate typednl Shell variables are not a valid argument.AC_DEFUN([IU_CHECK_MEMBER],[AS_LITERAL_IF([$1], [],               [AC_FATAL([$0: requires literal arguments])])dnlm4_bmatch([$1], [\.], ,         [m4_fatal([$0: Did not see any dot in `$1'])])dnlAS_VAR_PUSHDEF([ac_Member], [ac_cv_member_$1])dnldnl Extract the aggregate name, and the member nameAC_CACHE_CHECK([for $1], ac_Member,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])],[dnl AGGREGATE ac_aggr;static m4_bpatsubst([$1], [\..*]) ac_aggr;dnl ac_aggr.MEMBER;if (sizeof(ac_aggr.m4_bpatsubst([$1], [^[^.]*\.])))return 0;])],                [AS_VAR_SET(ac_Member, yes)],                [AS_VAR_SET(ac_Member, no)])])AS_IF([test AS_VAR_GET(ac_Member) = yes], [$2], [$3])dnlAS_VAR_POPDEF([ac_Member])dnl])dnl IU_CHECK_MEMBERdnl IU_CHECK_MEMBERS([AGGREGATE.MEMBER, ...],dnl                  [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]dnl                  [INCLUDES])AC_DEFUN([IU_CHECK_MEMBERS],[m4_foreach([AC_Member], [$1],  [IU_CHECK_MEMBER(AC_Member,         [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_Member), 1,                            [Define to 1 if `]m4_bpatsubst(AC_Member,                                                     [^[^.]*\.])[' is                             member of `]m4_bpatsubst(AC_Member, [\..*])['.])$2],                 [$3],                 [$4])])])

⌨️ 快捷键说明

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