buildconf revision 4cb8bb9049d1643295ebda12c76dad441ddc2228
1078b2c97bb39352bae929d2ed3f290a420470a7ianh#!/bin/sh
1078b2c97bb39352bae929d2ed3f290a420470a7ianh#
628ce9384209a460022be952ccdcc8538ad3ca84slive# Licensed to the Apache Software Foundation (ASF) under one or more
628ce9384209a460022be952ccdcc8538ad3ca84slive# contributor license agreements. See the NOTICE file distributed with
628ce9384209a460022be952ccdcc8538ad3ca84slive# this work for additional information regarding copyright ownership.
628ce9384209a460022be952ccdcc8538ad3ca84slive# The ASF licenses this file to You under the Apache License, Version 2.0
628ce9384209a460022be952ccdcc8538ad3ca84slive# (the "License"); you may not use this file except in compliance with
2b9a9a94658c0febcad2f76621b2d5ab856edc6atrawick# the License. You may obtain a copy of the License at
2b9a9a94658c0febcad2f76621b2d5ab856edc6atrawick#
2b9a9a94658c0febcad2f76621b2d5ab856edc6atrawick# http://www.apache.org/licenses/LICENSE-2.0
2b9a9a94658c0febcad2f76621b2d5ab856edc6atrawick#
f6f453bf03007f391d347dc821e507cdd924d1bftrawick# Unless required by applicable law or agreed to in writing, software
f6f453bf03007f391d347dc821e507cdd924d1bftrawick# distributed under the License is distributed on an "AS IS" BASIS,
f6f453bf03007f391d347dc821e507cdd924d1bftrawick# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
f6f453bf03007f391d347dc821e507cdd924d1bftrawick# See the License for the specific language governing permissions and
f6f453bf03007f391d347dc821e507cdd924d1bftrawick# limitations under the License.
205f4595abf32ae208958d7f8abea68b335c9f39trawick#
205f4595abf32ae208958d7f8abea68b335c9f39trawick#
205f4595abf32ae208958d7f8abea68b335c9f39trawick# buildconf: Build the support scripts needed to compile from a
205f4595abf32ae208958d7f8abea68b335c9f39trawick# checked-out version of the source code.
1078b2c97bb39352bae929d2ed3f290a420470a7ianh
1078b2c97bb39352bae929d2ed3f290a420470a7ianh# version check for AC_PROG_CC_C99
1078b2c97bb39352bae929d2ed3f290a420470a7ianhac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;q'`
1078b2c97bb39352bae929d2ed3f290a420470a7ianhcase "$ac_version" in
1078b2c97bb39352bae929d2ed3f290a420470a7ianh# versions older than 2.50 are denied by AC_PREREQ
1078b2c97bb39352bae929d2ed3f290a420470a7ianh2.5*)
1078b2c97bb39352bae929d2ed3f290a420470a7ianh echo WARNING: You are using an outdated version of autoconf.
b6135e7458bf348c694157b042786562d2b86e18ianh echo WARNING: This may lead to less than optimal performance of httpd.
a8d5ccbcbde8cb6cf3a9dcf2eb05f393ab76baa9ianh echo WARNING: You should use autoconf 2.60 or newer.
611e46c801a6bd62e58a7f68abe1d2bbba473a92aaron sleep 1
611e46c801a6bd62e58a7f68abe1d2bbba473a92aaron ;;
611e46c801a6bd62e58a7f68abe1d2bbba473a92aaronesac
611e46c801a6bd62e58a7f68abe1d2bbba473a92aaron
4224d5789080ea5586d49420da1e1996f5653bb5ianh# set a couple of defaults for where we should be looking for our support libs.
4224d5789080ea5586d49420da1e1996f5653bb5ianh# can be overridden with --with-apr=[dir] and --with-apr-util=[dir]
fd3fa792f04fc9c4e8f5f83dceb0fc34e71f8570ianh
2d2e3667d789f527a04ce6a0089621470c8143ccmartinapr_src_dir="srclib/apr ../apr"
2d2e3667d789f527a04ce6a0089621470c8143ccmartinapu_src_dir=""
2d2e3667d789f527a04ce6a0089621470c8143ccmartin
2d2e3667d789f527a04ce6a0089621470c8143ccmartinwhile test $# -gt 0
2d2e3667d789f527a04ce6a0089621470c8143ccmartindo
2d2e3667d789f527a04ce6a0089621470c8143ccmartin # Normalize
2d2e3667d789f527a04ce6a0089621470c8143ccmartin case "$1" in
2d2e3667d789f527a04ce6a0089621470c8143ccmartin -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
2d2e3667d789f527a04ce6a0089621470c8143ccmartin *) optarg= ;;
2d2e3667d789f527a04ce6a0089621470c8143ccmartin esac
9b0141308bc27f61d82742c198356975aa6b488abrianp
9b0141308bc27f61d82742c198356975aa6b488abrianp case "$1" in
9b0141308bc27f61d82742c198356975aa6b488abrianp --with-apr=*)
fd3fa792f04fc9c4e8f5f83dceb0fc34e71f8570ianh apr_src_dir=$optarg
fd3fa792f04fc9c4e8f5f83dceb0fc34e71f8570ianh ;;
fd3fa792f04fc9c4e8f5f83dceb0fc34e71f8570ianh esac
fd3fa792f04fc9c4e8f5f83dceb0fc34e71f8570ianh
22d348febc3c258df246ac93e37945398dbf0348ianh case "$1" in
22d348febc3c258df246ac93e37945398dbf0348ianh --with-apr-util=*)
7a95e47ff0d0e4306df0901d56131b49dca5691etrawick apu_src_dir=$optarg
62af8654f682ca4913636bae099bec0befab985ctrawick ;;
62af8654f682ca4913636bae099bec0befab985ctrawick esac
62af8654f682ca4913636bae099bec0befab985ctrawick
62af8654f682ca4913636bae099bec0befab985ctrawick shift
1e557a77c091a1d2f2872872a7c20e9f2ffccbc1aarondone
1e557a77c091a1d2f2872872a7c20e9f2ffccbc1aaron
1e557a77c091a1d2f2872872a7c20e9f2ffccbc1aaron#
1e557a77c091a1d2f2872872a7c20e9f2ffccbc1aaron# Check to be sure that we have the srclib dependencies checked-out
5e98e52df07f59be456af01ebf46d81defef2385trawick#
5e98e52df07f59be456af01ebf46d81defef2385trawick
5e98e52df07f59be456af01ebf46d81defef2385trawickshould_exit=0
5e98e52df07f59be456af01ebf46d81defef2385trawickapr_found=0
7a95e47ff0d0e4306df0901d56131b49dca5691etrawickapu_found=0
7a95e47ff0d0e4306df0901d56131b49dca5691etrawickapr_major_version=2
1e557a77c091a1d2f2872872a7c20e9f2ffccbc1aaron
7a95e47ff0d0e4306df0901d56131b49dca5691etrawickfor dir in $apr_src_dir
b393bdb2e1eabbe4b9b37c5eaeeeca799b2eb324stoddarddo
b393bdb2e1eabbe4b9b37c5eaeeeca799b2eb324stoddard if [ -f "${dir}/build/apr_common.m4" ]; then
b393bdb2e1eabbe4b9b37c5eaeeeca799b2eb324stoddard echo "found apr source: ${dir}"
6f912b4ad14f622aa8d57f887c8c745e13ff6dbfjerenkrantz apr_src_dir=$dir
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe apr_found=1
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe break
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowe fi
3cd826b00280881e5a2f03d8ec1f8d55802b93dewrowedone
435c423bdcfa61ff871a9e289d1140f2bac839b8brianp
435c423bdcfa61ff871a9e289d1140f2bac839b8brianpif [ $apr_found -lt 1 ]; then
435c423bdcfa61ff871a9e289d1140f2bac839b8brianp echo ""
435c423bdcfa61ff871a9e289d1140f2bac839b8brianp echo "APR could not be found automatically."
bf9e1eb04f8b0af835d15ac1d0ebcd8a154474cfjerenkrantz echo ""
e93cea6246ce30bf9791530a15c56f9e2eecf9cbianh echo "Please refer to the documentation on APR in the httpd INSTALL file."
e93cea6246ce30bf9791530a15c56f9e2eecf9cbianh echo ""
f65342c1467751310036d4f9d75f554eaaf01cc6wrowe should_exit=1
f65342c1467751310036d4f9d75f554eaaf01cc6wroweelse
960eba6c6d512880c3ed0516f5d15c6e7bc7581ajerenkrantz apr_major_version=`grep "#define APR_MAJOR_VERSION" \
960eba6c6d512880c3ed0516f5d15c6e7bc7581ajerenkrantz $apr_src_dir/include/apr_version.h | sed 's/[^0-9]//g'`
960eba6c6d512880c3ed0516f5d15c6e7bc7581ajerenkrantzfi
45613d36b9466a48def0498cffa07f48980720f8jerenkrantz
45613d36b9466a48def0498cffa07f48980720f8jerenkrantzif [ $apr_major_version -lt 2 ] ; then
45613d36b9466a48def0498cffa07f48980720f8jerenkrantz if test -z "$apu_src_dir"; then
6f912b4ad14f622aa8d57f887c8c745e13ff6dbfjerenkrantz apu_src_dir=`echo $apr_src_dir | sed -e 's#/apr#/apr-util#g;'`
6f912b4ad14f622aa8d57f887c8c745e13ff6dbfjerenkrantz apu_src_dir="$apu_src_dir `echo $apr_src_dir | sed -e 's#/apr#/aprutil#;g'`"
1abe6003aeb198cc97263503bceed457a6c2cb4aaaron apu_src_dir="$apu_src_dir srclib/apr-util ../apr-util"
1abe6003aeb198cc97263503bceed457a6c2cb4aaaron fi
1abe6003aeb198cc97263503bceed457a6c2cb4aaaron
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh for dir in $apu_src_dir
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh do
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh if [ -f "${dir}/Makefile.in" ]; then
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh echo "found apr-util source: ${dir}"
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh apu_src_dir=$dir
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh apu_found=1
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe break
3ad5a1fa75e728431fa7b8e3d8a74bcadcd79d4dlars fi
3ad5a1fa75e728431fa7b8e3d8a74bcadcd79d4dlars done
3ad5a1fa75e728431fa7b8e3d8a74bcadcd79d4dlars
3fde4c273ea649d1320ec9c51e7d096cd9340a94jerenkrantz if [ $apu_found -lt 1 ]; then
3fde4c273ea649d1320ec9c51e7d096cd9340a94jerenkrantz echo ""
3fde4c273ea649d1320ec9c51e7d096cd9340a94jerenkrantz echo "You are using APR 1.x but APR-util 1.x was not found."
75eee56d2eaac9c27d32fc46b90bb6b1eac85359trawick echo ""
75eee56d2eaac9c27d32fc46b90bb6b1eac85359trawick echo "Please refer to the documentation on APR in the httpd INSTALL file."
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe echo ""
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe should_exit=1
741a54303329728b27fe347447a362e1c576135etrawick fi
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowefi
9f62694a8b4e2b88994a14555d144b3836b311cfstoddard
9f62694a8b4e2b88994a14555d144b3836b311cfstoddardif [ $should_exit -gt 0 ]; then
9f62694a8b4e2b88994a14555d144b3836b311cfstoddard exit 1
9f62694a8b4e2b88994a14555d144b3836b311cfstoddardfi
52489511342e4ff3fe399e57f29d38e5c4227bc8trawick
52489511342e4ff3fe399e57f29d38e5c4227bc8trawick# These are temporary until Roy finishes the other build changes
52489511342e4ff3fe399e57f29d38e5c4227bc8trawick#
52489511342e4ff3fe399e57f29d38e5c4227bc8trawicktouch .deps
8864d6f5f4744b5d2b638e2a53e2660bcf8b5ab5dougmrm -f aclocal.m4
8864d6f5f4744b5d2b638e2a53e2660bcf8b5ab5dougmrm -f generated_lists
8864d6f5f4744b5d2b638e2a53e2660bcf8b5ab5dougm
ea512a4af20e6b6e6931de4929d54d93f03a0139ianh# Remove autoconf 2.5x cache directories
1e83c8de3aa48b316b28057d53995272baf1260cwrowerm -rf autom4te*.cache
1dfb5e008f35ed13c343b7f6306675e33c399792gstein
1dfb5e008f35ed13c343b7f6306675e33c399792gsteincase "`uname`" in
1dfb5e008f35ed13c343b7f6306675e33c399792gstein*BSD/OS*)
1dfb5e008f35ed13c343b7f6306675e33c399792gstein ./build/bsd_makefile;;
eadb64379834961679105b7fd4178253fbb9f95dtrawickesac
eadb64379834961679105b7fd4178253fbb9f95dtrawick#
eadb64379834961679105b7fd4178253fbb9f95dtrawick# end temporary stuff
eadb64379834961679105b7fd4178253fbb9f95dtrawick
eadb64379834961679105b7fd4178253fbb9f95dtrawickapr_configure="$apr_src_dir/configure"
c7e917aa56886c47bfe061c5e9f603a5aaef0d87trawickif [ $apr_major_version -lt 2 ] ; then
c7e917aa56886c47bfe061c5e9f603a5aaef0d87trawick aprutil_configure="$apu_src_dir/configure"
c7e917aa56886c47bfe061c5e9f603a5aaef0d87trawickfi
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoarconfig_h_in="include/ap_config_auto.h.in"
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoarcross_compile_warning="warning: AC_TRY_RUN called without default to allow cross compiling"
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoarif [ "$apr_src_dir" = "srclib/apr" ]; then
6b6083e6518007139257ee449c2af3032d2437d0trawick echo rebuilding $apr_configure
6b6083e6518007139257ee449c2af3032d2437d0trawick (cd srclib/apr && ./buildconf) || {
6b6083e6518007139257ee449c2af3032d2437d0trawick echo "./buildconf failed for apr"
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick exit 1
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick }
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick rm -f srclib/apr/apr.spec
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawickfi
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianp
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianpapr_src_dir=`cd $apr_src_dir && pwd`
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianp
1e83c8de3aa48b316b28057d53995272baf1260cwroweif [ $apr_major_version -lt 2 ] ; then
1e83c8de3aa48b316b28057d53995272baf1260cwrowe if [ "$apu_src_dir" = "srclib/apr-util" ]; then
1e83c8de3aa48b316b28057d53995272baf1260cwrowe echo rebuilding $aprutil_configure
1e83c8de3aa48b316b28057d53995272baf1260cwrowe (cd srclib/apr-util && ./buildconf --with-apr=$apr_src_dir) || {
1e83c8de3aa48b316b28057d53995272baf1260cwrowe echo "./buildconf failed for apr-util"
1e83c8de3aa48b316b28057d53995272baf1260cwrowe exit 1
1e83c8de3aa48b316b28057d53995272baf1260cwrowe }
1e83c8de3aa48b316b28057d53995272baf1260cwrowe rm -f srclib/apr-util/apr-util.spec
1e83c8de3aa48b316b28057d53995272baf1260cwrowe fi
1e83c8de3aa48b316b28057d53995272baf1260cwrowe
7f683bb300df767164724ebc664f339ac396b434dougm apu_src_dir=`cd $apu_src_dir && pwd`
7f683bb300df767164724ebc664f339ac396b434dougmfi
7f683bb300df767164724ebc664f339ac396b434dougm
7f683bb300df767164724ebc664f339ac396b434dougmecho copying build files
7f683bb300df767164724ebc664f339ac396b434dougmcp $apr_src_dir/build/config.guess $apr_src_dir/build/config.sub \
7f683bb300df767164724ebc664f339ac396b434dougm $apr_src_dir/build/PrintPath $apr_src_dir/build/apr_common.m4 \
7f683bb300df767164724ebc664f339ac396b434dougm $apr_src_dir/build/find_apr.m4 build
26dfa083a1662d57ba7cc410eec4e0696b9be469wroweif [ $apr_major_version -lt 2 ] ; then
26dfa083a1662d57ba7cc410eec4e0696b9be469wrowe cp $apu_src_dir/build/find_apu.m4 build
26dfa083a1662d57ba7cc410eec4e0696b9be469wrowefi
26dfa083a1662d57ba7cc410eec4e0696b9be469wrowe
4760aa1f19600972cf531ad7da73c1ee5a0225cedougm# Remove any libtool files so one can switch between libtool 1.3
4760aa1f19600972cf531ad7da73c1ee5a0225cedougm# and libtool 1.4 by simply rerunning the buildconf script.
87a1c79b7b37702a254920ca5214fb282a4fb085dougm(cd build ; rm -f ltconfig ltmain.sh)
994c3fbc3335e8fe883b1ce4515efc0c85061cdfaaron
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz# Optionally copy libtool-1.3.x files
e93d563852e1fa7a8c73af3b807916b41942d2f6dreidif [ -f $apr_src_dir/build/ltconfig ]; then
e93d563852e1fa7a8c73af3b807916b41942d2f6dreid cp $apr_src_dir/build/ltconfig build
e93d563852e1fa7a8c73af3b807916b41942d2f6dreidfi
e93d563852e1fa7a8c73af3b807916b41942d2f6dreidif [ -f $apr_src_dir/build/ltmain.sh ]; then
e93d563852e1fa7a8c73af3b807916b41942d2f6dreid cp $apr_src_dir/build/ltmain.sh build
525508562a53864b78cf8da91ac13be9c072bba7jerenkrantzfi
525508562a53864b78cf8da91ac13be9c072bba7jerenkrantz
525508562a53864b78cf8da91ac13be9c072bba7jerenkrantzecho rebuilding $config_h_in
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawickrm -f $config_h_in
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawick${AUTOHEADER:-autoheader} 2>&1 | grep -v "$cross_compile_warning"
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawick
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawickecho rebuilding configure
f04ad0ba7fe0eea5ea7a92f852cef75747ab2090trawickrm -f config.cache
f04ad0ba7fe0eea5ea7a92f852cef75747ab2090trawick${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning"
f04ad0ba7fe0eea5ea7a92f852cef75747ab2090trawick
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick# Remove autoconf 2.5x cache directories
65a1588701f9e5d0f62261d0da85733a23edc92ftrawickrm -rf autom4te*.cache
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick# Remove possible bsd_converted file
65a1588701f9e5d0f62261d0da85733a23edc92ftrawickrm -rf bsd_converted
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantzif [ -f `which cut` ]; then
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz echo rebuilding rpm spec file
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard ( VMMN=`build/get-version.sh mmn include/ap_mmn.h MODULE_MAGIC_NUMBER`
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard EPOCH=`build/get-version.sh epoch include/ap_release.h AP_SERVER`
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard REVISION=`build/get-version.sh all include/ap_release.h AP_SERVER`
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard VERSION=`echo $REVISION | cut -d- -s -f1`
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard RELEASE=`echo $REVISION | cut -d- -s -f2`
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard if [ "x$VERSION" = "x" ]; then
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard VERSION=$REVISION
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard RELEASE=1
a21148678a1459064627d917a66669e7e8d140e6stoddard fi
a21148678a1459064627d917a66669e7e8d140e6stoddard cat ./build/rpm/httpd.spec.in | \
910df8b3f50a0515b430b999d4750de94c509f2atrawick sed -e "s/APACHE_VERSION/$VERSION/" \
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowe -e "s/APACHE_RELEASE/$RELEASE/" \
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowe -e "s/APACHE_MMN/$VMMN/" \
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowe -e "s/APACHE_EPOCH/$EPOCH/" \
51be7fc538641ed7cb22e959eb31629f7183f70fianh > httpd.spec )
51be7fc538641ed7cb22e959eb31629f7183f70fianhfi
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe# ensure that the ap_expr expression parser sources are never regenerated
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe# when running make
bb6a7fc0427d0d197c50de34b94a0d23e5732696wroweecho fixing timestamps for ap_expr sources
decd0c23bb26f6662f4b963cf86ee569613bffeagregamescd server
decd0c23bb26f6662f4b963cf86ee569613bffeagregamestouch util_expr_parse.y util_expr_scan.l
decd0c23bb26f6662f4b963cf86ee569613bffeagregamessleep 1
e1753aabf5df187b5b04e72a958af4b65b1a125daarontouch util_expr_parse.c util_expr_parse.h util_expr_scan.c
e1753aabf5df187b5b04e72a958af4b65b1a125daaroncd ..
e1753aabf5df187b5b04e72a958af4b65b1a125daaron
e1753aabf5df187b5b04e72a958af4b65b1a125daaronexit 0
e1753aabf5df187b5b04e72a958af4b65b1a125daaron