📄 aclocal.m4
字号:
AC_REQUIRE([AC_PROG_AWK])dnlAC_REQUIRE([AC_PROG_MAKE_SET])dnlAC_REQUIRE([AM_DEP_TRACK])dnlAC_REQUIRE([AM_SET_DEPDIR])dnlAC_PROVIDE_IFELSE([AC_PROG_][CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_][CC], defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnlAC_PROVIDE_IFELSE([AC_PROG_][CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_][CXX], defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl])## Check to make sure that the build environment is sane.## serial 3# AM_SANITY_CHECK# ---------------AC_DEFUN([AM_SANITY_CHECK],[AC_MSG_CHECKING([whether build environment is sane])# Just in casesleep 1echo timestamp > conftest.file# Do `set' in a subshell so we don't clobber the current shell's# arguments. Must try -L first in case configure is actually a# symlink; some systems play weird games with the mod time of symlinks# (eg FreeBSD returns the mod time of the symlink's containing# directory).if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a brokenalias in your environment]) fi test "$[2]" = conftest.file )then # Ok. :else AC_MSG_ERROR([newly created file is older than distributed files!Check your system clock])fiAC_MSG_RESULT(yes)])# serial 2# AM_MISSING_PROG(NAME, PROGRAM)# ------------------------------AC_DEFUN([AM_MISSING_PROG],[AC_REQUIRE([AM_MISSING_HAS_RUN])$1=${$1-"${am_missing_run}$2"}AC_SUBST($1)])# AM_MISSING_HAS_RUN# ------------------# Define MISSING if not defined so far and test if it supports --run.# If it does, set am_missing_run to use it, otherwise, to nothing.AC_DEFUN([AM_MISSING_HAS_RUN],[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnltest x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"# Use eval to expand $SHELLif eval "$MISSING --run true"; then am_missing_run="$MISSING --run "else am_missing_run= am_backtick='`' AC_MSG_WARN([${am_backtick}missing' script is too old or missing])fi])# AM_AUX_DIR_EXPAND# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to# `$srcdir', `$srcdir/..', or `$srcdir/../..'.## Of course, Automake must honor this variable whenever it calls a# tool from the auxiliary directory. The problem is that $srcdir (and# therefore $ac_aux_dir as well) can be either absolute or relative,# depending on how configure is run. This is pretty annoying, since# it makes $ac_aux_dir quite unusable in subdirectories: in the top# source directory, any form will work fine, but in subdirectories a# relative path needs to be adjusted first.## $ac_aux_dir/missing# fails when called from a subdirectory if $ac_aux_dir is relative# $top_srcdir/$ac_aux_dir/missing# fails if $ac_aux_dir is absolute,# fails when called from a subdirectory in a VPATH build with# a relative $ac_aux_dir## The reason of the latter failure is that $top_srcdir and $ac_aux_dir# are both prefixed by $srcdir. In an in-source build this is usually# harmless because $srcdir is `.', but things will broke when you# start a VPATH build or use an absolute $srcdir.## So we could use something similar to $top_srcdir/$ac_aux_dir/missing,# iff we strip the leading $srcdir from $ac_aux_dir. That would be:# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`# and then we would define $MISSING as# MISSING="\${SHELL} $am_aux_dir/missing"# This will work as long as MISSING is not called from configure, because# unfortunately $(top_srcdir) has no meaning in configure.# However there are other variables, like CC, which are often used in# configure, and could therefore not use this "fixed" $ac_aux_dir.## Another solution, used here, is to always expand $ac_aux_dir to an# absolute PATH. The drawback is that using absolute paths prevent a# configured tree to be moved without reconfiguration.AC_DEFUN([AM_AUX_DIR_EXPAND], [# expand $ac_aux_dir to an absolute patham_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`])# AM_PROG_INSTALL_SH# ------------------# Define $install_sh.AC_DEFUN([AM_PROG_INSTALL_SH],[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnlinstall_sh=${install_sh-"$am_aux_dir/install-sh"}AC_SUBST(install_sh)])# One issue with vendor `install' (even GNU) is that you can't# specify the program used to strip binaries. This is especially# annoying in cross-compiling environments, where the build's strip# is unlikely to handle the host's binaries.# Fortunately install-sh will honor a STRIPPROG variable, so we# always use install-sh in `make install-strip', and initialize# STRIPPROG with the value of the STRIP variable (set by the user).AC_DEFUN([AM_PROG_INSTALL_STRIP],[AC_REQUIRE([AM_PROG_INSTALL_SH])dnlINSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"AC_SUBST([INSTALL_STRIP_PROGRAM])])# serial 4 -*- Autoconf -*-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be# written in clear, in which case automake, when reading aclocal.m4,# will think it sees a *use*, and therefore will trigger all it's# C support machinery. Also note that it means that autoscan, seeing# CC etc. in the Makefile, will ask for an AC_PROG_CC use...# _AM_DEPENDENCIES(NAME)# ---------------------# See how the compiler implements dependency checking.# NAME is "CC", "CXX" or "OBJC".# We try a few techniques and use that to set a single cache variable.## We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular# dependency, and given that the user is not expected to run this macro,# just rely on AC_PROG_CC.AC_DEFUN([_AM_DEPENDENCIES],[AC_REQUIRE([AM_SET_DEPDIR])dnlAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnlAC_REQUIRE([AM_MAKE_INCLUDE])dnlAC_REQUIRE([AM_DEP_TRACK])dnlifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=])AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type],[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. echo '#include "conftest.h"' > conftest.c echo 'int i;' > conftest.h echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=conftest.c object=conftest.o \ depfile=conftest.Po tmpdepfile=conftest.TPo \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && grep conftest.h conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then am_cv_$1_dependencies_compiler_type=$depmode break fi done cd .. rm -rf conftest.direlse am_cv_$1_dependencies_compiler_type=nonefi])$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"AC_SUBST([$1DEPMODE])])# AM_SET_DEPDIR# -------------# Choose a directory name for dependency files.# This macro is AC_REQUIREd in _AM_DEPENDENCIESAC_DEFUN([AM_SET_DEPDIR],[rm -f .deps 2>/dev/nullmkdir .deps 2>/dev/nullif test -d .deps; then DEPDIR=.depselse # MS-DOS does not allow filenames that begin with a dot. DEPDIR=_depsfirmdir .deps 2>/dev/nullAC_SUBST(DEPDIR)])# AM_DEP_TRACK# ------------AC_DEFUN([AM_DEP_TRACK],[AC_ARG_ENABLE(dependency-tracking,[ --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors])if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\'fiAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])pushdef([subst], defn([AC_SUBST]))subst(AMDEPBACKSLASH)popdef([subst])])# Generate code to set up dependency tracking.# This macro should only be invoked once -- use via AC_REQUIRE.# Usage:# AM_OUTPUT_DEPENDENCY_COMMANDS## This code is only required when automatic dependency tracking# is enabled. FIXME. This creates each `.P' file that we will# need in order to bootstrap the dependency handling code.AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[AC_OUTPUT_COMMANDS([test x"$AMDEP_TRUE" != x"" ||for mf in $CONFIG_FILES; do case "$mf" in Makefile) dirpart=.;; */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; *) continue;; esac grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`echo "$file" | sed -e 's|/[^/]*$||'` $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" donedone], [AMDEP_TRUE="$AMDEP_TRUE"ac_aux_dir="$ac_aux_dir"])])# AM_MAKE_INCLUDE()# -----------------# Check to see how make treats includes.AC_DEFUN([AM_MAKE_INCLUDE],[am_make=${MAKE-make}cat > confinc << 'END'doit: @echo doneEND# If we don't find an include directive, just comment out the code.AC_MSG_CHECKING([for style of include used by $am_make])am__include='#'am__quote=_am_result=none# First try GNU make style include.echo "include confinc" > confmf# We grep out `Entering directory' and `Leaving directory'# messages which can occur if `w' ends up in MAKEFLAGS.# In particular we don't look at `^make:' because GNU make might# be invoked under some other name (usually "gmake"), in which# case it prints its new name instead of `make'.if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNUfi# Now try BSD make style include.if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote='"' _am_result=BSD fifiAC_SUBST(am__include)AC_SUBST(am__quote)AC_MSG_RESULT($_am_result)rm -f confinc confmf])# serial 3# AM_CONDITIONAL(NAME, SHELL-CONDITION)# -------------------------------------# Define a conditional.## FIXME: Once using 2.50, use this:# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnlAC_DEFUN([AM_CONDITIONAL],[ifelse([$1], [TRUE], [errprint(__file__:__line__: [$0: invalid condition: $1])dnlm4exit(1)])dnlifelse([$1], [FALSE], [errprint(__file__:__line__: [$0: invalid condition: $1])dnlm4exit(1)])dnlAC_SUBST([$1_TRUE])AC_SUBST([$1_FALSE])if $2; then $1_TRUE= $1_FALSE='#'else $1_TRUE='#' $1_FALSE=fi])# Like AC_CONFIG_HEADER, but automatically create stamp file.# serial 3# When config.status generates a header, we must update the stamp-h file.# This file resides in the same directory as the config header# that is generated. We must strip everything past the first ":",# and everything past the last "/".AC_PREREQ([2.12])AC_DEFUN([AM_CONFIG_HEADER],[ifdef([AC_FOREACH],dnl [dnl init our file count if it isn't already m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) dnl prepare to store our destination file list for use in config.status AC_FOREACH([_AM_File], [$1], [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) dnl and add it to the list of files AC keeps track of, along dnl with our hook AC_CONFIG_HEADERS(_AM_File,dnl COMMANDS, [, INIT-CMDS][# update the timestampecho timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS m4_popdef([_AM_Dest])])],dnl[AC_CONFIG_HEADER([$1]) AC_OUTPUT_COMMANDS( ifelse(patsubst([$1], [[^ ]], []), [], [test -z "$CONFIG_HEADERS" || echo timestamp >dnl patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl[am_indx=1for am_file in $1; do case " \$CONFIG_HEADERS " in *" \$am_file "*) am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` if test -n "\$am_dir"; then am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do am_tmpdir=\$am_tmpdir\$am_subdir/ if test ! -d \$am_tmpdir; then mkdir \$am_tmpdir fi done fi echo timestamp > "\$am_dir"stamp-h\$am_indx ;; esac am_indx=\`expr \$am_indx + 1\`done])])]) # AM_CONFIG_HEADER# _AM_DIRNAME(PATH)# -----------------# Like AS_DIRNAME, only do it during macro expansionAC_DEFUN([_AM_DIRNAME], [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, m4_if(m4_regexp([$1], [^/.*]), -1, [.], m4_patsubst([$1], [^\(/\).*], [\1])), m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl]) # _AM_DIRNAME
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -