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

📄 apr_common.m4

📁 apache的软件linux版本
💻 M4
📖 第 1 页 / 共 2 页
字号:
dnl  string.dnldnlAC_DEFUN(APR_CHECK_STRERROR_R_RC,[AC_MSG_CHECKING(for type of return code from strerror_r)AC_TRY_RUN([#include <errno.h>#include <string.h>#include <stdio.h>main(){  char buf[1024];  if (strerror_r(ERANGE, buf, sizeof buf) < 1) {    exit(0);  }  else {    exit(1);  }}], [    ac_cv_strerror_r_rc_int=yes ], [    ac_cv_strerror_r_rc_int=no ], [    ac_cv_strerror_r_rc_int=no ] )if test "x$ac_cv_strerror_r_rc_int" = xyes; then  AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int])  msg="int"else  msg="pointer"fiAC_MSG_RESULT([$msg])] )dnldnl APR_CHECK_CRYPT_R_STYLEdnldnl  Decide which of a couple of flavors of crypt_r() is necessary fordnl  this platform.dnlAC_DEFUN(APR_CHECK_CRYPT_R_STYLE,[AC_CACHE_CHECK(style of crypt_r, ac_cv_crypt_r_style,[dnlac_cv_crypt_r_style=nonednlAC_TRY_COMPILE([#include <crypt.h>],[CRYPTD buffer;crypt_r("passwd", "hash", &buffer);], ac_cv_crypt_r_style=cryptd)dnlif test "$ac_cv_crypt_r_style" = "none"; thenAC_TRY_COMPILE([#include <crypt.h>],[struct crypt_data buffer;crypt_r("passwd", "hash", &buffer);], ac_cv_crypt_r_style=struct_crypt_data)fidnl])if test "$ac_cv_crypt_r_style" = "cryptd"; then    AC_DEFINE(CRYPT_R_CRYPTD, 1, [Define if crypt_r has uses CRYPTD])fi# if we don't combine these conditions, CRYPT_R_STRUCT_CRYPT_DATA# will end up defined twiceif test "$ac_cv_crypt_r_style" = "struct_crypt_data"; then    AC_DEFINE(CRYPT_R_STRUCT_CRYPT_DATA, 1, [Define if crypt_r uses struct crypt_data])fi])dnldnl APR_CHECK_DIRENT_INODEdnldnl  Decide if d_fileno or d_ino are available in the direntdnl  structure on this platform.  Single UNIX Spec says d_ino,dnl  BSD uses d_fileno.  Undef to find the real beast.dnlAC_DEFUN(APR_CHECK_DIRENT_INODE, [AC_CACHE_CHECK([for inode member of struct dirent], apr_cv_dirent_inode, [apr_cv_dirent_inode=noAC_TRY_COMPILE([#include <sys/types.h>#include <dirent.h>],[#ifdef d_ino#undef d_ino#endifstruct dirent de; de.d_fileno;], apr_cv_dirent_inode=d_fileno)if test "$apr_cv_dirent_inode" = "no"; thenAC_TRY_COMPILE([#include <sys/types.h>#include <dirent.h>],[#ifdef d_fileno#undef d_fileno#endifstruct dirent de; de.d_ino;], apr_cv_dirent_inode=d_ino)fi])if test "$apr_cv_dirent_inode" != "no"; then  AC_DEFINE_UNQUOTED(DIRENT_INODE, $apr_cv_dirent_inode)fi])dnldnl APR_CHECK_DIRENT_TYPEdnldnl  Decide if d_type is available in the dirent structure dnl  on this platform.  Not part of the Single UNIX Spec.dnl  Note that this is worthless without DT_xxx macros, sodnl  look for one while we are at it.dnlAC_DEFUN(APR_CHECK_DIRENT_TYPE,[AC_CACHE_CHECK([for file type member of struct dirent], apr_cv_dirent_type,[apr_cv_dirent_type=noAC_TRY_COMPILE([#include <sys/types.h>#include <dirent.h>],[struct dirent de; de.d_type = DT_REG;], apr_cv_dirent_type=d_type)])if test "$apr_cv_dirent_type" != "no"; then  AC_DEFINE_UNQUOTED(DIRENT_TYPE, $apr_cv_dirent_type) fi])dnl the following is a newline, a space, a tab, and a backslash (thednl backslash is used by the shell to skip newlines, but m4 sees it;dnl treat it like whitespace).dnl WARNING: don't reindent these lines, or the space/tab will be lost!define([apr_whitespace],[ 	\])dnldnl APR_COMMA_ARGS(ARG1 ...)dnl  convert the whitespace-separated arguments into comman-separateddnl  arguments.dnldnl APR_FOREACH(CODE-BLOCK, ARG1, ARG2, ...)dnl  subsitute CODE-BLOCK for each ARG[i]. "eachval" will be set to ARG[i]dnl  within each iteration.dnlchangequote({,})define({APR_COMMA_ARGS},{patsubst([$}{1],[[}apr_whitespace{]+],[,])})define({APR_FOREACH},  {ifelse($}{2,,,          [define([eachval],                  $}{2)$}{1[]APR_FOREACH([$}{1],                                         builtin([shift],                                                 builtin([shift], $}{@)))])})changequote([,])dnl APR_FLAG_HEADERS(HEADER-FILE ... [, FLAG-TO-SET ] [, "yes" ])dnl  we set FLAG-TO-SET to 1 if we find HEADER-FILE, otherwise we set to 0dnl  if FLAG-TO-SET is null, we automagically determine it's namednl  by changing all "/" to "_" in the HEADER-FILE and droppingdnl  all "." and "-" chars. If the 3rd parameter is "yes" then instead ofdnl  setting to 1 or 0, we set FLAG-TO-SET to yes or no.dnl  AC_DEFUN(APR_FLAG_HEADERS,[AC_CHECK_HEADERS($1)for aprt_i in $1do    ac_safe=`echo "$aprt_i" | sed 'y%./+-%__p_%'`    aprt_2=`echo "$aprt_i" | sed -e 's%/%_%g' -e 's/\.//g' -e 's/-//g'`    if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then       eval "ifelse($2,,$aprt_2,$2)=ifelse($3,yes,yes,1)"    else       eval "ifelse($2,,$aprt_2,$2)=ifelse($3,yes,no,0)"    fidone])dnl APR_FLAG_FUNCS(FUNC ... [, FLAG-TO-SET] [, "yes" ])dnl  if FLAG-TO-SET is null, we automagically determine it's namednl  prepending "have_" to the function name in FUNC, otherwisednl  we use what's provided as FLAG-TO-SET. If the 3rd parameterdnl  is "yes" then instead of setting to 1 or 0, we set FLAG-TO-SETdnl  to yes or no.dnlAC_DEFUN(APR_FLAG_FUNCS,[AC_CHECK_FUNCS($1)for aprt_j in $1do    aprt_3="have_$aprt_j"    if eval "test \"`echo '$ac_cv_func_'$aprt_j`\" = yes"; then       eval "ifelse($2,,$aprt_3,$2)=ifelse($3,yes,yes,1)"    else       eval "ifelse($2,,$aprt_3,$2)=ifelse($3,yes,no,0)"    fidone])dnl Iteratively interpolate the contents of the second argumentdnl until interpolation offers no new result. Then assign thednl final result to $1.dnldnl Example:dnldnl foo=1dnl bar='${foo}/2'dnl baz='${bar}/3'dnl APR_EXPAND_VAR(fraz, $baz)dnl   $fraz is now "1/2/3"dnl AC_DEFUN(APR_EXPAND_VAR,[ap_last=ap_cur="$2"while test "x${ap_cur}" != "x${ap_last}";do  ap_last="${ap_cur}"  ap_cur=`eval "echo ${ap_cur}"`done$1="${ap_cur}"])dnldnl Removes the value of $3 from the string in $2, strips of any leadingdnl slashes, and returns the value in $1.dnldnl Example:dnl orig_path="${prefix}/bar"dnl APR_PATH_RELATIVE(final_path, $orig_path, $prefix)dnl    $final_path now contains "bar"AC_DEFUN(APR_PATH_RELATIVE,[ap_stripped=`echo $2 | sed -e "s#^$3##"`# check if the stripping was successfulif test "x$2" != "x${ap_stripped}"; then    # it was, so strip of any leading slashes    $1="`echo ${ap_stripped} | sed -e 's#^/*##'`"else    # it wasn't so return the original    $1="$2"fi])dnl APR_HELP_STRING(LHS, RHS)dnl Autoconf 2.50 can not handle substr correctly.  It does have dnl AC_HELP_STRING, so let's try to call it if we can.dnl Note: this define must be on one line so that it can be properly returneddnl as the help string.  When using this macro with a multi-line RHS, ensurednl that you surround the macro invocation with []sAC_DEFUN(APR_HELP_STRING,[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING([$1],[$2]),[  ][$1] substr([                       ],len($1))[$2])])dnldnl APR_LAYOUT(configlayout, layoutname [, extravars])dnlAC_DEFUN(APR_LAYOUT,[  if test ! -f $srcdir/config.layout; then    echo "** Error: Layout file $srcdir/config.layout not found"    echo "** Error: Cannot use undefined layout '$LAYOUT'"    exit 1  fi  pldconf=./config.pld  changequote({,})  sed -e "1s/[ 	]*<[lL]ayout[ 	]*$2[ 	]*>[ 	]*//;1t" \      -e "1,/[ 	]*<[lL]ayout[ 	]*$2[ 	]*>[ 	]*/d" \      -e '/[ 	]*<\/Layout>[ 	]*/,$d' \      -e "s/^[ 	]*//g" \      -e "s/:[ 	]*/=\'/g" \      -e "s/[ 	]*$/'/g" \      $1 > $pldconf  layout_name=$2  if test ! -s $pldconf; then    echo "** Error: unable to find layout $layout_name"    exit 1  fi  . $pldconf  rm $pldconf  for var in prefix exec_prefix bindir sbindir libexecdir mandir \             sysconfdir datadir includedir localstatedir runtimedir \             logfiledir libdir installbuilddir libsuffix $3; do    eval "val=\"\$$var\""    case $val in      *+)        val=`echo $val | sed -e 's;\+$;;'`        eval "$var=\"\$val\""        autosuffix=yes        ;;      *)        autosuffix=no        ;;    esac    val=`echo $val | sed -e 's:\(.\)/*$:\1:'`    val=`echo $val | sed -e 's:[\$]\([a-z_]*\):${\1}:g'`    if test "$autosuffix" = "yes"; then      if echo $val | grep apache >/dev/null; then        addtarget=no      else        addtarget=yes      fi      if test "$addtarget" = "yes"; then        val="$val/apache2"      fi    fi    eval "$var='$val'"  done  changequote([,])])dnldnldnl APR_ENABLE_LAYOUT(default layout name [, extra vars])dnlAC_DEFUN(APR_ENABLE_LAYOUT,[AC_ARG_ENABLE(layout,[  --enable-layout=LAYOUT],[  LAYOUT=$enableval])if test -z "$LAYOUT"; then  LAYOUT="$1"fiAPR_LAYOUT($srcdir/config.layout, $LAYOUT, $2)AC_MSG_CHECKING(for chosen layout)AC_MSG_RESULT($layout_name)])dnldnl APR_PARSE_ARGUMENTSdnl a reimplementation of autoconf's argument parser,dnl used here to allow us to co-exist layouts and argument baseddnl set ups.AC_DEFUN(APR_PARSE_ARGUMENTS,[ac_prev=# Retrieve the command-line arguments.  The eval is needed because# the arguments are quoted to preserve accuracy.eval "set x $ac_configure_args"shiftfor ac_optiondo  # If the previous option needs an argument, assign it.  if test -n "$ac_prev"; then    eval "$ac_prev=\$ac_option"    ac_prev=    continue  fi  ac_optarg=`expr "x$ac_option" : 'x[[^=]]*=\(.*\)'`  case $ac_option in  -bindir | --bindir | --bindi | --bind | --bin | --bi)    ac_prev=bindir ;;  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)    bindir="$ac_optarg" ;;  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)    ac_prev=datadir ;;  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \  | --da=*)    datadir="$ac_optarg" ;;  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \  | --exec | --exe | --ex)    ac_prev=exec_prefix ;;  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \  | --exec=* | --exe=* | --ex=*)    exec_prefix="$ac_optarg" ;;  -includedir | --includedir | --includedi | --included | --include \  | --includ | --inclu | --incl | --inc)    ac_prev=includedir ;;  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \  | --includ=* | --inclu=* | --incl=* | --inc=*)    includedir="$ac_optarg" ;;  -infodir | --infodir | --infodi | --infod | --info | --inf)    ac_prev=infodir ;;  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)    infodir="$ac_optarg" ;;  -libdir | --libdir | --libdi | --libd)    ac_prev=libdir ;;  -libdir=* | --libdir=* | --libdi=* | --libd=*)    libdir="$ac_optarg" ;;  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \  | --libexe | --libex | --libe)    ac_prev=libexecdir ;;  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \  | --libexe=* | --libex=* | --libe=*)    libexecdir="$ac_optarg" ;;  -localstatedir | --localstatedir | --localstatedi | --localstated \  | --localstate | --localstat | --localsta | --localst \  | --locals | --local | --loca | --loc | --lo)    ac_prev=localstatedir ;;  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \  | --localstate=* | --localstat=* | --localsta=* | --localst=* \  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)    localstatedir="$ac_optarg" ;;  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)    ac_prev=mandir ;;  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)    mandir="$ac_optarg" ;;  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)    ac_prev=prefix ;;  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)    prefix="$ac_optarg" ;;  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)    ac_prev=sbindir ;;  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \  | --sbi=* | --sb=*)    sbindir="$ac_optarg" ;;  -sharedstatedir | --sharedstatedir | --sharedstatedi \  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \  | --sharedst | --shareds | --shared | --share | --shar \  | --sha | --sh)    ac_prev=sharedstatedir ;;  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \  | --sha=* | --sh=*)    sharedstatedir="$ac_optarg" ;;  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \  | --syscon | --sysco | --sysc | --sys | --sy)    ac_prev=sysconfdir ;;  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)    sysconfdir="$ac_optarg" ;;  esacdone# Be sure to have absolute paths.for ac_var in exec_prefix prefixdo  eval ac_val=$`echo $ac_var`  case $ac_val in    [[\\/$]]* | ?:[[\\/]]* | NONE | '' ) ;;    *)  AC_MSG_ERROR([expected an absolute path for --$ac_var: $ac_val]);;  esacdone])dnldnldnl APR_CHECK_DEPENDdnldnl Determine what program we can use to generate .deps-style dependenciesdnlAC_DEFUN(APR_CHECK_DEPEND,[dnl Try to determine what depend program we can usednl All GCC-variants should have -MM.dnl If not, then we can check on those, too.if test "$GCC" = "yes"; then  MKDEP='$(CC) -MM'else  rm -f conftest.cdnl <sys/types.h> should be available everywhere!  cat > conftest.c <<EOF#include <sys/types.h>  int main() { return 0; }EOF  MKDEP="true"  for i in "$CC -MM" "$CC -M" "$CPP -MM" "$CPP -M" "cpp -M"; do    AC_MSG_CHECKING([if $i can create proper make dependencies])    if $i conftest.c 2>/dev/null | grep 'conftest.o: conftest.c' >/dev/null; then      MKDEP=$i      AC_MSG_RESULT(yes)      break;    fi    AC_MSG_RESULT(no)  done  rm -f conftest.cfiAC_SUBST(MKDEP)])dnldnl APR_CHECK_TYPES_COMPATIBLE(TYPE-1, TYPE-2, [ACTION-IF-TRUE])dnldnl Try to determine whether two types are the same. Only worksdnl for gcc and icc.dnlAC_DEFUN([APR_CHECK_TYPES_COMPATIBLE], [define([apr_cvname], apr_cv_typematch_[]translit([$1], [ ], [_])_[]translit([$2], [ ], [_]))AC_CACHE_CHECK([whether $1 and $2 are the same], apr_cvname, [AC_TRY_COMPILE(AC_INCLUDES_DEFAULT, [    int foo[0 - !__builtin_types_compatible_p($1, $2)];], [apr_cvname=yes $3], [apr_cvname=no])])])

⌨️ 快捷键说明

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