You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-cvs@httpd.apache.org by je...@apache.org on 2004/08/24 02:45:36 UTC

cvs commit: httpd-test/flood/build find_apr.m4 find_apu.m4

jerenkrantz    2004/08/23 17:45:36

  Modified:    flood    CHANGES configure.in
               flood/build find_apr.m4 find_apu.m4
  Log:
  Sync with latest find_apr.m4 and find_apu.m4 to pick up ap{ru}-<major>-config.
  
  Revision  Changes    Path
  1.55      +3 -0      httpd-test/flood/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-test/flood/CHANGES,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -u -r1.54 -r1.55
  --- CHANGES	3 Aug 2004 10:22:14 -0000	1.54
  +++ CHANGES	24 Aug 2004 00:45:35 -0000	1.55
  @@ -1,5 +1,8 @@
   Changes since 1.0:
   
  +* Sync with latest find_apr.m4 and find_apu.m4 to detect 1.0 APR and APR-util.
  +  [Justin Erenkrantz]
  +
   * Add <proxyurl> child element to <urllist> to request against a proxy.
     [Justin Erenkrantz]
   
  
  
  
  1.30      +2 -2      httpd-test/flood/configure.in
  
  Index: configure.in
  ===================================================================
  RCS file: /home/cvs/httpd-test/flood/configure.in,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -u -r1.29 -r1.30
  --- configure.in	2 Aug 2004 23:55:38 -0000	1.29
  +++ configure.in	24 Aug 2004 00:45:35 -0000	1.30
  @@ -109,7 +109,7 @@
       ])
   fi
   
  -APR_FIND_APR(./apr)
  +APR_FIND_APR(./apr,,,[1 0])
   
   if test "$apr_found" = "no"; then
     AC_MSG_ERROR([APR not found.  Please read the documentation.])
  @@ -127,7 +127,7 @@
   LIBTOOL_LIBS="$LIBTOOL_LIBS `$apr_config --link-libtool --libs`"
   APR_CONFIG="$apr_config"
   
  -APR_FIND_APU(./apr-util)
  +APR_FIND_APU(./apr-util,,,[1 0])
   
   if test "$apu_found" = "no"; then
     AC_MSG_ERROR([APR-util not found.  Please read the documentation.])
  
  
  
  1.3       +82 -42    httpd-test/flood/build/find_apr.m4
  
  Index: find_apr.m4
  ===================================================================
  RCS file: /home/cvs/httpd-test/flood/build/find_apr.m4,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -u -r1.2 -r1.3
  --- find_apr.m4	27 Feb 2002 04:44:50 -0000	1.2
  +++ find_apr.m4	24 Aug 2004 00:45:35 -0000	1.3
  @@ -6,14 +6,22 @@
   dnl embedding APR into the application source, or locating an installed
   dnl copy of APR.
   dnl
  -dnl APR_FIND_APR([srcdir [, builddir]])
  +dnl APR_FIND_APR(srcdir, builddir, implicit-install-check, acceptable-majors)
   dnl
   dnl   where srcdir is the location of the bundled APR source directory, or
   dnl   empty if source is not bundled.
   dnl
  -dnl   where blddir is the location where the bundled APR will will be built,
  +dnl   where builddir is the location where the bundled APR will will be built,
   dnl   or empty if the build will occur in the srcdir.
   dnl
  +dnl   where implicit-install-check set to 1 indicates if there is no
  +dnl   --with-apr option specified, we will look for installed copies.
  +dnl
  +dnl   where acceptable-majors is a space separated list of acceptable major
  +dnl   version numbers. Often only a single major version will be acceptable.
  +dnl   If multiple versions are specified, and --with-apr=PREFIX or the
  +dnl   implicit installed search are used, then the first (leftmost) version
  +dnl   in the list that is found will be used.  Currently defaults to [0 1].
   dnl
   dnl Sets the following variables on exit:
   dnl
  @@ -35,7 +43,7 @@
   dnl value of apr_config to fetch any necessary build/link information.
   dnl
   
  -AC_DEFUN(APR_FIND_APR, [
  +AC_DEFUN([APR_FIND_APR], [
     apr_found="no"
   
     if test "$ac_cv_emxos2" = "yes"; then
  @@ -45,64 +53,96 @@
       TEST_X="test -x"
     fi
   
  +  ifelse([$4], [], [
  +         ifdef(AC_WARNING,AC_WARNING([$0: missing argument 4 (acceptable-majors): Defaulting to APR 0.x then APR 1.x]))
  +         acceptable_majors="0 1"],
  +         [acceptable_majors="$4"])
  +
  +  apr_temp_acceptable_apr_config=""
  +  for apr_temp_major in $acceptable_majors
  +  do
  +    case $apr_temp_major in
  +      0)
  +      apr_temp_acceptable_apr_config="$apr_temp_acceptable_apr_config apr-config"
  +      ;;
  +      *)
  +      apr_temp_acceptable_apr_config="$apr_temp_acceptable_apr_config apr-$apr_temp_major-config"
  +      ;;
  +    esac
  +  done
  +
     AC_MSG_CHECKING(for APR)
     AC_ARG_WITH(apr,
  -  [  --with-apr=DIR|FILE     prefix for installed APR, path to APR build tree,
  +  [  --with-apr=PATH         prefix for installed APR, path to APR build tree,
                             or the full path to apr-config],
     [
       if test "$withval" = "no" || test "$withval" = "yes"; then
  -      AC_MSG_ERROR([--with-apr requires a directory to be provided])
  +      AC_MSG_ERROR([--with-apr requires a directory or file to be provided])
       fi
   
  -    if $TEST_X "$withval/bin/apr-config"; then
  -      apr_found="yes"
  -      apr_config="$withval/bin/apr-config"
  -    elif $TEST_X "$withval/apr-config"; then
  -      apr_found="yes"
  -      apr_config="$withval/apr-config"
  -    elif $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
  +    for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config
  +    do
  +      for lookdir in "$withval/bin" "$withval"
  +      do
  +        if $TEST_X "$lookdir/$apr_temp_apr_config_file"; then
  +          apr_found="yes"
  +          apr_config="$lookdir/$apr_temp_apr_config_file"
  +          break 2
  +        fi
  +      done
  +    done
  +
  +    if test "$apr_found" != "yes" && $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
         apr_found="yes"
         apr_config="$withval"
       fi
   
  -    dnl if --with-apr is used, then the target prefix/directory must be valid
  +    dnl if --with-apr is used, it is a fatal error for its argument
  +    dnl to be invalid
       if test "$apr_found" != "yes"; then
  -      AC_MSG_ERROR([the --with-apr parameter is incorrect. It must specify an install prefix, a
  -build directory, or an apr-config file.])
  +      AC_MSG_ERROR([the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.])
       fi
     ],[
  -    dnl always look in the builtin/default places
  -    if apr-config --help > /dev/null 2>&1 ; then
  -      apr_found="yes"
  -      apr_config="apr-config"
  -    else
  -      dnl look in some standard places (apparently not in builtin/default)
  -      for lookdir in /usr /usr/local /opt/apr ; do
  -        if $TEST_X "$lookdir/bin/apr-config"; then
  -          apr_found="yes"
  -          apr_config="$lookdir/bin/apr-config"
  -          break
  -        fi
  -      done
  -    fi
  -    dnl if we have a bundled source directory, then we may have more work
  +    dnl if we have a bundled source directory, use it
       if test -d "$1"; then
         apr_temp_abs_srcdir="`cd $1 && pwd`"
  -      if test "$apr_found" = "yes" \
  -         && test "`$apr_config --srcdir`" = "$apr_temp_abs_srcdir"; then
  -        dnl the installed apr-config represents our source directory, so
  -        dnl pretend we didn't see it and just use our bundled source
  -        apr_found="no"
  +      apr_found="reconfig"
  +      apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apr_version.h\"`"
  +      case $apr_bundled_major in
  +        "")
  +          AC_MSG_ERROR([failed to find major version of bundled APR])
  +        ;;
  +        0)
  +          apr_temp_apr_config_file="apr-config"
  +        ;;
  +        *)
  +          apr_temp_apr_config_file="apr-$apr_bundled_major-config"
  +        ;;
  +      esac
  +      if test -n "$2"; then
  +        apr_config="$2/$apr_temp_apr_config_file"
  +      else
  +        apr_config="$1/$apr_temp_apr_config_file"
         fi
  -      dnl We could not find an apr-config; use the bundled one
  -      if test "$apr_found" = "no"; then
  -        apr_found="reconfig"
  -        if test -n "$2"; then
  -          apr_config="$2/apr-config"
  +    fi
  +    if test "$apr_found" = "no" && test -n "$3" && test "$3" = "1"; then
  +      for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config
  +      do
  +        if $apr_temp_apr_config_file --help > /dev/null 2>&1 ; then
  +          apr_found="yes"
  +          apr_config="$apr_temp_apr_config_file"
  +          break
           else
  -          apr_config="$1/apr-config"
  +          dnl look in some standard places (apparently not in builtin/default)
  +          for lookdir in /usr /usr/local /opt/apr /usr/local/apache2 ; do
  +            if $TEST_X "$lookdir/bin/$apr_temp_apr_config_file"; then
  +              apr_found="yes"
  +              apr_config="$lookdir/bin/$apr_temp_apr_config_file"
  +              break 2
  +            fi
  +          done
           fi
  -      fi
  +      done
       fi
     ])
   
  
  
  
  1.3       +99 -47    httpd-test/flood/build/find_apu.m4
  
  Index: find_apu.m4
  ===================================================================
  RCS file: /home/cvs/httpd-test/flood/build/find_apu.m4,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -u -r1.2 -r1.3
  --- find_apu.m4	27 Feb 2002 04:44:50 -0000	1.2
  +++ find_apu.m4	24 Aug 2004 00:45:35 -0000	1.3
  @@ -6,12 +6,22 @@
   dnl embedding APU into the application source, or locating an installed
   dnl copy of APU.
   dnl
  -dnl APR_FIND_APU([srcdir, path])
  +dnl APR_FIND_APU(srcdir, builddir, implicit-install-check, acceptable-majors)
   dnl
   dnl   where srcdir is the location of the bundled APU source directory, or
   dnl   empty if source is not bundled.
  -dnl   where path is the prefix to the location where the bundled APU will
  -dnl   will be built.
  +dnl
  +dnl   where builddir is the location where the bundled APU will be built,
  +dnl   or empty if the build will occur in the srcdir.
  +dnl
  +dnl   where implicit-install-check set to 1 indicates if there is no
  +dnl   --with-apr-util option specified, we will look for installed copies.
  +dnl
  +dnl   where acceptable-majors is a space separated list of acceptable major
  +dnl   version numbers. Often only a single major version will be acceptable.
  +dnl   If multiple versions are specified, and --with-apr-util=PREFIX or the
  +dnl   implicit installed search are used, then the first (leftmost) version
  +dnl   in the list that is found will be used.  Currently defaults to [0 1].
   dnl
   dnl Sets the following variables on exit:
   dnl
  @@ -21,6 +31,9 @@
   dnl                apu_found is "reconfig", then the bundled directory
   dnl                should be reconfigured *before* using apu_config.
   dnl
  +dnl Note: this macro file assumes that apr-config has been installed; it
  +dnl       is normally considered a required part of an APR installation.
  +dnl
   dnl Note: At this time, we cannot find *both* a source dir and a build dir.
   dnl       If both are available, the build directory should be passed to
   dnl       the --with-apr-util switch.
  @@ -39,68 +52,107 @@
   dnl value of apu_config to fetch any necessary build/link information.
   dnl
   
  -AC_DEFUN(APR_FIND_APU, [
  +AC_DEFUN([APR_FIND_APU], [
     apu_found="no"
   
  +  if test "$ac_cv_emxos2" = "yes"; then
  +    # Scripts don't pass test -x on OS/2
  +    TEST_X="test -f"
  +  else
  +    TEST_X="test -x"
  +  fi
  +
  +  ifelse([$4], [],
  +  [
  +    ifdef(AC_WARNING,([$0: missing argument 4 (acceptable-majors): Defaulting to APU 0.x then APU 1.x]))
  +    acceptable_majors="0 1"
  +  ], [acceptable_majors="$4"])
  +
  +  apu_temp_acceptable_apu_config=""
  +  for apu_temp_major in $acceptable_majors
  +  do
  +    case $apu_temp_major in
  +      0)
  +      apu_temp_acceptable_apu_config="$apu_temp_acceptable_apu_config apu-config"
  +      ;;
  +      *)
  +      apu_temp_acceptable_apu_config="$apu_temp_acceptable_apu_config apu-$apu_temp_major-config"
  +      ;;
  +    esac
  +  done
  +
     AC_MSG_CHECKING(for APR-util)
     AC_ARG_WITH(apr-util,
  -  [  --with-apr-util=DIR     prefix for installed APU, or path to APU build tree],
  +  [  --with-apr-util=PATH    prefix for installed APU, path to APU build tree,
  +                          or the full path to apu-config],
     [
       if test "$withval" = "no" || test "$withval" = "yes"; then
  -      AC_MSG_ERROR([--with-apr-util requires a directory to be provided])
  +      AC_MSG_ERROR([--with-apr-util requires a directory or file to be provided])
       fi
   
  -    if test -x "$withval/bin/apu-config"; then
  -       apu_found="yes"
  -       apu_config="$withval/bin/apu-config"
  -    elif test -x "$withval/apu-config"; then
  -       dnl Already configured build dir
  -       apu_found="yes"
  -       apu_config="$withval/apu-config"
  -    elif test -x "$withval" && $withval --help > /dev/null 2>&1 ; then
  -       apu_found="yes"
  -       apu_config="$withval"
  +    for apu_temp_apu_config_file in $apu_temp_acceptable_apu_config
  +    do
  +      for lookdir in "$withval/bin" "$withval"
  +      do
  +        if $TEST_X "$lookdir/$apu_temp_apu_config_file"; then
  +          apu_found="yes"
  +          apu_config="$lookdir/$apu_temp_apu_config_file"
  +          break 2
  +        fi
  +      done
  +    done
  +
  +    if test "$apu_found" != "yes" && $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
  +      apu_found="yes"
  +      apu_config="$withval"
       fi
   
  -    dnl if --with-apr-util is used, then the target prefix/directory must
  -    dnl be valid
  +    dnl if --with-apr-util is used, it is a fatal error for its argument
  +    dnl to be invalid
       if test "$apu_found" != "yes"; then
  -      AC_MSG_ERROR([
  -The directory given to --with-apr-util does not specify a prefix for an 
  -installed APU, nor an APR-util build directory.])
  +      AC_MSG_ERROR([the --with-apr-util parameter is incorrect. It must specify an install prefix, a build directory, or an apu-config file.])
       fi
     ],[
  -    if apu-config --help > /dev/null 2>&1 ; then
  -      apu_found="yes"
  -      apu_config="apu-config"
  -    else
  -      dnl look in the some standard places (apparently not in builtin/default)
  -      for lookdir in /usr /usr/local /opt/apr ; do
  -        if test -x "$lookdir/bin/apu-config"; then
  -          apu_found="yes"
  -          apu_config="$lookdir/bin/apu-config"
  -          break
  -        fi
  -      done
  -    fi
  -    dnl if we have a bundled source directory, then we may have more work
  +    dnl if we have a bundled source directory, use it
       if test -d "$1"; then
         apu_temp_abs_srcdir="`cd $1 && pwd`"
  -      if test "$apu_found" = "yes" \
  -         && test "`$apu_config --srcdir`" = "$apu_temp_abs_srcdir"; then
  -        dnl the installed apu-config represents our source directory, so
  -        dnl pretend we didn't see it and just use our bundled source
  -        apu_found="no"
  +      apu_found="reconfig"
  +      apu_bundled_major="`sed -n '/#define.*APU_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apu_version.h\"`"
  +      case $apu_bundled_major in
  +        "")
  +          AC_MSG_ERROR([failed to find major version of bundled APU])
  +        ;;
  +        0)
  +          apu_temp_apu_config_file="apu-config"
  +        ;;
  +        *)
  +          apu_temp_apu_config_file="apu-$apu_bundled_major-config"
  +        ;;
  +      esac
  +      if test -n "$2"; then
  +        apu_config="$2/$apu_temp_apu_config_file"
  +      else
  +        apu_config="$1/$apu_temp_apu_config_file"
         fi
  -      dnl We could not find an apu-config; use the bundled one
  -      if test "$apu_found" = "no"; then
  -        apu_found="reconfig"
  -        if test -n "$2"; then
  -          apu_config="$2/apu-config"
  +    fi
  +    if test "$apu_found" = "no" && test -n "$3" && test "$3" = "1"; then
  +      for apu_temp_apu_config_file in $apu_temp_acceptable_apu_config
  +      do
  +        if $apu_temp_apu_config_file --help > /dev/null 2>&1 ; then
  +          apu_found="yes"
  +          apu_config="$apu_temp_apu_config_file"
  +          break
           else
  -          apu_config="$1/apu-config"
  +          dnl look in some standard places (apparently not in builtin/default)
  +          for lookdir in /usr /usr/local /opt/apr /usr/local/apache2 ; do
  +            if $TEST_X "$lookdir/bin/$apu_temp_apu_config_file"; then
  +              apu_found="yes"
  +              apu_config="$lookdir/bin/$apu_temp_apu_config_file"
  +              break 2
  +            fi
  +          done
           fi
  -      fi
  +      done
       fi
     ])