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 + -
显示快捷键?