diff options
author | Philip M. Gollucci <pgollucci@apache.org> | 2011-11-10 19:25:14 +0100 |
---|---|---|
committer | Philip M. Gollucci <pgollucci@apache.org> | 2011-11-10 19:25:14 +0100 |
commit | 9493bf62e41bbfaea506943dad75a112f9d9eba6 (patch) | |
tree | 1a3a1a75d544083ed9466ecfccaf0681d4611a54 /srclib | |
parent | relocate some files to match the apr-build-system apreq branch (diff) | |
download | apache2-9493bf62e41bbfaea506943dad75a112f9d9eba6.tar.xz apache2-9493bf62e41bbfaea506943dad75a112f9d9eba6.zip |
move build system files over from apr-build-system branch in apreq
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1200464 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'srclib')
-rw-r--r-- | srclib/libapreq/apreq2-config.in | 218 | ||||
-rw-r--r-- | srclib/libapreq/build.conf | 19 | ||||
-rw-r--r-- | srclib/libapreq/build/apreq-conf.m4 | 72 | ||||
-rw-r--r-- | srclib/libapreq/build/apreq-hints.m4 | 61 | ||||
-rw-r--r-- | srclib/libapreq/build/find_apreq.m4 | 176 | ||||
-rwxr-xr-x | srclib/libapreq/build/get-version.sh | 39 | ||||
-rwxr-xr-x | srclib/libapreq/buildconf | 106 | ||||
-rw-r--r-- | srclib/libapreq/config.layout | 232 | ||||
-rw-r--r-- | srclib/libapreq/configure.in | 173 | ||||
-rw-r--r-- | srclib/libapreq/export_vars.sh.in | 13 |
10 files changed, 1109 insertions, 0 deletions
diff --git a/srclib/libapreq/apreq2-config.in b/srclib/libapreq/apreq2-config.in new file mode 100644 index 0000000000..bfc8e7d22c --- /dev/null +++ b/srclib/libapreq/apreq2-config.in @@ -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 index 0000000000..5f0603cfe8 --- /dev/null +++ b/srclib/libapreq/build.conf @@ -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 index 0000000000..a2ec6758a2 --- /dev/null +++ b/srclib/libapreq/build/apreq-conf.m4 @@ -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 index 0000000000..33a5d22d3b --- /dev/null +++ b/srclib/libapreq/build/apreq-hints.m4 @@ -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 index 0000000000..ed69397ece --- /dev/null +++ b/srclib/libapreq/build/find_apreq.m4 @@ -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 index 0000000000..d0d9d5bff8 --- /dev/null +++ b/srclib/libapreq/build/get-version.sh @@ -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 index 0000000000..0c2f5df1ad --- /dev/null +++ b/srclib/libapreq/buildconf @@ -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 index 0000000000..80a4c8b5f3 --- /dev/null +++ b/srclib/libapreq/config.layout @@ -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 index 0000000000..7d31878520 --- /dev/null +++ b/srclib/libapreq/configure.in @@ -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 index 0000000000..08a6296334 --- /dev/null +++ b/srclib/libapreq/export_vars.sh.in @@ -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@" |