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

📄 programs.m4

📁 autoconf是一个产生可以自动配置源代码包
💻 M4
📖 第 1 页 / 共 2 页
字号:
# --------------------------------------------------------------------------# FEATURE-TEST is called repeatedly with $ac_path_VARIABLE set to the# name of a program in PROGNAME-LIST found in PATH.  FEATURE-TEST must set# $ac_cv_path_VARIABLE to the path of an acceptable program, or else# _AC_PATH_PROG_FEATURE_CHECK will report that no acceptable program# was found, and abort.  If a suitable $ac_path_VARIABLE is found in the# FEATURE-TEST macro, it can set $ac_path_VARIABLE_found=':' to accept# that value without any further checks.m4_define([_AC_PATH_PROG_FEATURE_CHECK],[# Extract the first word of "$2" to use in msg outputif test -z "$$1"; thenset dummy $2; ac_prog_name=$[2]AC_CACHE_VAL([ac_cv_path_$1],[ac_path_$1_found=false# Loop through the user's path and test for each of PROGNAME-LIST_AS_PATH_WALK([$4],[for ac_prog in $2; do  for ac_exec_ext in '' $ac_executable_extensions; do    ac_path_$1="$as_dir/$ac_prog$ac_exec_ext"    AS_EXECUTABLE_P(["$ac_path_$1"]) || continue    $3    $ac_path_$1_found && break 3  donedone])])$1="$ac_cv_path_$1"if test -z "$$1"; then  AC_MSG_ERROR([no acceptable $ac_prog_name could be found in dnlm4_default([$4], [\$PATH])])fiAC_SUBST([$1])else  ac_cv_path_$1=$$1fi])# _AC_FEATURE_CHECK_LENGTH(PROGPATH, CACHE-VAR, CHECK-CMD, [MATCH-STRING])# ------------------------------------------------------------------------# For use as the FEATURE-TEST argument to _AC_PATH_PROG_FEATURE_TEST.# On each iteration run CHECK-CMD on an input file, storing the value# of PROGPATH in CACHE-VAR if the CHECK-CMD succeeds.  The input file# is always one line, starting with only 10 characters, and doubling# in length at each iteration until approx 10000 characters or the# feature check succeeds.  The feature check is called at each# iteration by appending (optionally, MATCH-STRING and) a newline# to the file, and using the result as input to CHECK-CMD.m4_define([_AC_FEATURE_CHECK_LENGTH],[# Check for GNU $1 and select it if it is found.  _AC_PATH_PROG_FLAVOR_GNU([$$1],    [$2="$$1" $1_found=:],  [ac_count=0  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"  while :  do    cat "conftest.in" "conftest.in" >"conftest.tmp"    mv "conftest.tmp" "conftest.in"    cp "conftest.in" "conftest.nl"    echo '$4' >> "conftest.nl"    $3 < "conftest.nl" >"conftest.out" 2>/dev/null || break    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break    ac_count=`expr $ac_count + 1`    if test $ac_count -gt ${$1_max-0}; then      # Best one so far, save it but keep looking for a better one      $2="$$1"dnl   # Using $1_max so that each tool feature checked gets itsdnl   # own variable.  Don't reset it otherwise the implied searchdnl   # for best performing tool in a list breaks down.      $1_max=$ac_count    fi    # 10*(2^10) chars as input seems more than enough    test $ac_count -gt 10 && break  done  rm -f conftest.in conftest.tmp conftest.nl conftest.out])])# _AC_PATH_PROG_FLAVOR_GNU(PROGRAM-PATH, IF-SUCCESS, [IF-FAILURE])# ----------------------------------------------------------------m4_define([_AC_PATH_PROG_FLAVOR_GNU],[# Check for GNU $1case `"$1" --version 2>&1` in*GNU*)  $2;;m4_ifval([$3],[*)  $3;;])esac])# _AC_PATH_PROG_FLAVOR_GNU# AC_PROG_INSTALL# ---------------AN_MAKEVAR([INSTALL], [AC_PROG_INSTALL])AN_PROGRAM([install], [AC_PROG_INSTALL])AC_DEFUN([AC_PROG_INSTALL],[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnlAC_REQUIRE_AUX_FILE([install-sh])dnl# Find a good install program.  We prefer a C program (faster),# so one script is as good as another.  But avoid the broken or# incompatible versions:# SysV /etc/install, /usr/sbin/install# SunOS /usr/etc/install# IRIX /sbin/install# AIX /bin/install# AmigaOS /C/install, which installs bootblocks on floppy discs# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag# AFS /usr/afsws/bin/install, which mishandles nonexistent args# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"# OS/2's system install, which has a completely different semantic# ./install, which can be erroneously created by make from ./install.sh.AC_MSG_CHECKING([for a BSD-compatible install])if test -z "$INSTALL"; thenAC_CACHE_VAL(ac_cv_path_install,[_AS_PATH_WALK([$PATH],[# Account for people who put trailing slashes in PATH elements.case $as_dir/ in  ./ | .// | /[cC]/* | \  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \  /usr/ucb/* ) ;;  *)    # OSF1 and SCO ODT 3.0 have their own names for install.    # Don't use installbsd from OSF since it installs stuff as root    # by default.    for ac_prog in ginstall scoinst install; do      for ac_exec_ext in '' $ac_executable_extensions; do	if AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]); then	  if test $ac_prog = install &&	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then	    # AIX install.  It has an incompatible calling convention.	    :	  elif test $ac_prog = install &&	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then	    # program-specific install script used by HP pwplus--don't use.	    :	  else	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"	    break 3	  fi	fi      done    done    ;;esac])])dnl  if test "${ac_cv_path_install+set}" = set; then    INSTALL=$ac_cv_path_install  else    # As a last resort, use the slow shell script.  Don't cache a    # value for INSTALL within a source directory, because that will    # break other packages using the cache if that directory is    # removed, or if the value is a relative name.    INSTALL=$ac_install_sh  fifidnl Do special magic for INSTALL instead of AC_SUBST, to getdnl relative names right.AC_MSG_RESULT([$INSTALL])# Use test -z because SunOS4 sh mishandles braces in ${var-val}.# It thinks the first close brace ends the variable substitution.test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'AC_SUBST(INSTALL_PROGRAM)dnltest -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'AC_SUBST(INSTALL_SCRIPT)dnltest -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'AC_SUBST(INSTALL_DATA)dnl])# AC_PROG_INSTALL# AC_PROG_MKDIR_P# ---------------# Check whether `mkdir -p' is known to be thread-safe, and fall back to# install-sh -d otherwise.## Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories# created by `make install' are always world readable, even if the# installer happens to have an overly restrictive umask (e.g. 077).# This was a mistake.  There are at least two reasons why we must not# use `-m 0755':#   - it causes special bits like SGID to be ignored,#   - it may be too restrictive (some setups expect 775 directories).## Do not use -m 0755 and let people choose whatever they expect by# setting umask.## We cannot accept any implementation of `mkdir' that recognizes `-p'.# Some implementations (such as Solaris 8's) are vulnerable to race conditions:# if a parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'# concurrently, both version can detect that a/ is missing, but only# one can create it and the other will error out.  Consequently we# restrict ourselves to known race-free implementations.## Automake used to define mkdir_p as `mkdir -p .', in order to# allow $(mkdir_p) to be used without argument.  As in#   $(mkdir_p) $(somedir)# where $(somedir) is conditionally defined.  However we don't do# that for MKDIR_P.#  1. before we restricted the check to GNU mkdir, `mkdir -p .' was#     reported to fail in read-only directories.  The system where this#     happened has been forgotten.#  2. in practice we call $(MKDIR_P) on directories such as#       $(MKDIR_P) "$(DESTDIR)$(somedir)"#     and we don't want to create $(DESTDIR) if $(somedir) is empty.#     To support the latter case, we have to write#       test -z "$(somedir)" || $(MKDIR_P) "$(DESTDIR)$(somedir)"#     so $(MKDIR_P) always has an argument.#     We will have better chances of detecting a missing test if#     $(MKDIR_P) complains about missing arguments.#  3. $(MKDIR_P) is named after `mkdir -p' and we don't expect this#     to accept no argument.#  4. having something like `mkdir .' in the output is unsightly.## On NextStep and OpenStep, the `mkdir' command does not# recognize any option.  It will interpret all options as# directories to create.AN_MAKEVAR([MKDIR_P], [AC_PROG_MKDIR_P])AC_DEFUN([AC_PROG_MKDIR_P],[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnlAC_REQUIRE_AUX_FILE([install-sh])dnlAC_MSG_CHECKING([for a thread-safe mkdir -p])if test -z "$MKDIR_P"; then  AC_CACHE_VAL([ac_cv_path_mkdir],    [_AS_PATH_WALK([$PATH$PATH_SEPARATOR/opt/sfw/bin],      [for ac_prog in mkdir gmkdir; do	 for ac_exec_ext in '' $ac_executable_extensions; do	   AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]) || continue	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(	     'mkdir (GNU coreutils) '* | \	     'mkdir (coreutils) '* | \	     'mkdir (fileutils) '4.1*)	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext	       break 3;;	   esac	 done       done])])  if test "${ac_cv_path_mkdir+set}" = set; then    MKDIR_P="$ac_cv_path_mkdir -p"  else    # As a last resort, use the slow shell script.  Don't cache a    # value for MKDIR_P within a source directory, because that will    # break other packages using the cache if that directory is    # removed, or if the value is a relative name.    test -d ./--version && rmdir ./--version    MKDIR_P="$ac_install_sh -d"  fifidnl Do special magic for MKDIR_P instead of AC_SUBST, to getdnl relative names right.AC_MSG_RESULT([$MKDIR_P])])# AC_PROG_MKDIR_P# AC_PROG_LEX# -----------# Look for flex or lex.  Set its associated library to LEXLIB.# Check if lex declares yytext as a char * by default, not a char[].AN_MAKEVAR([LEX],  [AC_PROG_LEX])AN_PROGRAM([lex],  [AC_PROG_LEX])AN_PROGRAM([flex], [AC_PROG_LEX])AC_DEFUN_ONCE([AC_PROG_LEX],[AC_CHECK_PROGS(LEX, flex lex, :)if test -z "$LEXLIB"then  AC_CHECK_LIB(fl, yywrap, LEXLIB="-lfl",    [AC_CHECK_LIB(l, yywrap, LEXLIB="-ll")])fiAC_SUBST(LEXLIB)if test "x$LEX" != "x:"; then  _AC_PROG_LEX_YYTEXT_DECLfi])# _AC_PROG_LEX_YYTEXT_DECL# ------------------------# Check if lex declares yytext as a char * by default, not a char[].m4_define([_AC_PROG_LEX_YYTEXT_DECL],[AC_CACHE_CHECK(lex output file root, ac_cv_prog_lex_root,[# The minimal lex program is just a single line: %%.  But some broken lexes# (Solaris, I think it was) want two %% lines, so accommodate them.cat >conftest.l <<_ACEOF%%%%_ACEOF_AC_DO_VAR(LEX conftest.l)if test -f lex.yy.c; then  ac_cv_prog_lex_root=lex.yyelif test -f lexyy.c; then  ac_cv_prog_lex_root=lexyyelse  AC_MSG_ERROR([cannot find output from $LEX; giving up])fi])rm -f conftest.lAC_SUBST([LEX_OUTPUT_ROOT], [$ac_cv_prog_lex_root])dnlAC_CACHE_CHECK(whether yytext is a pointer, ac_cv_prog_lex_yytext_pointer,[# POSIX says lex can declare yytext either as a pointer or an array; the# default is implementation-dependent. Figure out which it is, since# not all implementations provide the %pointer and %array declarations.ac_cv_prog_lex_yytext_pointer=noecho 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.cac_save_LIBS=$LIBSLIBS="$LIBS $LEXLIB"AC_LINK_IFELSE([`cat $LEX_OUTPUT_ROOT.c`], ac_cv_prog_lex_yytext_pointer=yes)LIBS=$ac_save_LIBSrm -f "${LEX_OUTPUT_ROOT}.c"])dnlif test $ac_cv_prog_lex_yytext_pointer = yes; then  AC_DEFINE(YYTEXT_POINTER, 1,	    [Define to 1 if `lex' declares `yytext' as a `char *' by default,	     not a `char[]'.])fi])# _AC_PROG_LEX_YYTEXT_DECL# Require AC_PROG_LEX in case some people were just calling this macro.AU_DEFUN([AC_DECL_YYTEXT],  [AC_PROG_LEX])# AC_PROG_LN_S# ------------AN_MAKEVAR([LN], [AC_PROG_LN_S])AN_PROGRAM([ln], [AC_PROG_LN_S])AC_DEFUN([AC_PROG_LN_S],[AC_MSG_CHECKING([whether ln -s works])AC_SUBST([LN_S], [$as_ln_s])dnlif test "$LN_S" = "ln -s"; then  AC_MSG_RESULT([yes])else  AC_MSG_RESULT([no, using $LN_S])fi])# AC_PROG_LN_S# AC_PROG_MAKE_SET# ----------------# Define SET_MAKE to set ${MAKE} if Make does not do so automatically.  If Make# does not run the test Makefile, we assume that the Make program the user will# invoke does set $(MAKE).  This is typical, and emitting `MAKE=foomake' is# always wrong if `foomake' is not available or does not work.AN_MAKEVAR([MAKE], [AC_PROG_MAKE_SET])AN_PROGRAM([make], [AC_PROG_MAKE_SET])AC_DEFUN([AC_PROG_MAKE_SET],[AC_MSG_CHECKING([whether ${MAKE-make} sets \$(MAKE)])set x ${MAKE-make}; ac_make=`echo "$[2]" | sed 's/+/p/g; s/[[^a-zA-Z0-9_]]/_/g'`AC_CACHE_VAL(ac_cv_prog_make_${ac_make}_set,[cat >conftest.make <<\_ACEOFSHELL = /bin/shall:	@echo '@@@%%%=$(MAKE)=@@@%%%'_ACEOF# GNU make sometimes prints "make[1]: Entering...", which would confuse us.case `${MAKE-make} -f conftest.make 2>/dev/null` in  *@@@%%%=?*=@@@%%%*)    eval ac_cv_prog_make_${ac_make}_set=yes;;  *)    eval ac_cv_prog_make_${ac_make}_set=no;;esacrm -f conftest.make])dnlif eval test \$ac_cv_prog_make_${ac_make}_set = yes; then  AC_MSG_RESULT([yes])  SET_MAKE=else  AC_MSG_RESULT([no])  SET_MAKE="MAKE=${MAKE-make}"fiAC_SUBST([SET_MAKE])dnl])# AC_PROG_MAKE_SET# AC_PROG_RANLIB# --------------AN_MAKEVAR([RANLIB], [AC_PROG_RANLIB])AN_PROGRAM([ranlib], [AC_PROG_RANLIB])AC_DEFUN([AC_PROG_RANLIB],[AC_CHECK_TOOL(RANLIB, ranlib, :)])# AC_RSH# ------# I don't know what it used to do, but it no longer does.AU_DEFUN([AC_RSH], [],[$0 is no longer supported.  Remove this warning when youadjust the code.])# AC_PROG_SED# -----------# Check for a fully functional sed program that truncates# as few characters as possible.  Prefer GNU sed if found.AC_DEFUN([AC_PROG_SED],[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 /usr/ucb/sed.     ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/     for ac_i in 1 2 3 4 5 6 7; do       ac_script="$ac_script$as_nl$ac_script"     done     echo "$ac_script" | sed 99q >conftest.sed     $as_unset ac_script || ac_script=     _AC_PATH_PROG_FEATURE_CHECK(SED, [sed gsed],	[_AC_FEATURE_CHECK_LENGTH([ac_path_SED], [ac_cv_path_SED],		["$ac_path_SED" -f conftest.sed])])]) SED="$ac_cv_path_SED" AC_SUBST([SED])dnl rm -f conftest.sed])# AC_PROG_SED# AC_PROG_YACC# ------------AN_MAKEVAR([BISON],  [AC_PROG_YACC])AN_MAKEVAR([YACC],  [AC_PROG_YACC])AN_MAKEVAR([YFLAGS],  [AC_PROG_YACC])AN_PROGRAM([yacc],  [AC_PROG_YACC])AN_PROGRAM([byacc], [AC_PROG_YACC])AN_PROGRAM([bison], [AC_PROG_YACC])AC_DEFUN([AC_PROG_YACC],[AC_CHECK_PROGS(YACC, 'bison -y' byacc, yacc)dnlAC_ARG_VAR(YACC,[The `Yet Another C Compiler' implementation to use.  Defaults to the firstprogram found out of: `bison -y', `byacc', `yacc'.])dnlAC_ARG_VAR(YFLAGS,[The list of arguments that will be passed by default to $YACC.  This scriptwill default YFLAGS to the empty string to avoid a default value of `-d' givenby some make applications.])])

⌨️ 快捷键说明

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