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

📄 apr_common.m4

📁 Apache官方在今天放出产品系列2.2的最新版本2.2.11的源码包 最流行的HTTP服务器软件之一
💻 M4
📖 第 1 页 / 共 2 页
字号:
dnl -------------------------------------------------------- -*- autoconf -*-dnl Licensed to the Apache Software Foundation (ASF) under one or morednl contributor license agreements.  See the NOTICE file distributed withdnl this work for additional information regarding copyright ownership.dnl The ASF licenses this file to You under the Apache License, Version 2.0dnl (the "License"); you may not use this file except in compliance withdnl the License.  You may obtain a copy of the License atdnldnl     http://www.apache.org/licenses/LICENSE-2.0dnldnl Unless required by applicable law or agreed to in writing, softwarednl distributed under the License is distributed on an "AS IS" BASIS,dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.dnl See the License for the specific language governing permissions anddnl limitations under the License.dnldnl apr_common.m4: APR's general-purpose autoconf macrosdnldnldnl APR_CONFIG_NICE(filename)dnldnl Saves a snapshot of the configure command-line for later reusednlAC_DEFUN([APR_CONFIG_NICE], [  rm -f $1  cat >$1<<EOF#! /bin/sh## Created by configureEOF  if test -n "$CC"; then    echo "CC=\"$CC\"; export CC" >> $1  fi  if test -n "$CFLAGS"; then    echo "CFLAGS=\"$CFLAGS\"; export CFLAGS" >> $1  fi  if test -n "$CPPFLAGS"; then    echo "CPPFLAGS=\"$CPPFLAGS\"; export CPPFLAGS" >> $1  fi  if test -n "$LDFLAGS"; then    echo "LDFLAGS=\"$LDFLAGS\"; export LDFLAGS" >> $1  fi  if test -n "$LTFLAGS"; then    echo "LTFLAGS=\"$LTFLAGS\"; export LTFLAGS" >> $1  fi  if test -n "$LIBS"; then    echo "LIBS=\"$LIBS\"; export LIBS" >> $1  fi  if test -n "$INCLUDES"; then    echo "INCLUDES=\"$INCLUDES\"; export INCLUDES" >> $1  fi  if test -n "$NOTEST_CFLAGS"; then    echo "NOTEST_CFLAGS=\"$NOTEST_CFLAGS\"; export NOTEST_CFLAGS" >> $1  fi  if test -n "$NOTEST_CPPFLAGS"; then    echo "NOTEST_CPPFLAGS=\"$NOTEST_CPPFLAGS\"; export NOTEST_CPPFLAGS" >> $1  fi  if test -n "$NOTEST_LDFLAGS"; then    echo "NOTEST_LDFLAGS=\"$NOTEST_LDFLAGS\"; export NOTEST_LDFLAGS" >> $1  fi  if test -n "$NOTEST_LIBS"; then    echo "NOTEST_LIBS=\"$NOTEST_LIBS\"; export NOTEST_LIBS" >> $1  fi  # Retrieve command-line arguments.  eval "set x $[0] $ac_configure_args"  shift  for arg  do    APR_EXPAND_VAR(arg, $arg)    echo "\"[$]arg\" \\" >> $1  done  echo '"[$]@"' >> $1  chmod +x $1])dnldnl APR_MKDIR_P_CHECK(fallback-mkdir-p)dnl checks whether mkdir -p worksAC_DEFUN([APR_MKDIR_P_CHECK], [  AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[    test -d conftestdir && rm -rf conftestdir    mkdir -p conftestdir/somedir >/dev/null 2>&1    if test -d conftestdir/somedir; then      ac_cv_mkdir_p=yes    else      ac_cv_mkdir_p=no    fi    rm -rf conftestdir  ])  if test "$ac_cv_mkdir_p" = "yes"; then      mkdir_p="mkdir -p"  else      mkdir_p="$1"  fi])dnldnl APR_SUBDIR_CONFIG(dir [, sub-package-cmdline-args, args-to-drop])dnldnl dir: directory to find configure indnl sub-package-cmdline-args: arguments to add to the invocation (optional)dnl args-to-drop: arguments to drop from the invocation (optional)dnldnl Note: This macro relies on ac_configure_args being set properly.dnldnl The args-to-drop argument is shoved into a case statement, sodnl multiple arguments can be separated with a |.dnldnl Note: Older versions of autoconf do not single-quote args, while 2.54+dnl places quotes around every argument.  So, if you want to drop thednl argument called --enable-layout, you must pass the third argument as:dnl [--enable-layout=*|\'--enable-layout=*]dnldnl Trying to optimize this is left as an exercise to the reader who wantsdnl to put up with more autoconf craziness.  I give up.dnlAC_DEFUN([APR_SUBDIR_CONFIG], [  # save our work to this point; this allows the sub-package to use it  AC_CACHE_SAVE  echo "configuring package in $1 now"  ac_popdir=`pwd`  apr_config_subdirs="$1"  test -d $1 || $mkdir_p $1  ac_abs_srcdir=`(cd $srcdir/$1 && pwd)`  cd $1changequote(, )dnl      # A "../" for each directory in /$config_subdirs.      ac_dots=`echo $apr_config_subdirs|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`changequote([, ])dnl  # Make the cache file pathname absolute for the subdirs  # required to correctly handle subdirs that might actually  # be symlinks  case "$cache_file" in  /*) # already absolute    ac_sub_cache_file=$cache_file ;;  *)  # Was relative path.    ac_sub_cache_file="$ac_popdir/$cache_file" ;;  esac  ifelse($3, [], [apr_configure_args=$ac_configure_args],[  apr_configure_args=  apr_sep=  for apr_configure_arg in $ac_configure_args  do    case "$apr_configure_arg" in      $3)        continue ;;    esac    apr_configure_args="$apr_configure_args$apr_sep'$apr_configure_arg'"    apr_sep=" "  done  ])  dnl autoconf doesn't add --silent to ac_configure_args; explicitly pass it  test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent"  dnl AC_CONFIG_SUBDIRS silences option warnings, emulate this for 2.62  apr_configure_args="--disable-option-checking $apr_configure_args"   dnl The eval makes quoting arguments work - specifically the second argument  dnl where the quoting mechanisms used is "" rather than [].  dnl  dnl We need to execute another shell because some autoconf/shell combinations  dnl will choke after doing repeated APR_SUBDIR_CONFIG()s.  (Namely Solaris  dnl and autoconf-2.54+)  if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir $2  then :    echo "$1 configured properly"  else    echo "configure failed for $1"    exit 1  fi  cd $ac_popdir  # grab any updates from the sub-package  AC_CACHE_LOAD])dnldnldnl APR_SAVE_THE_ENVIRONMENT(variable_name)dnldnl Stores the variable (usually a Makefile macro) for later restorationdnlAC_DEFUN([APR_SAVE_THE_ENVIRONMENT], [  apr_ste_save_$1="$$1"])dnldnldnl APR_RESTORE_THE_ENVIRONMENT(variable_name, prefix_)dnldnl Uses the previously saved variable content to figure out what configurednl has added to the variable, moving the new bits to prefix_variable_namednl and restoring the original variable contents.  This makes it possiblednl for a user to override configure when it does something stupid.dnlAC_DEFUN([APR_RESTORE_THE_ENVIRONMENT], [if test "x$apr_ste_save_$1" = "x"; then  $2$1="$$1"  $1=else  if test "x$apr_ste_save_$1" = "x$$1"; then    $2$1=  else    $2$1=`echo $$1 | sed -e "s%${apr_ste_save_$1}%%"`    $1="$apr_ste_save_$1"  fifiif test "x$silent" != "xyes"; then  echo "  restoring $1 to \"$$1\""  echo "  setting $2$1 to \"$$2$1\""fiAC_SUBST($2$1)])dnldnldnl APR_SETIFNULL(variable, value)dnldnl  Set variable iff it's currently nulldnlAC_DEFUN([APR_SETIFNULL], [  if test -z "$$1"; then    test "x$silent" != "xyes" && echo "  setting $1 to \"$2\""    $1="$2"  fi])dnldnldnl APR_SETVAR(variable, value)dnldnl  Set variable no matter whatdnlAC_DEFUN([APR_SETVAR], [  test "x$silent" != "xyes" && echo "  forcing $1 to \"$2\""  $1="$2"])dnldnldnl APR_ADDTO(variable, value)dnldnl  Add value to variablednlAC_DEFUN([APR_ADDTO], [  if test "x$$1" = "x"; then    test "x$silent" != "xyes" && echo "  setting $1 to \"$2\""    $1="$2"  else    apr_addto_bugger="$2"    for i in $apr_addto_bugger; do      apr_addto_duplicate="0"      for j in $$1; do        if test "x$i" = "x$j"; then          apr_addto_duplicate="1"          break        fi      done      if test $apr_addto_duplicate = "0"; then        test "x$silent" != "xyes" && echo "  adding \"$i\" to $1"        $1="$$1 $i"      fi    done  fi])dnldnldnl APR_REMOVEFROM(variable, value)dnldnl Remove a value from a variablednlAC_DEFUN([APR_REMOVEFROM], [  if test "x$$1" = "x$2"; then    test "x$silent" != "xyes" && echo "  nulling $1"    $1=""  else    apr_new_bugger=""    apr_removed=0    for i in $$1; do      if test "x$i" != "x$2"; then        apr_new_bugger="$apr_new_bugger $i"      else        apr_removed=1      fi    done    if test $apr_removed = "1"; then      test "x$silent" != "xyes" && echo "  removed \"$2\" from $1"      $1=$apr_new_bugger    fi  fi]) dnldnldnl APR_CHECK_DEFINE_FILES( symbol, header_file [header_file ...] )dnlAC_DEFUN([APR_CHECK_DEFINE_FILES], [  AC_CACHE_CHECK([for $1 in $2],ac_cv_define_$1,[    ac_cv_define_$1=no    for curhdr in $2    do      AC_EGREP_CPP(YES_IS_DEFINED, [#include <$curhdr>#ifdef $1YES_IS_DEFINED#endif      ], ac_cv_define_$1=yes)    done  ])  if test "$ac_cv_define_$1" = "yes"; then    AC_DEFINE(HAVE_$1, 1, [Define if $1 is defined])  fi])dnldnl APR_CHECK_DEFINE(symbol, header_file)dnlAC_DEFUN([APR_CHECK_DEFINE], [  AC_CACHE_CHECK([for $1 in $2],ac_cv_define_$1,[    AC_EGREP_CPP(YES_IS_DEFINED, [#include <$2>#ifdef $1YES_IS_DEFINED#endif    ], ac_cv_define_$1=yes, ac_cv_define_$1=no)  ])  if test "$ac_cv_define_$1" = "yes"; then    AC_DEFINE(HAVE_$1, 1, [Define if $1 is defined in $2])  fi])dnldnl APR_CHECK_APR_DEFINE( symbol )dnlAC_DEFUN([APR_CHECK_APR_DEFINE], [apr_old_cppflags=$CPPFLAGSCPPFLAGS="$CPPFLAGS $INCLUDES"AC_EGREP_CPP(YES_IS_DEFINED, [#include <apr.h>#if $1YES_IS_DEFINED#endif], ac_cv_define_$1=yes, ac_cv_define_$1=no)CPPFLAGS=$apr_old_cppflags])dnl APR_CHECK_FILE(filename); set ac_cv_file_filename todnl "yes" if 'filename' is readable, else "no".dnl @deprecated! - use AC_CHECK_FILE insteadAC_DEFUN([APR_CHECK_FILE], [dnl Pick a safe variable namedefine([apr_cvname], ac_cv_file_[]translit([$1], [./+-], [__p_]))AC_CACHE_CHECK([for $1], [apr_cvname],[if test -r $1; then   apr_cvname=yes else   apr_cvname=no fi])])define(APR_IFALLYES,[dnlac_rc=yesfor ac_spec in $1; do    ac_type=`echo "$ac_spec" | sed -e 's/:.*$//'`    ac_item=`echo "$ac_spec" | sed -e 's/^.*://'`    case $ac_type in        header )            ac_item=`echo "$ac_item" | sed 'y%./+-%__p_%'`            ac_var="ac_cv_header_$ac_item"            ;;        file )            ac_item=`echo "$ac_item" | sed 'y%./+-%__p_%'`            ac_var="ac_cv_file_$ac_item"            ;;        func )   ac_var="ac_cv_func_$ac_item"   ;;        struct ) ac_var="ac_cv_struct_$ac_item" ;;        define ) ac_var="ac_cv_define_$ac_item" ;;        custom ) ac_var="$ac_item" ;;    esac    eval "ac_val=\$$ac_var"    if test ".$ac_val" != .yes; then        ac_rc=no        break    fidoneif test ".$ac_rc" = .yes; then    :    $2else    :    $3fi])define(APR_BEGIN_DECISION,[dnlac_decision_item='$1'ac_decision_msg='FAILED'ac_decision=''])AC_DEFUN([APR_DECIDE],[dnldnl Define the flag (or not) in apr_private.h via autoheaderAH_TEMPLATE($1, [Define if $2 will be used])ac_decision='$1'ac_decision_msg='$2'ac_decision_$1=yesac_decision_$1_msg='$2'])define(APR_DECISION_OVERRIDE,[dnl    ac_decision=''    for ac_item in $1; do         eval "ac_decision_this=\$ac_decision_${ac_item}"         if test ".$ac_decision_this" = .yes; then             ac_decision=$ac_item             eval "ac_decision_msg=\$ac_decision_${ac_item}_msg"         fi    done])define(APR_DECISION_FORCE,[dnlac_decision="$1"eval "ac_decision_msg=\"\$ac_decision_${ac_decision}_msg\""])define(APR_END_DECISION,[dnlif test ".$ac_decision" = .; then    echo "[$]0:Error: decision on $ac_decision_item failed" 1>&2    exit 1else    if test ".$ac_decision_msg" = .; then        ac_decision_msg="$ac_decision"    fi    AC_DEFINE_UNQUOTED(${ac_decision_item})    AC_MSG_RESULT([decision on $ac_decision_item... $ac_decision_msg])fi])dnldnl APR_CHECK_SIZEOF_EXTENDED(INCLUDES, TYPE [, CROSS_SIZE])dnldnl A variant of AC_CHECK_SIZEOF which allows the checking ofdnl sizes of non-builtin typesdnlAC_DEFUN([APR_CHECK_SIZEOF_EXTENDED],[changequote(<<, >>)dnldnl The name to #define.define(<<AC_TYPE_NAME>>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnldnl The cache variable name.define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$2, [ *], [_p]))dnlchangequote([, ])dnlAC_MSG_CHECKING(size of $2)AC_CACHE_VAL(AC_CV_NAME,[AC_TRY_RUN([#include <stdio.h>$1main(){  FILE *f=fopen("conftestval", "w");  if (!f) exit(1);  fprintf(f, "%d\n", sizeof($2));  exit(0);}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$3],,,AC_CV_NAME=$3))])dnlAC_MSG_RESULT($AC_CV_NAME)AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The size of ]$2)undefine([AC_TYPE_NAME])dnlundefine([AC_CV_NAME])dnl])dnldnl APR_TRY_COMPILE_NO_WARNING(INCLUDES, FUNCTION-BODY,dnl             [ACTIONS-IF-NO-WARNINGS], [ACTIONS-IF-WARNINGS])dnldnl Tries a compile test with warnings activated so that the resultdnl is false if the code doesn't compile cleanly.  For compilersdnl where it is not known how to activate a "fail-on-error" mode,dnl it is undefined which of the sets of actions will be run.dnl

⌨️ 快捷键说明

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