]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
move build system files over from apr-build-system branch in apreq
authorPhilip M. Gollucci <pgollucci@apache.org>
Thu, 10 Nov 2011 18:25:14 +0000 (18:25 +0000)
committerPhilip M. Gollucci <pgollucci@apache.org>
Thu, 10 Nov 2011 18:25:14 +0000 (18:25 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1200464 13f79535-47bb-0310-9956-ffa450edef68

srclib/libapreq/apreq2-config.in [new file with mode: 0644]
srclib/libapreq/build.conf [new file with mode: 0644]
srclib/libapreq/build/apreq-conf.m4 [new file with mode: 0644]
srclib/libapreq/build/apreq-hints.m4 [new file with mode: 0644]
srclib/libapreq/build/find_apreq.m4 [new file with mode: 0644]
srclib/libapreq/build/get-version.sh [new file with mode: 0755]
srclib/libapreq/buildconf [new file with mode: 0755]
srclib/libapreq/config.layout [new file with mode: 0644]
srclib/libapreq/configure.in [new file with mode: 0644]
srclib/libapreq/export_vars.sh.in [new file with mode: 0644]

diff --git a/srclib/libapreq/apreq2-config.in b/srclib/libapreq/apreq2-config.in
new file mode 100644 (file)
index 0000000..bfc8e7d
--- /dev/null
@@ -0,0 +1,218 @@
+#!/bin/sh
+
+##
+##  Copyright 2003-2006  The Apache Software Foundation
+##
+##  Licensed under the Apache License, Version 2.0 (the "License");
+##  you may not use this file except in compliance with the License.
+##  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+
+# apreq2-config- based on apu-config:
+# APR-util script designed to allow easy command line access to APR-util
+# configuration parameters.
+
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+bindir="@bindir@"
+libdir="@libdir@"
+includedir="@includedir@"
+
+LIBS="@APREQ_LIBS@"
+LDFLAGS="@APREQ_LDFLAGS@"
+INCLUDES="@APREQ_INCLUDES@"
+
+APREQ_LIBNAME="@APREQ_LIBNAME@"
+
+APREQ_SOURCE_DIR="@abs_srcdir@"
+APREQ_BUILD_DIR="@abs_builddir@"
+
+show_usage()
+{
+    cat << EOF
+Usage: apreq2-config [OPTION]
+
+Known values for OPTION are:
+  --prefix[=DIR]    change prefix to DIR
+  --bindir          print location where binaries are installed
+  --includes        print include information
+  --includedir      print location where headers are installed
+  --ldflags         print linker flags
+  --libs            print library information
+  --srcdir          print apreq2 source directory
+  --link-ld         print link switch(es) for linking to libapreq2
+  --link-libtool    print the libtool inputs for linking to libapreq2
+  --la-file         print the path to the library's .la file, if available
+  --library-version print the API version as a dotted triple
+  --libtool-version print the ABI version in a libtool-compatible format
+  --package-version print the version number of the distribution
+  --help            print this help
+
+When linking with libtool, an application should do something like:
+  APREQ_LIBS="\`apreq2-config --link-libtool --libs\`"
+or when linking directly:
+  APREQ_LIBS="\`apreq2-config --link-ld --ldflags --libs\`"
+
+An application should use the results of --includes, and --ldflags in
+their build process.
+EOF
+}
+
+if test $# -eq 0; then
+    show_usage
+    exit 1
+fi
+
+thisdir="`dirname $0`"
+thisdir="`cd $thisdir && pwd`"
+if test -d $bindir; then
+    tmpbindir="`cd $bindir && pwd`"
+else
+    tmpbindir=""
+fi
+# If we have the realpath program, use it to resolve symlinks.
+# Otherwise, being in a symlinked dir may result in incorrect output.
+if test -x "`which realpath 2>/dev/null`"; then
+    thisdir="`realpath $thisdir`"
+    if test -d "$APREQ_SOURCE_DIR"; then
+        APREQ_SOURCE_DIR="`realpath $APREQ_SOURCE_DIR`"
+    fi
+    if test -n "$tmpbindir"; then
+        tmpbindir="`realpath $tmpbindir`"
+    fi
+fi
+if test "$tmpbindir" = "$thisdir"; then
+    location=installed
+elif test "$APREQ_SOURCE_DIR" = "$thisdir"; then
+    location=source
+else
+    location=build
+fi
+
+
+if test "$location" = "installed"; then
+    LA_FILE="$libdir/lib${APREQ_LIBNAME}.la"
+else
+    LA_FILE="$thisdir/lib${APREQ_LIBNAME}.la"
+fi
+
+flags=""
+
+while test $# -gt 0; do
+    # Normalize the prefix.
+    case "$1" in
+    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+    *) optarg= ;;
+    esac
+
+    case "$1" in
+    # It is possible for the user to override our prefix.
+    --prefix=*)
+    prefix=$optarg
+    ;;
+    --prefix)
+    echo $prefix
+    exit 0
+    ;;
+    --bindir)
+    echo $bindir
+    exit 0
+    ;;
+    --libs)
+    flags="$flags $LIBS"
+    ;;
+    --includedir)
+    if test "$location" = "installed"; then
+        flags="$includedir"
+    elif test "$location" = "source"; then
+        flags="$APREQ_SOURCE_DIR/include"
+    else
+        # this is for VPATH builds
+        flags="$thisdir/include $APREQ_SOURCE_DIR/include"
+    fi
+    echo $flags
+    exit 0
+    ;;
+    --includes)
+    if test "$location" = "installed"; then
+        flags="$flags -I$includedir $INCLUDES"
+    elif test "$location" = "source"; then
+        flags="$flags -I$APREQ_SOURCE_DIR/include $INCLUDES"
+    else
+        # this is for VPATH builds
+        flags="$flags -I$thisdir/include -I$APREQ_SOURCE_DIR/include $INCLUDES"
+    fi
+    ;;
+    --ldflags)
+    flags="$flags $LDFLAGS"
+    ;;
+    --srcdir)
+    echo $APREQ_SOURCE_DIR
+    exit 0
+    ;;
+    --library-version)
+    echo @APREQ_DOTTED_VERSION@
+    exit 0
+    ;;
+    --libtool-version)
+    echo @APREQ_LIBTOOL_VERSION@
+    exit 0
+    ;;
+    --package-version)
+    echo "@VERSION@"
+    exit 0
+    ;;
+    --link-ld)
+    if test "$location" = "installed"; then
+        ### avoid using -L if libdir is a "standard" location like /usr/lib
+        flags="$flags -L$libdir -l$APREQ_LIBNAME"
+    else
+        flags="$flags -L$thisdir/library/.libs -l$APREQ_LIBNAME"
+    fi
+    ;;
+    --link-libtool)
+    # If the LA_FILE exists where we think it should be, use it.  If we're
+    # installed and the LA_FILE does not exist, assume to use -L/-l
+    # (the LA_FILE may not have been installed).  If we're building ourselves,
+    # we'll assume that at some point the .la file be created.
+    if test -f "$LA_FILE"; then
+        flags="$flags $LA_FILE"
+    elif test "$location" = "installed"; then
+        ### avoid using -L if libdir is a "standard" location like /usr/lib
+        flags="$flags -L$libdir -l$APREQ_LIBNAME $apreq_libs"
+    else
+        flags="$flags $LA_FILE"
+    fi
+    ;;
+    --la-file)
+    if test -f "$LA_FILE"; then
+        flags="$flags $LA_FILE"
+    fi
+    ;;
+    --help)
+    show_usage
+    exit 0
+    ;;
+    *)
+    show_usage
+    exit 1
+    ;;
+    esac
+
+    # Next please.
+    shift
+done
+
+if test -n "$flags"; then
+  echo "$flags"
+fi
+
+exit 0
diff --git a/srclib/libapreq/build.conf b/srclib/libapreq/build.conf
new file mode 100644 (file)
index 0000000..5f0603c
--- /dev/null
@@ -0,0 +1,19 @@
+#
+# Configuration file for APREQ. Used by APR/build/gen-build.py
+#
+
+[options]
+
+# the platform-independent .c files
+paths =
+  library/*.c
+# we have no platform-specific subdirs
+platform_dirs =
+
+# the public headers
+headers = include/*.h
+
+# gen_uri_delim.c
+
+# we have a recursive makefile for the test files (for now)
+# test/*.c
diff --git a/srclib/libapreq/build/apreq-conf.m4 b/srclib/libapreq/build/apreq-conf.m4
new file mode 100644 (file)
index 0000000..a2ec675
--- /dev/null
@@ -0,0 +1,72 @@
+dnl -------------------------------------------------------- -*- autoconf -*-
+dnl Copyright 2000-2005 The Apache Software Foundation or its licensors, as
+dnl applicable.
+dnl
+dnl Licensed under the Apache License, Version 2.0 (the "License");
+dnl you may not use this file except in compliance with the License.
+dnl You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl 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 and
+dnl limitations under the License.
+
+
+dnl
+dnl custom autoconf rules for APRUTIL
+dnl
+
+dnl
+dnl APU_FIND_APR: figure out where APR is located
+dnl
+AC_DEFUN([APREQ_FIND_APR], [
+
+  dnl use the find_apr.m4 script to locate APR. sets apr_found and apr_config
+  APR_FIND_APR(,,,[1])
+  if test "$apr_found" = "no"; then
+    AC_MSG_ERROR(APR could not be located. Please use the --with-apr option.)
+  fi
+
+  APR_BUILD_DIR="`$apr_config --installbuilddir`"
+
+  dnl make APR_BUILD_DIR an absolute directory (we'll need it in the
+  dnl sub-projects in some cases)
+  APR_BUILD_DIR="`cd $APR_BUILD_DIR && pwd`"
+
+  APR_INCLUDES="`$apr_config --includes`"
+  APR_LIBS="`$apr_config --link-libtool --libs`"
+  APR_SO_EXT="`$apr_config --apr-so-ext`"
+  APR_LIB_TARGET="`$apr_config --apr-lib-target`"
+
+  AC_SUBST(APR_INCLUDES)
+  AC_SUBST(APR_LIBS)
+  AC_SUBST(APR_BUILD_DIR)
+])
+
+
+AC_DEFUN([APREQ_FIND_APU], [
+
+  dnl use the find_apr.m4 script to locate APR. sets apr_found and apu_config
+  APR_FIND_APU(,,,[1])
+  if test "$apu_found" = "no"; then
+    AC_MSG_ERROR(APR could not be located. Please use the --with-apr-util option.)
+  fi
+
+  APU_BUILD_DIR="`$apu_config --installbuilddir`"
+
+  dnl make APR_BUILD_DIR an absolute directory (we'll need it in the
+  dnl sub-projects in some cases)
+  APU_BUILD_DIR="`cd $APR_BUILD_DIR && pwd`"
+
+  APU_INCLUDES="`$apu_config --includes`"
+  APU_LIBS="`$apu_config --link-libtool --libs`"
+
+  AC_SUBST(APU_INCLUDES)
+  AC_SUBST(APU_LIBS)
+  AC_SUBST(APU_BUILD_DIR)
+])
+
+
diff --git a/srclib/libapreq/build/apreq-hints.m4 b/srclib/libapreq/build/apreq-hints.m4
new file mode 100644 (file)
index 0000000..33a5d22
--- /dev/null
@@ -0,0 +1,61 @@
+dnl -------------------------------------------------------- -*- autoconf -*-
+dnl Copyright 2003-2005 The Apache Software Foundation or its licensors, as
+dnl applicable.
+dnl
+dnl Licensed under the Apache License, Version 2.0 (the "License");
+dnl you may not use this file except in compliance with the License.
+dnl You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl 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 and
+dnl limitations under the License.
+
+dnl -----------------------------------------------------------------
+dnl apu-hints.m4: apr-util's autoconf macros for platform-specific hints
+dnl
+dnl  We preload various configure settings depending
+dnl  on previously obtained platform knowledge.
+dnl  We allow all settings to be overridden from
+dnl  the command-line.
+
+dnl
+dnl APU_PRELOAD
+dnl
+dnl  Preload various build parameters based on outside knowledge.
+dnl
+AC_DEFUN([APREQ_PRELOAD], [
+if test "x$apreq_preload_done" != "xyes" ; then
+    apreq_preload_done="yes"
+
+    echo "Applying apr-util hints file rules for $host"
+
+    case "$host" in
+    *-dec-osf*)
+        APR_SETIFNULL(apreq_crypt_threadsafe, [1])
+        ;;
+    *-hp-hpux11.*)
+        APR_SETIFNULL(apreq_crypt_threadsafe, [1])
+        ;;
+    *-ibm-aix4*|*-ibm-aix5.1*)
+        APR_SETIFNULL(apreq_iconv_inbuf_const, [1])
+        ;;
+    *-ibm-os390)
+        APR_SETIFNULL(apreq_crypt_threadsafe, [1])
+        ;;
+    *-solaris2*)
+        APR_SETIFNULL(apreq_iconv_inbuf_const, [1])
+        APR_SETIFNULL(apreq_crypt_threadsafe, [1])
+        ;;
+    *-sco3.2v5*)
+       APR_SETIFNULL(apreq_db_xtra_libs, [-lsocket])
+       ;;
+    esac
+
+fi
+])
+
+
diff --git a/srclib/libapreq/build/find_apreq.m4 b/srclib/libapreq/build/find_apreq.m4
new file mode 100644 (file)
index 0000000..ed69397
--- /dev/null
@@ -0,0 +1,176 @@
+dnl -------------------------------------------------------- -*- autoconf -*-
+dnl Copyright 2002-2006 The Apache Software Foundation or its licensors, as
+dnl applicable.
+dnl
+dnl Licensed under the Apache License, Version 2.0 (the "License");
+dnl you may not use this file except in compliance with the License.
+dnl You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl 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 and
+dnl limitations under the License.
+
+dnl
+dnl find_apu.m4 : locate the APR-util (APU) include files and libraries
+dnl
+dnl This macro file can be used by applications to find and use the APU
+dnl library. It provides a standardized mechanism for using APU. It supports
+dnl embedding APU into the application source, or locating an installed
+dnl copy of APU.
+dnl
+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
+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
+dnl   apu_found : "yes", "no", "reconfig"
+dnl
+dnl   apu_config : If the apu-config tool exists, this refers to it.  If
+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.
+dnl
+dnl Note: the installation layout is presumed to follow the standard
+dnl       PREFIX/lib and PREFIX/include pattern. If the APU config file
+dnl       is available (and can be found), then non-standard layouts are
+dnl       possible, since it will be described in the config file.
+dnl
+dnl If a bundled source directory is available and needs to be (re)configured,
+dnl then apu_found is set to "reconfig". The caller should reconfigure the
+dnl (passed-in) source directory, placing the result in the build directory,
+dnl as appropriate.
+dnl
+dnl If apu_found is "yes" or "reconfig", then the caller should use the
+dnl value of apu_config to fetch any necessary build/link information.
+dnl
+
+AC_DEFUN([APR_FIND_APREQ], [
+  apreq_found="no"
+
+  if test "$target_os" = "os2-emx"; 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 APREQ 0.x then APREQ 1.x]))
+    acceptable_majors="0 1"
+  ], [acceptable_majors="$4"])
+
+  apreq_temp_acceptable_apreq_config=""
+  for apreq_temp_major in $acceptable_majors
+  do
+    case $apreq_temp_major in
+      0)
+      apreq_temp_acceptable_apreq_config="$apreq_temp_acceptable_apreq_config apreq-config"
+      ;;
+      *)
+      apreq_temp_acceptable_apreq_config="$apreq_temp_acceptable_apreq_config apreq$apreq_temp_major-config"
+      ;;
+    esac
+  done
+
+  AC_MSG_CHECKING(for APREQ)
+  AC_ARG_WITH(apreq,
+  [  --with-apreq=PATH    prefix for installed APREQ, path to APREQ build tree,
+                          or the full path to apreq-config],
+  [
+    if test "$withval" = "no" || test "$withval" = "yes"; then
+      AC_MSG_ERROR([--with-apreq requires a directory or file to be provided])
+    fi
+
+    for apreq_temp_apreq_config_file in $apreq_temp_acceptable_apreq_config
+    do
+      for lookdir in "$withval/bin" "$withval"
+      do
+        if $TEST_X "$lookdir/$apreq_temp_apreq_config_file"; then
+          apreq_found="yes"
+          apreq_config="$lookdir/$apreq_temp_apreq_config_file"
+          break 2
+        fi
+      done
+    done
+
+    if test "$apreq_found" != "yes" && $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
+      apreq_found="yes"
+      apreq_config="$withval"
+    fi
+
+    dnl if --with-apreq is used, it is a fatal error for its argument
+    dnl to be invalid
+    if test "$apreq_found" != "yes"; then
+      AC_MSG_ERROR([the --with-apreq parameter is incorrect. It must specify an install prefix, a build directory, or an apreq-config file.])
+    fi
+  ],[
+    if test -n "$3" && test "$3" = "1"; then
+      for apreq_temp_apreq_config_file in $apreq_temp_acceptable_apreq_config
+      do
+        if $apreq_temp_apreq_config_file --help > /dev/null 2>&1 ; then
+          apreq_found="yes"
+          apreq_config="$apreq_temp_apreq_config_file"
+          break
+        else
+          dnl look in some standard places (apparently not in builtin/default)
+          for lookdir in /usr /usr/local /usr/local/apr /opt/apr /usr/local/apache2 ; do
+            if $TEST_X "$lookdir/bin/$apreq_temp_apreq_config_file"; then
+              apreq_found="yes"
+              apreq_config="$lookdir/bin/$apreq_temp_apreq_config_file"
+              break 2
+            fi
+          done
+        fi
+      done
+    fi
+    dnl if we have not found anything yet and have bundled source, use that
+    if test "$apreq_found" = "no" && test -d "$1"; then
+      apreq_temp_abs_srcdir="`cd $1 && pwd`"
+      apreq_found="reconfig"
+      apreq_bundled_major="`sed -n '/#define.*APREQ_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apreq_version.h\"`"
+      case $apreq_bundled_major in
+        "")
+          AC_MSG_ERROR([failed to find major version of bundled APREQ])
+        ;;
+        0)
+          apreq_temp_apreq_config_file="apreq-config"
+        ;;
+        *)
+          apreq_temp_apreq_config_file="apreq$apreq_bundled_major-config"
+        ;;
+      esac
+      if test -n "$2"; then
+        apreq_config="$2/$apreq_temp_apreq_config_file"
+      else
+        apreq_config="$1/$apreq_temp_apreq_config_file"
+      fi
+    fi
+  ])
+
+  AC_MSG_RESULT($apreq_found)
+])
diff --git a/srclib/libapreq/build/get-version.sh b/srclib/libapreq/build/get-version.sh
new file mode 100755 (executable)
index 0000000..d0d9d5b
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# extract version numbers from a header file
+#
+# USAGE: get-version.sh CMD VERSION_HEADER PREFIX
+#   where CMD is one of: all, major, libtool
+#   where PREFIX is the prefix to {MAJOR|MINOR|PATCH}_VERSION defines
+#
+#   get-version.sh all returns a dotted version number
+#   get-version.sh major returns just the major version number
+#   get-version.sh minor returns just the minor version number
+#   get-version.sh patch returns just the match version number
+#
+
+if test $# != 3; then
+  echo "USAGE: $0 CMD INCLUDEDIR PREFIX"
+  echo "  where CMD is one of: all, major, minor, patch"
+  exit 1
+fi
+
+major_sed="/#define.*$3_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
+minor_sed="/#define.*$3_MINOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
+patch_sed="/#define.*$3_PATCH_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
+major="`sed -n $major_sed $2`"
+minor="`sed -n $minor_sed $2`"
+patch="`sed -n $patch_sed $2`"
+
+if test "$1" = "all"; then
+  echo ${major}.${minor}.${patch}
+elif test "$1" = "major"; then
+  echo ${major}
+elif test "$1" = "minor"; then
+  echo ${minor}
+elif test "$1" = "patch"; then
+  echo ${patch}
+else
+  echo "ERROR: unknown version CMD ($1)"
+  exit 1
+fi
diff --git a/srclib/libapreq/buildconf b/srclib/libapreq/buildconf
new file mode 100755 (executable)
index 0000000..0c2f5df
--- /dev/null
@@ -0,0 +1,106 @@
+#!/bin/sh
+#
+# Copyright 1999-2005 The Apache Software Foundation or its licensors, as
+# applicable.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+
+# Default place to look for apr source.  Can be overridden with 
+#   --with-apr=[directory]
+apr_src_dir=../apr
+apu_src_dir=../apr-util
+
+while test $# -gt 0 
+do
+  # Normalize
+  case "$1" in
+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  case "$1" in
+  --with-apr=*)
+  apr_src_dir=$optarg
+  ;;
+  --with-apr-util=*)
+  apu_src_dir=$optarg
+  ;;
+  esac
+
+  shift
+done
+
+if [ -f "$apr_src_dir/build/apr_common.m4" ]; then
+  echo ""
+  echo "Looking for apr source in $apr_src_dir"
+else
+  echo ""
+  echo "Problem finding apr source in $apr_src_dir."
+  echo "Use:"
+  echo "  --with-apr=[directory]" 
+  exit 1
+fi
+
+if [ -f "$apu_src_dir/build/find_apu.m4" ]; then
+  echo ""
+  echo "Looking for apr-util source in $apu_src_dir"
+else
+  echo ""
+  echo "Problem finding apr-util source in $apu_src_dir."
+  echo "Use:"
+  echo "  --with-apr-util=[directory]" 
+  exit 1
+fi
+
+set -e
+
+# Remove some files, then copy them from apr source tree
+rm -f build/apr_common.m4 build/find_apr.m4 build/install.sh \
+      build/config.guess build/config.sub
+cp $apr_src_dir/build/apr_common.m4 $apr_src_dir/build/find_apr.m4 \
+   $apr_src_dir/build/install.sh $apr_src_dir/build/config.guess  \
+   $apr_src_dir/build/config.sub build
+
+rm -f build/find_apu.m4
+cp $apu_src_dir/build/find_apu.m4 build
+
+
+# Remove aclocal.m4 as it'll break some builds...
+rm -rf aclocal.m4 autom4te*.cache
+
+#
+# Generate the autoconf header (include/apreq_config.h) and ./configure
+#
+echo "Creating include/apreq_config.h ..."
+${AUTOHEADER:-autoheader}
+
+echo "Creating configure ..."
+### do some work to toss config.cache?
+if ${AUTOCONF:-autoconf}; then
+  :
+else
+  echo "autoconf failed"
+  exit 1
+fi
+
+#
+# Generate build-outputs.mk for the build systme
+#
+echo "Generating 'make' outputs ..."
+$apr_src_dir/build/gen-build.py make
+
+# Remove autoconf cache again
+rm -rf autom4te*.cache
+
diff --git a/srclib/libapreq/config.layout b/srclib/libapreq/config.layout
new file mode 100644 (file)
index 0000000..80a4c8b
--- /dev/null
@@ -0,0 +1,232 @@
+##
+##  config.layout -- Pre-defined Installation Path Layouts
+##
+##  Hints:
+##  - layouts can be loaded with configure's --enable-layout=ID option
+##  - when no --enable-layout option is given, the default layout is `apr'
+##  - a trailing plus character (`+') on paths is replaced with a 
+##    `/<target>' suffix where <target> is currently hardcoded to 'apr'.
+##    (This may become a configurable parameter at some point.)
+##
+
+#   Classical APREQ path layout designed for parallel installs.
+<Layout apreq>
+    prefix:        /usr/local/apr
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/bin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/modules
+    mandir:        ${prefix}/man
+    sysconfdir:    ${prefix}/conf
+    datadir:       ${prefix}
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include/apreq2
+    localstatedir: ${prefix}
+    libsuffix:     -${APREQ_MAJOR_VERSION}
+</Layout>
+
+#   Classical single-installation APR path layout.
+<Layout classic>
+    prefix:        /usr/local/apr
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/bin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/modules
+    mandir:        ${prefix}/man
+    sysconfdir:    ${prefix}/conf
+    datadir:       ${prefix}
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include
+    localstatedir: ${prefix}
+</Layout>
+
+#   GNU standards conforming path layout.
+#   See FSF's GNU project `make-stds' document for details.
+<Layout GNU>
+    prefix:        /usr/local
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/sbin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/libexec
+    mandir:        ${prefix}/man
+    sysconfdir:    ${prefix}/etc+
+    datadir:       ${prefix}/share+
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include+
+    localstatedir: ${prefix}/var+
+    runtimedir:    ${localstatedir}/run
+</Layout>
+
+#   Mac OS X Server (Rhapsody)
+<Layout Mac OS X Server>
+    prefix:        /Local/Library/WebServer
+    exec_prefix:   /usr
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/sbin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    /System/Library/apr/Modules
+    mandir:        ${exec_prefix}/share/man
+    sysconfdir:    ${prefix}/Configuration
+    datadir:       ${prefix}
+    installbuilddir: /System/Library/apr/Build
+    includedir:    /System/Library/Frameworks/apr.framework/Versions/2.0/Headers
+    localstatedir: /var
+    runtimedir:    ${prefix}/Logs
+</Layout>
+
+#   Darwin/Mac OS Layout
+<Layout Darwin>
+    prefix:        /usr
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/sbin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/libexec+
+    mandir:        ${prefix}/share/man
+    datadir:       /Library/WebServer
+    sysconfdir:    /etc+
+    installbuilddir: ${prefix}/share/httpd/build
+    includedir:    ${prefix}/include+
+    localstatedir: /var
+    runtimedir:    ${localstatedir}/run
+</Layout>
+
+#   Red Hat Linux 7.x layout
+<Layout RedHat>
+    prefix:        /usr
+    exec_prefix:   ${prefix}
+    bindir:        ${prefix}/bin
+    sbindir:       ${prefix}/sbin
+    libdir:        ${prefix}/lib
+    libexecdir:    ${prefix}/lib/apr
+    mandir:        ${prefix}/man
+    sysconfdir:    /etc/httpd/conf
+    datadir:       /var/www
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include/apr
+    localstatedir: /var
+    runtimedir:    ${localstatedir}/run
+</Layout>     
+
+#   According to the /opt filesystem conventions
+<Layout opt>
+    prefix:        /opt/apr
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/sbin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/libexec
+    mandir:        ${prefix}/man
+    sysconfdir:    /etc${prefix}
+    datadir:       ${prefix}/share
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include
+    localstatedir: /var${prefix}
+    runtimedir:    ${localstatedir}/run
+</Layout>
+
+#  BeOS layout...
+<Layout beos>
+    prefix:        /boot/home/apr
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/bin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/libexec
+    mandir:        ${prefix}/man
+    sysconfdir:    ${prefix}/conf
+    datadir:       ${prefix}
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include
+    localstatedir: ${prefix}
+    runtimedir:    ${localstatedir}/logs
+</Layout>
+
+#   SuSE 6.x layout
+<Layout SuSE>
+    prefix:        /usr
+    exec_prefix:   ${prefix}
+    bindir:        ${prefix}/bin
+    sbindir:       ${prefix}/sbin
+    libdir:        ${prefix}/lib
+    libexecdir:    ${prefix}/lib/apr
+    mandir:        ${prefix}/share/man
+    sysconfdir:    /etc/httpd
+    datadir:       /usr/local/httpd
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include/apr
+    localstatedir: /var/lib/httpd
+    runtimedir:    /var/run
+</Layout>
+
+#   BSD/OS layout
+<Layout BSDI>
+    prefix:        /var/www
+    exec_prefix:   /usr/contrib
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/bin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/libexec/apr
+    mandir:        ${exec_prefix}/man
+    sysconfdir:    ${prefix}/conf
+    datadir:       ${prefix}
+    installbuilddir: ${datadir}/build
+    includedir:    ${exec_prefix}/include/apr
+    localstatedir: /var
+    runtimedir:    ${localstatedir}/run
+</Layout>
+
+#   Solaris 8 Layout
+<Layout Solaris>
+    prefix:        /usr/apr
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/bin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/libexec
+    mandir:        ${exec_prefix}/man
+    sysconfdir:    /etc/apr
+    datadir:       /var/apr
+    installbuilddir: ${datadir}/build
+    includedir:    ${exec_prefix}/include
+    localstatedir: ${prefix}
+    runtimedir:    /var/run
+</Layout>
+
+#   OpenBSD Layout
+<Layout OpenBSD>
+    prefix:        /var/www
+    exec_prefix:   /usr
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/sbin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/lib/apr/modules
+    mandir:        ${exec_prefix}/share/man
+    sysconfdir:    ${prefix}/conf
+    datadir:       ${prefix}
+    installbuilddir: ${prefix}/build
+    includedir:    ${exec_prefix}/lib/apr/include
+    localstatedir: ${prefix}
+    runtimedir:    ${prefix}/logs
+</Layout>
+
+# Debian layout
+<Layout Debian>
+    prefix:        
+    exec_prefix:   ${prefix}/usr
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/sbin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/lib/apr/modules
+    mandir:        ${exec_prefix}/share/man
+    datadir:       ${exec_prefix}/share/apr
+    includedir:    ${exec_prefix}/include/apr-${APRUTIL_MAJOR_VERSION}
+    localstatedir: ${prefix}/var/run
+    runtimedir:    ${prefix}/var/run
+    infodir:       ${exec_prefix}/share/info
+    libsuffix:     -${APRUTIL_MAJOR_VERSION}
+    installbuilddir: ${prefix}/usr/share/apache2/build
+</Layout>
diff --git a/srclib/libapreq/configure.in b/srclib/libapreq/configure.in
new file mode 100644 (file)
index 0000000..7d31878
--- /dev/null
@@ -0,0 +1,173 @@
+dnl
+dnl Process this file with autoconf to produce a configure script
+dnl
+
+AC_PREREQ(2.50)
+AC_INIT(export_vars.sh.in)
+
+VERSION=2.08
+AC_SUBST(VERSION)
+
+AC_CONFIG_HEADER(include/apreq_config.h)
+AC_CONFIG_AUX_DIR(build)
+
+sinclude(build/apreq-conf.m4)
+sinclude(build/apreq-hints.m4)
+sinclude(build/apr_common.m4)
+sinclude(build/find_apr.m4)
+sinclude(build/find_apu.m4)
+
+dnl Generate ./config.nice for reproducing runs of configure
+dnl 
+APR_CONFIG_NICE(config.nice)
+
+dnl # Some initial steps for configuration.  We setup the default directory
+dnl # and which files are to be configured.
+
+dnl Absolute source/build directory
+abs_srcdir=`(cd $srcdir && pwd)`
+abs_builddir=`pwd`
+
+if test "$abs_builddir" != "$abs_srcdir"; then
+  USE_VPATH=1
+  APREQ_CONFIG_LOCATION=build
+else
+  APREQ_CONFIG_LOCATION=source
+fi
+
+AC_SUBST(APREQ_CONFIG_LOCATION)
+
+AC_CANONICAL_SYSTEM
+
+AC_PROG_INSTALL
+
+dnl
+dnl compute the top directory of the build
+dnl note: this is needed for LIBTOOL and exporting the bundled Expat
+dnl
+top_builddir="$abs_builddir"
+AC_SUBST(top_builddir)
+AC_SUBST(abs_srcdir)
+AC_SUBST(abs_builddir)
+
+dnl Initialize mkdir -p functionality.
+APR_MKDIR_P_CHECK($abs_srcdir/build/mkdir.sh)
+
+
+dnl Enable the layout handling code, then reparse the prefix-style
+dnl arguments due to autoconf being a PITA.
+APR_ENABLE_LAYOUT(apreq)
+APR_PARSE_ARGUMENTS
+
+dnl load os-specific hints for apr-util
+APREQ_PRELOAD
+
+dnl
+dnl set up the compilation flags and stuff
+dnl
+
+APREQ_INCLUDES=""
+APREQ_PRIV_INCLUDES="-I$top_builddir/include -I$top_builddir/include/private"
+if test -n "$USE_VPATH"; then
+    APREQ_PRIV_INCLUDES="$APRUTIL_PRIV_INCLUDES -I$abs_srcdir/include/private -I$abs_srcdir/include"
+fi
+
+dnl
+dnl Find the APR includes directory and (possibly) the source (base) dir.
+dnl
+APREQ_FIND_APR
+
+dnl
+dnl even though we use apr_rules.mk for building apr-util, we need
+dnl to grab CC and CPP ahead of time so that apr-util config tests
+dnl use the same compiler as APR; we need the same compiler options
+dnl and feature test macros as well
+dnl
+APR_SETIFNULL(CC, `$apr_config --cc`)
+APR_SETIFNULL(CPP, `$apr_config --cpp`)
+APR_ADDTO(CFLAGS, `$apr_config --cflags`)
+APR_ADDTO(CPPFLAGS, `$apr_config --cppflags`)
+
+AC_SUBST(CPP)
+
+APREQ_FIND_APU
+
+dnl get our version information
+get_version="$abs_srcdir/build/get-version.sh"
+version_hdr="$abs_srcdir/include/apreq_version.h"
+APREQ_MAJOR_VERSION="`$get_version major $version_hdr APREQ`"
+APREQ_MINOR_VERSION="`$get_version minor $version_hdr APREQ`"
+APREQ_PATCH_VERSION="`$get_version patch $version_hdr APREQ`"
+APREQ_DOTTED_VERSION="`$get_version all $version_hdr APREQ`"
+
+APR_MAJOR_VERSION="`$apr_config --version | cut -f1 -d.`"
+APREQ_LIBTOOL_VERSION="`expr $APREQ_MAJOR_VERSION + $APREQ_MINOR_VERSION + $APR_MAJOR_VERSION`:$APREQ_PATCH_VERSION:$APREQ_MINOR_VERSION"
+
+AC_SUBST(APREQ_DOTTED_VERSION)
+AC_SUBST(APREQ_LIBTOOL_VERSION)
+AC_SUBST(APREQ_MAJOR_VERSION)
+AC_SUBST(APREQ_MINOR_VERSION)
+AC_SUBST(APREQ_PATCH_VERSION)
+
+echo "APREQ Version: ${APREQ_DOTTED_VERSION}"
+
+
+
+so_ext=$APR_SO_EXT
+lib_target=$APR_LIB_TARGET
+AC_SUBST(so_ext)
+AC_SUBST(lib_target)
+
+APREQ_LIBNAME="apreq2"
+AC_SUBST(APREQ_LIBNAME)
+
+dnl
+dnl Prep all the flags and stuff for compilation and export to other builds
+dnl
+APR_ADDTO(APREQ_LIBS, [$APR_LIBS])
+APR_ADDTO(APREQ_LIBS, [$APU_LIBS])
+
+AC_SUBST(APREQ_EXPORT_LIBS)
+AC_SUBST(APREQ_PRIV_INCLUDES)
+AC_SUBST(APREQ_INCLUDES)
+AC_SUBST(APREQ_LDFLAGS)
+AC_SUBST(APREQ_LIBS)
+AC_SUBST(LDFLAGS)
+
+dnl copy apr's rules.mk into our build directory.
+if test ! -d ./build; then
+   $mkdir_p build
+fi
+cp $APR_BUILD_DIR/apr_rules.mk $abs_builddir/build/rules.mk
+
+dnl
+dnl BSD/OS (BSDi) needs to use a different include syntax in the Makefiles
+dnl
+case "$host_alias" in
+*bsdi* | BSD/OS)
+    # Check whether they've installed GNU make
+    if make --version > /dev/null 2>&1; then
+        INCLUDE_RULES="include $abs_builddir/build/rules.mk"
+        INCLUDE_OUTPUTS="include $abs_srcdir/build-outputs.mk"
+    else
+        INCLUDE_RULES=".include \"$abs_builddir/build/rules.mk\""
+        INCLUDE_OUTPUTS=".include \"$abs_srcdir/build-outputs.mk\""
+    fi
+    ;;
+*)
+    INCLUDE_RULES="include $abs_builddir/build/rules.mk"
+    INCLUDE_OUTPUTS="include $abs_srcdir/build-outputs.mk"
+    ;;
+esac
+AC_SUBST(INCLUDE_RULES)
+AC_SUBST(INCLUDE_OUTPUTS)
+
+for d in include include/private; do
+    test -d $top_builddir/$d || mkdir $top_builddir/$d
+done
+
+AC_CONFIG_FILES([Makefile export_vars.sh apreq2-config])
+
+AC_CONFIG_COMMANDS([default], [chmod +x apreq2-config])
+
+AC_OUTPUT
diff --git a/srclib/libapreq/export_vars.sh.in b/srclib/libapreq/export_vars.sh.in
new file mode 100644 (file)
index 0000000..08a6296
--- /dev/null
@@ -0,0 +1,13 @@
+#
+# export_vars.sh
+#
+# This shell script is used to export vars to the application using the
+# APRUTIL library. This script should be "sourced" to ensure the variable
+# values are set within the calling script's context. For example:
+#
+#   $ . path/to/apr-util/export_vars.sh
+#
+
+APREQ_EXPORT_INCLUDES="@APREQ_INCLUDES@"
+APREQ_EXPORT_LIBS="@APREQ_EXPORT_LIBS@"
+APREQ_LDFLAGS="@APREQ_LDFLAGS@"