aclocal.m4
来自「linux平台中」· M4 代码 · 共 1,830 行 · 第 1/4 页
M4
1,830 行
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#serial 6dnl By default, many hosts won't let programs access large files;dnl one must use special compiler options to get large-file access to work.dnl For more details about this brain damage please see:dnl http://www.sas.com/standards/large.file/x_open.20Mar96.htmldnl Written by Paul Eggert <eggert@twinsun.com>.dnl Internal subroutine of AC_SYS_LARGEFILE.dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME)AC_DEFUN([AC_SYS_LARGEFILE_FLAGS], [AC_CACHE_CHECK([for $1 value to request large file support], ac_cv_sys_largefile_$1, [if ($GETCONF LFS_$1) >conftest.1 2>conftest.2 && test ! -s conftest.2 then ac_cv_sys_largefile_$1=`cat conftest.1` else ac_cv_sys_largefile_$1=no ifelse($1, CFLAGS, [case "$host_os" in # HP-UX 10.20 requires -D__STDC_EXT__ with gcc 2.95.1.changequote(, )dnl hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)changequote([, ])dnl if test "$GCC" = yes; then ac_cv_sys_largefile_CFLAGS=-D__STDC_EXT__ fi ;; # IRIX 6.2 and later require cc -n32.changequote(, )dnl irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)changequote([, ])dnl if test "$GCC" != yes; then ac_cv_sys_largefile_CFLAGS=-n32 fi esac if test "$ac_cv_sys_largefile_CFLAGS" != no; then ac_save_CC="$CC" CC="$CC $ac_cv_sys_largefile_CFLAGS" AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no) CC="$ac_save_CC" fi]) fi rm -f conftest*])])dnl Internal subroutine of AC_SYS_LARGEFILE.dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL)AC_DEFUN([AC_SYS_LARGEFILE_SPACE_APPEND], [case $2 in no) ;; ?*) case "[$]$1" in '') $1=$2 ;; *) $1=[$]$1' '$2 ;; esac ;; esac])dnl Internal subroutine of AC_SYS_LARGEFILE.dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)AC_DEFUN([AC_SYS_LARGEFILE_MACRO_VALUE], [AC_CACHE_CHECK([for $1], $2, [$2=nochangequote(, )dnl $4 for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do case "$ac_flag" in -D$1) $2=1 ;; -D$1=*) $2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;; esac donechangequote([, ])dnl ]) if test "[$]$2" != no; then AC_DEFINE_UNQUOTED([$1], [$]$2, [$3]) fi])AC_DEFUN([AC_SYS_LARGEFILE], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_ARG_ENABLE(largefile, [ --disable-largefile omit support for large files]) if test "$enable_largefile" != no; then AC_CHECK_TOOL(GETCONF, getconf) AC_SYS_LARGEFILE_FLAGS(CFLAGS) AC_SYS_LARGEFILE_FLAGS(LDFLAGS) AC_SYS_LARGEFILE_FLAGS(LIBS) for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do case "$ac_flag" in no) ;; -D_FILE_OFFSET_BITS=*) ;; -D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;; -D_LARGE_FILES | -D_LARGE_FILES=*) ;; -D?* | -I?*) AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;; *) AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;; esac done AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS") AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS") AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, ac_cv_sys_file_offset_bits, [Number of bits in a file offset, on hosts where this is settable.], [case "$host_os" in # HP-UX 10.20 and later hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) ac_cv_sys_file_offset_bits=64 ;; esac]) AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, ac_cv_sys_largefile_source, [Define to make fseeko etc. visible, on some hosts.], [case "$host_os" in # HP-UX 10.20 and later hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) ac_cv_sys_largefile_source=1 ;; esac]) AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, ac_cv_sys_large_files, [Define for large files, on AIX-style hosts.], [case "$host_os" in # AIX 4.2 and later aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*) ac_cv_sys_large_files=1 ;; esac]) fi ])# serial 1AC_DEFUN([AM_C_PROTOTYPES],[AC_REQUIRE([AM_PROG_CC_STDC])AC_REQUIRE([AC_PROG_CPP])AC_MSG_CHECKING([for function prototypes])if test "$am_cv_prog_cc_stdc" != no; then AC_MSG_RESULT(yes) AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes]) U= ANSI2KNR=else AC_MSG_RESULT(no) U=_ ANSI2KNR=./ansi2knrfi# Ensure some checks needed by ansi2knr itself.AC_HEADER_STDCAC_CHECK_HEADERS(string.h)AC_SUBST(U)dnlAC_SUBST(ANSI2KNR)dnl])# serial 1# @defmac AC_PROG_CC_STDC# @maindex PROG_CC_STDC# @ovindex CC# If the C compiler in not in ANSI C mode by default, try to add an option# to output variable @code{CC} to make it so. This macro tries various# options that select ANSI C on some system or another. It considers the# compiler to be in ANSI C mode if it handles function prototypes correctly.## If you use this macro, you should check after calling it whether the C# compiler has been set to accept ANSI C; if not, the shell variable# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source# code in ANSI C, you can make an un-ANSIfied copy of it by using the# program @code{ansi2knr}, which comes with Ghostscript.# @end defmacAC_DEFUN([AM_PROG_CC_STDC],[AC_REQUIRE([AC_PROG_CC])AC_BEFORE([$0], [AC_C_INLINE])AC_BEFORE([$0], [AC_C_CONST])dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, requirednl a magic option to avoid problems with ANSI preprocessor commandsdnl like #elif.dnl FIXME: can't do this because then AC_AIX won't work due to adnl circular dependency.dnl AC_BEFORE([$0], [AC_PROG_CPP])AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])AC_CACHE_VAL(am_cv_prog_cc_stdc,[am_cv_prog_cc_stdc=noac_save_CC="$CC"# Don't try gcc -ansi; that turns off useful extensions and# breaks some systems' header files.# AIX -qlanglvl=ansi# Ultrix and OSF/1 -std1# HP-UX 10.20 and later -Ae# HP-UX older versions -Aa -D_HPUX_SOURCE# SVR4 -Xc -D__EXTENSIONS__for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"do CC="$ac_save_CC $ac_arg" AC_TRY_COMPILE([#include <stdarg.h>#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */struct buf { int x; };FILE * (*rcsopen) (struct buf *, struct stat *, int);static char *e (p, i) char **p; int i;{ return p[i];}static char *f (char * (*g) (char **, int), char **p, ...){ char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s;}int test (int i, double x);struct s1 {int (*f) (int a);};struct s2 {int (*f) (double a);};int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);int argc;char **argv;], [return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];],[am_cv_prog_cc_stdc="$ac_arg"; break])doneCC="$ac_save_CC"])if test -z "$am_cv_prog_cc_stdc"; then AC_MSG_RESULT([none needed])else AC_MSG_RESULT([$am_cv_prog_cc_stdc])ficase "x$am_cv_prog_cc_stdc" in x|xno) ;; *) CC="$CC $am_cv_prog_cc_stdc" ;;esac])#serial 5dnl From Paul Eggert.AC_PREREQ(2.13)# Define uintmax_t to `unsigned long' or `unsigned long long'# if <inttypes.h> does not exist.AC_DEFUN(jm_AC_TYPE_UINTMAX_T,[ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) if test $jm_ac_cv_header_inttypes_h = no; then AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) test $ac_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,[ Define to unsigned long or unsigned long long if <inttypes.h> doesn't define.]) fi])#serial 3dnl From Paul Eggert.# Define HAVE_INTTYPES_H if <inttypes.h> exists,# doesn't clash with <sys/types.h>, and declares uintmax_t.AC_DEFUN(jm_AC_HEADER_INTTYPES_H,[ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include <sys/types.h>#include <inttypes.h>], [uintmax_t i = (uintmax_t) -1;], jm_ac_cv_header_inttypes_h=yes, jm_ac_cv_header_inttypes_h=no)]) if test $jm_ac_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and declares uintmax_t. ]) fi])#serial 2dnl From Paul Eggert.AC_DEFUN(jm_AC_TYPE_UNSIGNED_LONG_LONG,[ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], [unsigned long long ullmax = (unsigned long long) -1; return ull << i | ull >> i | ullmax / ull | ullmax % ull;], ac_cv_type_unsigned_long_long=yes, ac_cv_type_unsigned_long_long=no)]) if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the unsigned long long type.]) fi])# serial 8# From Paul Eggert.# BeOS 5 has <wchar.h> but does not define mbstate_t,# so you can't declare an object of that type.# Check for this incompatibility with Standard C.# Include stdlib.h first, because otherwise this test would fail on Linux# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits# a syntax error in wchar.h due to the use of undefined __int32_t.AC_DEFUN(AC_MBSTATE_T, [ AC_CHECK_HEADERS(stdlib.h) AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, [AC_TRY_COMPILE([#if HAVE_STDLIB_H# include <stdlib.h>#endif#include <wchar.h>], [mbstate_t x; return sizeof x;], ac_cv_type_mbstate_t=yes, ac_cv_type_mbstate_t=no)]) if test $ac_cv_type_mbstate_t = no; then AC_DEFINE(mbstate_t, int, [Define to a type if <wchar.h> does not define.]) fi])#serial 2# autoconf tests required for use of xstrtoumax.cAC_DEFUN(jm_AC_PREREQ_XSTRTOUMAX,[ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) AC_CHECK_HEADERS(stdlib.h) AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro], jm_cv_func_strtoumax_macro, AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>#ifdef strtoumax inttypes_h_defines_strtoumax#endif], jm_cv_func_strtoumax_macro=yes, jm_cv_func_strtoumax_macro=no)) if test "$jm_cv_func_strtoumax_macro" != yes; then AC_REPLACE_FUNCS(strtoumax)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?