buildconf revision f14fe1f44cb7018927ee0e31eb959cba8dc3700b
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer#!/bin/sh
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer#
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer# Copyright 1999-2004 The Apache Software Foundation
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer#
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer# Licensed under the Apache License, Version 2.0 (the "License");
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer# you may not use this file except in compliance with the License.
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer# You may obtain a copy of the License at
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer#
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer# http://www.apache.org/licenses/LICENSE-2.0
0616b03c091e5dc3fe98e268ae0d27856cf7bd9bChristian Maeder#
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer# Unless required by applicable law or agreed to in writing, software
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder# distributed under the License is distributed on an "AS IS" BASIS,
0616b03c091e5dc3fe98e268ae0d27856cf7bd9bChristian Maeder# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder# See the License for the specific language governing permissions and
0616b03c091e5dc3fe98e268ae0d27856cf7bd9bChristian Maeder# limitations under the License.
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer#
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer#
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer# buildconf: Build the support scripts needed to compile from a
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer# checked-out version of the source code.
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer# set a couple of defaults for where we should be looking for our support libs.
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder# can be overridden with --with-apr=[dir] and --with-apr-util=[dir]
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maederapr_src_dir=srclib/apr
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maederapu_src_dir=srclib/apr-util
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maederwhile test $# -gt 0
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maederdo
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer # Normalize
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder case "$1" in
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer *) optarg= ;;
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer esac
d6638fccd3d43fe4499efca11cdc35a2825bcc9bThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer case "$1" in
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer --with-apr=*)
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer apr_src_dir=$optarg
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder ;;
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder esac
e5f5b1612cf7a4a1958c6bfd229f5bb8172879f6Christian Maeder
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer case "$1" in
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer --with-apr-util=*)
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer apu_src_dir=$optarg
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer ;;
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer esac
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer shift
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyerdone
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer#
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer# Check to be sure that we have the srclib dependencies checked-out
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer#
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyershould_exit=0
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerif [ ! -d "$apr_src_dir" -o ! -f "$apr_src_dir/build/apr_common.m4" ]; then
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo ""
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo "You don't have a copy of the apr source in $apr_src_dir. "
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo "Please get the source using the following instructions,"
0616b03c091e5dc3fe98e268ae0d27856cf7bd9bChristian Maeder echo "or specify the location of the source with "
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer echo "--with-apr=[path to apr] :"
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer echo ""
0616b03c091e5dc3fe98e268ae0d27856cf7bd9bChristian Maeder echo " svn co http://svn.apache.org/repos/asf/apr/apr/trunk srclib/apr"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo ""
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer should_exit=1
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerfi
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerif [ ! -d "$apu_src_dir" -o ! -f "$apu_src_dir/Makefile.in" ]; then
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo ""
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer echo "You don't have a copy of the apr-util source in $apu_src_dir. "
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer echo "Please get one the source using the following instructions, "
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo "or specify the location of the source with "
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo "--with-apr-util=[path to apr-util]:"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo ""
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo " svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk srclib/apr-util"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo ""
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer should_exit=1
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerfi
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerif [ $should_exit -gt 0 ]; then
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer exit 1
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerfi
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer# These are temporary until Roy finishes the other build changes
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer#
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyertouch .deps
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerrm -f aclocal.m4
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerrm -f generated_lists
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyer# Remove autoconf 2.5x's cache directory
654b14739364b0b04ecc6fa12e6ecca122eb6838Thiemo Wiedemeyerrm -rf autom4te*.cache
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyercase "`uname`" in
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer*BSD/OS*)
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer ./build/bsd_makefile;;
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyeresac
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer#
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer# end temporary stuff
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maederapr_configure="$apr_src_dir/configure"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyeraprutil_configure="$apu_src_dir/configure"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerpcre_configure="srclib/pcre/configure"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerconfig_h_in="include/ap_config_auto.h.in"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyercross_compile_warning="warning: AC_TRY_RUN called without default to allow cross compiling"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerif [ -d srclib/apr ]; then
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo rebuilding $apr_configure
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer (cd srclib/apr && ./buildconf) || {
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo "./buildconf failed for apr"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer exit 1
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer }
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerfi
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerif [ -d srclib/apr-util ]; then
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo rebuilding $aprutil_configure
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer (cd srclib/apr-util && ./buildconf) || {
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer echo "./buildconf failed for apr-util"
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer exit 1
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder }
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerfi
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerecho copying build files
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyercp $apr_src_dir/build/config.guess $apr_src_dir/build/config.sub \
8836fa284a241af325aa6f41234b5130b26ec4f9Thiemo Wiedemeyer $apr_src_dir/build/PrintPath $apr_src_dir/build/apr_common.m4 \
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer $apr_src_dir/build/find_apr.m4 $apu_src_dir/build/find_apu.m4 build
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer# Remove any libtool files so one can switch between libtool 1.3
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer# and libtool 1.4 by simply rerunning the buildconf script.
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer(cd build ; rm -f ltconfig ltmain.sh)
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer# Optionally copy libtool-1.3.x files
545d0cd78159cade346b579d06052638b19b0f72Thiemo Wiedemeyerif [ -f $apr_src_dir/build/ltconfig ]; then
fe1f344573c570949fa4f255c68bb9026c609832Thiemo Wiedemeyer cp $apr_src_dir/build/ltconfig build
a387debd6e69a58eaa94dce1980f6646221f5e1aKlaus Luettichfi
40c18e3f63c23085e5bb36ea35efe141a87df8e4Klaus Luettichif [ -f $apr_src_dir/build/ltmain.sh ]; then
40c18e3f63c23085e5bb36ea35efe141a87df8e4Klaus Luettich cp $apr_src_dir/build/ltmain.sh build
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerfi
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyerecho rebuilding $pcre_configure
a668bef7a7852dc5cf6208d7318bd5c949cc69bfThiemo Wiedemeyer(cd srclib/pcre && ${AUTOCONF:-autoconf})
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyerecho rebuilding $config_h_in
5107ba7da675778f2fded68493512b60eff8a455Christian Maederrm -f $config_h_in
109b67ffce2bad83667e2f4a319d2d7f380f91afThiemo Wiedemeyer${AUTOHEADER:-autoheader} 2>&1 | grep -v "$cross_compile_warning"
5107ba7da675778f2fded68493512b60eff8a455Christian Maeder
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyerecho rebuilding configure
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyerrm -f config.cache
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning"
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer# Remove autoconf 2.5x's cache directory
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyerrm -rf autom4te*.cache
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyerif [ -f `which cut` ]; then
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer echo rebuilding rpm spec file
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer ( VMMN=`build/get-version.sh mmn include/ap_mmn.h MODULE_MAGIC_NUMBER`
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer REVISION=`build/get-version.sh all include/ap_release.h AP_SERVER`
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer VERSION=`echo $REVISION | cut -d- -s -f1`
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer RELEASE=`echo $REVISION | cut -d- -s -f2`
4d3b50fc78a0c99ff2914fb23f3c7fba6e38d790Thiemo Wiedemeyer if [ "x$VERSION" = "x" ]; then
VERSION=$REVISION
RELEASE=1
fi
cat ./build/rpm/httpd.spec.in | \
sed -e "s/APACHE_VERSION/$VERSION/" \
-e "s/APACHE_RELEASE/$RELEASE/" \
-e "s/APACHE_MMN/$VMMN/" \
> httpd.spec )
fi
# ensure that the mod_ssl expression parser sources are never regenerated
# when running make
echo fixing timestamps for mod_ssl sources
cd modules/ssl
touch ssl_expr_parse.y
sleep 1
touch ssl_expr_parse.c ssl_expr_parse.h ssl_expr_scan.l
sleep 1
touch ssl_expr_scan.c
cd ../..
exit 0