buildconf revision 59b1b6c3fd51c83c3bb9f02a8f08751335f9fb1d
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder#!/bin/sh
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder#
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# Copyright 1999-2004 The Apache Software Foundation
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder#
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu# Licensed under the Apache License, Version 2.0 (the "License");
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# you may not use this file except in compliance with the License.
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# You may obtain a copy of the License at
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder#
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# http://www.apache.org/licenses/LICENSE-2.0
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder#
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# Unless required by applicable law or agreed to in writing, software
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# distributed under the License is distributed on an "AS IS" BASIS,
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# See the License for the specific language governing permissions and
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# limitations under the License.
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder#
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder#
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder# buildconf: Build the support scripts needed to compile from a
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# checked-out version of the source code.
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# set a couple of defaults for where we should be looking for our support libs.
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder# can be overridden with --with-apr=[dir] and --with-apr-util=[dir]
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maederapr_src_dir=srclib/apr
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maederapu_src_dir=srclib/apr-util
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maederwhile test $# -gt 0
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maederdo
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder # Normalize
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder case "$1" in
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder *) optarg= ;;
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder esac
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder case "$1" in
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder --with-apr=*)
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder apr_src_dir=$optarg
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder ;;
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder esac
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder case "$1" in
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder --with-apr-util=*)
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder apu_src_dir=$optarg
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder ;;
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder esac
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder shift
06f58a67e6df999858bf4f97d5e0786956562d29Christian Maederdone
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder#
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder# Check to be sure that we have the srclib dependencies checked-out
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder#
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maedershould_exit=0
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maeder
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maederif [ ! -d "$apr_src_dir" -o ! -f "$apr_src_dir/build/apr_common.m4" ]; then
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder echo ""
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder echo "You don't have a copy of the apr source in $apr_src_dir. "
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder echo "Please get the source using the following instructions,"
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder echo "or specify the location of the source with "
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maeder echo "--with-apr=[path to apr] :"
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maeder echo ""
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder echo " svn co http://svn.apache.org/repos/asf/apr/apr/trunk srclib/apr"
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder echo ""
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder should_exit=1
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maederfi
ca0d4947f7b0fdcbf7eac627659e6cff6d3863baChristian Maederif [ ! -d "$apu_src_dir" -o ! -f "$apu_src_dir/Makefile.in" ]; then
bb2c1beb7ab66a49627a2a34df80864a3c65cc83Christian Maeder echo ""
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder echo "You don't have a copy of the apr-util source in $apu_src_dir. "
bb2c1beb7ab66a49627a2a34df80864a3c65cc83Christian Maeder echo "Please get one the source using the following instructions, "
bb2c1beb7ab66a49627a2a34df80864a3c65cc83Christian Maeder echo "or specify the location of the source with "
bb2c1beb7ab66a49627a2a34df80864a3c65cc83Christian Maeder echo "--with-apr-util=[path to apr-util]:"
bb2c1beb7ab66a49627a2a34df80864a3c65cc83Christian Maeder echo ""
bb2c1beb7ab66a49627a2a34df80864a3c65cc83Christian Maeder echo " svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk srclib/apr-util"
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder echo ""
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder should_exit=1
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederfi
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederif [ $should_exit -gt 0 ]; then
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder exit 1
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederfi
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder# These are temporary until Roy finishes the other build changes
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder#
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maedertouch .deps
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederrm -f aclocal.m4
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederrm -f generated_lists
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederrm -f srclib/pcre/aclocal.m4
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder# Remove autoconf 2.5x cache directories
5b3e0bbb6a776c60dc14113435a44e7b13d2fa01Christian Maederrm -rf autom4te*.cache srclib/pcre/autom4te*.cache
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maeder
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maedercase "`uname`" in
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder*BSD/OS*)
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maeder ./build/bsd_makefile;;
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maederesac
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maeder#
d4aed7a2eea6b546c0d9520d85038addb7beb12fChristian Maeder# end temporary stuff
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maeder
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maederapr_configure="$apr_src_dir/configure"
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maederaprutil_configure="$apu_src_dir/configure"
38824a7dba4f7d82532afec67e0b594a5af5d76bChristian Maederpcre_configure="srclib/pcre/configure"
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederconfig_h_in="include/ap_config_auto.h.in"
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maedercross_compile_warning="warning: AC_TRY_RUN called without default to allow cross compiling"
a1a48072301767054f2a9ff7ccf8974b0d6a6a28Christian Maeder
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maederif [ -d srclib/apr ]; then
36a493b7eec0f9d719674296c26afe7fd9bfe327Christian Maeder echo rebuilding $apr_configure
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maeder (cd srclib/apr && ./buildconf) || {
f99c9fca932e8e6e8111049fd93164ed81e1b0abChristian Maeder echo "./buildconf failed for apr"
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maeder exit 1
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maeder }
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maeder rm -f srclib/apr/apr.spec
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maederfi
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maeder
e92e93922166c81167de83cc7400403c5d9bb26cChristian Maederif [ -d srclib/apr-util ]; then
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder echo rebuilding $aprutil_configure
7fe976d9f9c4af1aa7636c568d9919859523de0aChristian Maeder (cd srclib/apr-util && ./buildconf) || {
38f35f2c4a3b6a778f4f68e7af047a174e93abbeChristian Maeder echo "./buildconf failed for apr-util"
38f35f2c4a3b6a778f4f68e7af047a174e93abbeChristian Maeder exit 1
13140d161d2d2d11d87283d01d57ee3a738a833dChristian Maeder }
38f35f2c4a3b6a778f4f68e7af047a174e93abbeChristian Maeder rm -f srclib/apr-util/apr-util.spec
38f35f2c4a3b6a778f4f68e7af047a174e93abbeChristian Maederfi
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maederecho copying build files
38f35f2c4a3b6a778f4f68e7af047a174e93abbeChristian Maedercp $apr_src_dir/build/config.guess $apr_src_dir/build/config.sub \
38f35f2c4a3b6a778f4f68e7af047a174e93abbeChristian Maeder $apr_src_dir/build/PrintPath $apr_src_dir/build/apr_common.m4 \
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder $apr_src_dir/build/find_apr.m4 $apu_src_dir/build/find_apu.m4 build
38f35f2c4a3b6a778f4f68e7af047a174e93abbeChristian Maeder
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder# Remove any libtool files so one can switch between libtool 1.3
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder# and libtool 1.4 by simply rerunning the buildconf script.
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder(cd build ; rm -f ltconfig ltmain.sh)
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder
13140d161d2d2d11d87283d01d57ee3a738a833dChristian Maeder# Optionally copy libtool-1.3.x files
13140d161d2d2d11d87283d01d57ee3a738a833dChristian Maederif [ -f $apr_src_dir/build/ltconfig ]; then
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder cp $apr_src_dir/build/ltconfig build
13140d161d2d2d11d87283d01d57ee3a738a833dChristian Maederfi
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maederif [ -f $apr_src_dir/build/ltmain.sh ]; then
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder cp $apr_src_dir/build/ltmain.sh build
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maederfi
0c92a39a4adf3c1cbe173e3b16c65c159a1ce612Christian Maeder
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maederecho rebuilding $pcre_configure
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder(cd srclib/pcre && ${AUTOCONF:-autoconf})
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maederecho rebuilding $config_h_in
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maederrm -f $config_h_in
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder${AUTOHEADER:-autoheader} 2>&1 | grep -v "$cross_compile_warning"
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maederecho rebuilding configure
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maederrm -f config.cache
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning"
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder# Remove autoconf 2.5x cache directories
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maederrm -rf autom4te*.cache srclib/pcre/autom4te*.cache
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maederif [ -f `which cut` ]; then
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder echo rebuilding rpm spec file
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder ( VMMN=`build/get-version.sh mmn include/ap_mmn.h MODULE_MAGIC_NUMBER`
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder REVISION=`build/get-version.sh all include/ap_release.h AP_SERVER`
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder VERSION=`echo $REVISION | cut -d- -s -f1`
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder RELEASE=`echo $REVISION | cut -d- -s -f2`
05b9abe2e7d9e6126bf4ae29be6ef3693f32de73Christian Maeder 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