buildconf revision 842ae4bd224140319ae7feec1872b93dfd491143
f743002678eb67b99bbc29fee116b65d9530fec0wrowe#!/bin/sh
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg#
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin# Licensed to the Apache Software Foundation (ASF) under one or more
986f3ea2c314d4d4b3b937149853a0f23f6119aaminfrin# contributor license agreements. See the NOTICE file distributed with
986f3ea2c314d4d4b3b937149853a0f23f6119aaminfrin# this work for additional information regarding copyright ownership.
986f3ea2c314d4d4b3b937149853a0f23f6119aaminfrin# The ASF licenses this file to You under the Apache License, Version 2.0
f502dd154eaf60ccf6a993e83c490d52cd0a385eminfrin# (the "License"); you may not use this file except in compliance with
f502dd154eaf60ccf6a993e83c490d52cd0a385eminfrin# the License. You may obtain a copy of the License at
f502dd154eaf60ccf6a993e83c490d52cd0a385eminfrin#
65a4e663b82f8bce28ac22ab2edfd7502de36998sf# http://www.apache.org/licenses/LICENSE-2.0
65a4e663b82f8bce28ac22ab2edfd7502de36998sf#
65a4e663b82f8bce28ac22ab2edfd7502de36998sf# Unless required by applicable law or agreed to in writing, software
65a4e663b82f8bce28ac22ab2edfd7502de36998sf# distributed under the License is distributed on an "AS IS" BASIS,
c7de1955eb0eaeabf7042902476397692672d549sf# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin# See the License for the specific language governing permissions and
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin# limitations under the License.
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin#
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin#
a77a7d850e4496179e1e0f45d5152865c899d421covener# buildconf: Build the support scripts needed to compile from a
a77a7d850e4496179e1e0f45d5152865c899d421covener# checked-out version of the source code.
92108a6c4fd7ca6e9acc94d2485920436763e491sf
df6d5653669f1514b4449aaba99cb950c0013e5fcovener# set a couple of defaults for where we should be looking for our support libs.
df6d5653669f1514b4449aaba99cb950c0013e5fcovener# can be overridden with --with-apr=[dir] and --with-apr-util=[dir]
df6d5653669f1514b4449aaba99cb950c0013e5fcovener
509622419be000045d461ef38fb97df778fdf81djailletcapr_src_dir="srclib/apr ../apr"
509622419be000045d461ef38fb97df778fdf81djailletcapu_src_dir="srclib/apr-util ../apr-util"
509622419be000045d461ef38fb97df778fdf81djailletc
509622419be000045d461ef38fb97df778fdf81djailletcwhile test $# -gt 0
1de839c61281d58dc75715c1ae06b4b00764c4efjortondo
1de839c61281d58dc75715c1ae06b4b00764c4efjorton # Normalize
1de839c61281d58dc75715c1ae06b4b00764c4efjorton case "$1" in
2e1a0fb12bdf1c20064ffe900a8f44979ec946fcminfrin -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
2e1a0fb12bdf1c20064ffe900a8f44979ec946fcminfrin *) optarg= ;;
2e1a0fb12bdf1c20064ffe900a8f44979ec946fcminfrin esac
2e1a0fb12bdf1c20064ffe900a8f44979ec946fcminfrin
441d366a564bc6faa7c1eaffbacf8c4f37862199minfrin case "$1" in
441d366a564bc6faa7c1eaffbacf8c4f37862199minfrin --with-apr=*)
441d366a564bc6faa7c1eaffbacf8c4f37862199minfrin apr_src_dir=$optarg
441d366a564bc6faa7c1eaffbacf8c4f37862199minfrin ;;
441d366a564bc6faa7c1eaffbacf8c4f37862199minfrin esac
0b9de55d178312ec929dbe417dd61199b269991djailletc
0b9de55d178312ec929dbe417dd61199b269991djailletc case "$1" in
0b9de55d178312ec929dbe417dd61199b269991djailletc --with-apr-util=*)
0b9de55d178312ec929dbe417dd61199b269991djailletc apu_src_dir=$optarg
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin ;;
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin esac
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin shift
9e0d78337da0ce66247fc3254b9d5be262cbcea8minfrindone
9e0d78337da0ce66247fc3254b9d5be262cbcea8minfrin
9e0d78337da0ce66247fc3254b9d5be262cbcea8minfrin#
2ae6440d9c0beacb1b2a9726d80b755a8a4a851bjailletc# Check to be sure that we have the srclib dependencies checked-out
2ae6440d9c0beacb1b2a9726d80b755a8a4a851bjailletc#
2ae6440d9c0beacb1b2a9726d80b755a8a4a851bjailletc
2ae6440d9c0beacb1b2a9726d80b755a8a4a851bjailletcshould_exit=0
2f073ef2a21b1725addef84f318a2b11541e912aminfrinapr_found=0
2f073ef2a21b1725addef84f318a2b11541e912aminfrinapu_found=0
2f073ef2a21b1725addef84f318a2b11541e912aminfrin
2f073ef2a21b1725addef84f318a2b11541e912aminfrinfor dir in $apr_src_dir
a511a29faf2ff7ead3b67680154a624effb31aafminfrindo
a511a29faf2ff7ead3b67680154a624effb31aafminfrin if [ -f "${dir}/build/apr_common.m4" ]; then
a511a29faf2ff7ead3b67680154a624effb31aafminfrin echo "found apr source: ${dir}"
a511a29faf2ff7ead3b67680154a624effb31aafminfrin apr_src_dir=$dir
a511a29faf2ff7ead3b67680154a624effb31aafminfrin apr_found=1
a7584fbbf39ae6a78586ed038d80c31b14ce5461minfrin break
a7584fbbf39ae6a78586ed038d80c31b14ce5461minfrin fi
a7584fbbf39ae6a78586ed038d80c31b14ce5461minfrindone
a7584fbbf39ae6a78586ed038d80c31b14ce5461minfrin
9ea14ade0d235bec11e6c221b888a6630a0be849covenerif [ $apr_found -lt 1 ]; then
9ea14ade0d235bec11e6c221b888a6630a0be849covener echo ""
9ea14ade0d235bec11e6c221b888a6630a0be849covener echo "You don't have a copy of the apr source in srclib/apr. "
4860eae0821bbdf3e0da78be7b4057ebed5d86e4minfrin echo "Please get the source using the following instructions,"
4860eae0821bbdf3e0da78be7b4057ebed5d86e4minfrin echo "or specify the location of the source with "
4860eae0821bbdf3e0da78be7b4057ebed5d86e4minfrin echo "--with-apr=[path to apr] :"
5b6a4b0e8d6d52394b68b51e0fa439d0eee16e37minfrin echo ""
5b6a4b0e8d6d52394b68b51e0fa439d0eee16e37minfrin echo " svn co http://svn.apache.org/repos/asf/apr/apr/trunk srclib/apr"
5b6a4b0e8d6d52394b68b51e0fa439d0eee16e37minfrin echo ""
5b6a4b0e8d6d52394b68b51e0fa439d0eee16e37minfrin should_exit=1
2344a0c1817b88b6df61fc4ed0c6af66bb93ee6bjimfi
2344a0c1817b88b6df61fc4ed0c6af66bb93ee6bjim
2344a0c1817b88b6df61fc4ed0c6af66bb93ee6bjimfor dir in $apu_src_dir
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrindo
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin if [ -f "${dir}/Makefile.in" ]; then
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin echo "found apr-util source: ${dir}"
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin apu_src_dir=$dir
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrin apu_found=1
bbb08feeeef547b0908b16df6cbbb65da656b86fminfrin break
bbb08feeeef547b0908b16df6cbbb65da656b86fminfrin fi
bbb08feeeef547b0908b16df6cbbb65da656b86fminfrindone
bbb08feeeef547b0908b16df6cbbb65da656b86fminfrin
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07minfrinif [ $apu_found -lt 1 ]; then
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07minfrin echo ""
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07minfrin echo "You don't have a copy of the apr-util source in srclib/apr-util. "
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07minfrin echo "Please get one the source using the following instructions, "
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07minfrin echo "or specify the location of the source with "
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07minfrin echo "--with-apr-util=[path to apr-util]:"
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07minfrin echo ""
decb536ebd4b7b94c7450c2e1daa491943135abdminfrin echo " svn co http://svn.apache.org/repos/asf/apr/apr-util/trunk srclib/apr-util"
decb536ebd4b7b94c7450c2e1daa491943135abdminfrin echo ""
decb536ebd4b7b94c7450c2e1daa491943135abdminfrin should_exit=1
decb536ebd4b7b94c7450c2e1daa491943135abdminfrinfi
2d2c5cedd0559093c6e88bd92702e369ef949336minfrin
2d2c5cedd0559093c6e88bd92702e369ef949336minfrinif [ $should_exit -gt 0 ]; then
2d2c5cedd0559093c6e88bd92702e369ef949336minfrin exit 1
2d2c5cedd0559093c6e88bd92702e369ef949336minfrinfi
2d2c5cedd0559093c6e88bd92702e369ef949336minfrin
2b82678319a66fd9caad8827ca9b38d2412a5abdminfrin# These are temporary until Roy finishes the other build changes
2b82678319a66fd9caad8827ca9b38d2412a5abdminfrin#
c0da461d68518e8f89f4070a709ba1e56381247cminfrintouch .deps
c0da461d68518e8f89f4070a709ba1e56381247cminfrinrm -f aclocal.m4
c0da461d68518e8f89f4070a709ba1e56381247cminfrinrm -f generated_lists
797fb211307298a8a6984c0edc0d8972b35eeac1minfrinrm -f srclib/pcre/aclocal.m4
797fb211307298a8a6984c0edc0d8972b35eeac1minfrin
797fb211307298a8a6984c0edc0d8972b35eeac1minfrin# Remove autoconf 2.5x cache directories
797fb211307298a8a6984c0edc0d8972b35eeac1minfrinrm -rf autom4te*.cache srclib/pcre/autom4te*.cache
f27c90ecdefe634bd5f9c529d8658d3a3b441303minfrin
f27c90ecdefe634bd5f9c529d8658d3a3b441303minfrincase "`uname`" in
f27c90ecdefe634bd5f9c529d8658d3a3b441303minfrin*BSD/OS*)
80cabec6752622e0db5421af61502bfda95715eaminfrin ./build/bsd_makefile;;
80cabec6752622e0db5421af61502bfda95715eaminfrinesac
80cabec6752622e0db5421af61502bfda95715eaminfrin#
a2e1bbb77dd09c6a60f2dc18f831000e49add31eminfrin# end temporary stuff
a2e1bbb77dd09c6a60f2dc18f831000e49add31eminfrin
a2e1bbb77dd09c6a60f2dc18f831000e49add31eminfrinapr_configure="$apr_src_dir/configure"
a2e1bbb77dd09c6a60f2dc18f831000e49add31eminfrinaprutil_configure="$apu_src_dir/configure"
a2e1bbb77dd09c6a60f2dc18f831000e49add31eminfrinpcre_configure="srclib/pcre/configure"
a2e1bbb77dd09c6a60f2dc18f831000e49add31eminfrinconfig_h_in="include/ap_config_auto.h.in"
deec48c67d4786bc77112ffbf3a4e70b931097edminfrin
deec48c67d4786bc77112ffbf3a4e70b931097edminfrincross_compile_warning="warning: AC_TRY_RUN called without default to allow cross compiling"
deec48c67d4786bc77112ffbf3a4e70b931097edminfrin
deec48c67d4786bc77112ffbf3a4e70b931097edminfrinif [ "$apr_src_dir" = "srclib/apr" ]; then
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin echo rebuilding $apr_configure
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin (cd srclib/apr && ./buildconf) || {
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin echo "./buildconf failed for apr"
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrin exit 1
40d570cf1420f497bcac59045d4ce477f0b5d891minfrin }
40d570cf1420f497bcac59045d4ce477f0b5d891minfrin rm -f srclib/apr/apr.spec
40d570cf1420f497bcac59045d4ce477f0b5d891minfrinfi
edab53cc0be707fa71968a95c696b19f0e6c4736minfrin
edab53cc0be707fa71968a95c696b19f0e6c4736minfrinapr_src_dir=`cd $apr_src_dir && pwd`
edab53cc0be707fa71968a95c696b19f0e6c4736minfrin
806e9ba570ef48df4bfd8364e2f4d57381388a11minfrinif [ "$apu_src_dir" = "srclib/apr-util" ]; then
806e9ba570ef48df4bfd8364e2f4d57381388a11minfrin echo rebuilding $aprutil_configure
806e9ba570ef48df4bfd8364e2f4d57381388a11minfrin (cd srclib/apr-util && ./buildconf --with-apr=$apr_src_dir) || {
806e9ba570ef48df4bfd8364e2f4d57381388a11minfrin echo "./buildconf failed for apr-util"
806e9ba570ef48df4bfd8364e2f4d57381388a11minfrin exit 1
a4273e3e513ce8f5e1311c320cbd334cc382950eminfrin }
a4273e3e513ce8f5e1311c320cbd334cc382950eminfrin rm -f srclib/apr-util/apr-util.spec
a4273e3e513ce8f5e1311c320cbd334cc382950eminfrinfi
d3e0a61e1bcc497f2efd7af41a5a9d77090ecc1cminfrin
a4273e3e513ce8f5e1311c320cbd334cc382950eminfrinapu_src_dir=`cd $apu_src_dir && pwd`
d3e0a61e1bcc497f2efd7af41a5a9d77090ecc1cminfrin
d3e0a61e1bcc497f2efd7af41a5a9d77090ecc1cminfrinecho copying build files
1aac1c71105133d669960501bdf2274e63561054minfrincp $apr_src_dir/build/config.guess $apr_src_dir/build/config.sub \
1aac1c71105133d669960501bdf2274e63561054minfrin $apr_src_dir/build/PrintPath $apr_src_dir/build/apr_common.m4 \
1aac1c71105133d669960501bdf2274e63561054minfrin $apr_src_dir/build/find_apr.m4 $apu_src_dir/build/find_apu.m4 build
2c487ac43b583db869e743772a7a10b278aa2bcfminfrin
2c487ac43b583db869e743772a7a10b278aa2bcfminfrin# Remove any libtool files so one can switch between libtool 1.3
2c487ac43b583db869e743772a7a10b278aa2bcfminfrin# and libtool 1.4 by simply rerunning the buildconf script.
2c487ac43b583db869e743772a7a10b278aa2bcfminfrin(cd build ; rm -f ltconfig ltmain.sh)
2c487ac43b583db869e743772a7a10b278aa2bcfminfrin
dbf5f584c62fe6030d81121fdddeb7588b78b867sf# Optionally copy libtool-1.3.x files
dbf5f584c62fe6030d81121fdddeb7588b78b867sfif [ -f $apr_src_dir/build/ltconfig ]; then
15320dc646e41d3eb38736978500349c4d66dc0dsf cp $apr_src_dir/build/ltconfig build
15320dc646e41d3eb38736978500349c4d66dc0dsffi
691db92094897494d6c31326108da20088bc175etrawickif [ -f $apr_src_dir/build/ltmain.sh ]; then
691db92094897494d6c31326108da20088bc175etrawick cp $apr_src_dir/build/ltmain.sh build
691db92094897494d6c31326108da20088bc175etrawickfi
92108a6c4fd7ca6e9acc94d2485920436763e491sf
92108a6c4fd7ca6e9acc94d2485920436763e491sfecho rebuilding $pcre_configure
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovener(cd srclib/pcre && ${AUTOCONF:-autoconf})
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovener
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovenerecho rebuilding $config_h_in
5c43d2fb853f84497b5ece2d414ef9484aa87e5fsfrm -f $config_h_in
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoes${AUTOHEADER:-autoheader} 2>&1 | grep -v "$cross_compile_warning"
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoes
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqecho rebuilding configure
26c5829347f6a355c00f1ba0301d575056b69536niqrm -f config.cache
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning"
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq# Remove autoconf 2.5x cache directories
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqrm -rf autom4te*.cache srclib/pcre/autom4te*.cache
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqif [ -f `which cut` ]; then
413ee814748f37be168ff12407fa6dba0ceeabe6trawick echo rebuilding rpm spec file
c12917da693bae4028a1d5a5e8224bceed8c739dsf ( VMMN=`build/get-version.sh mmn include/ap_mmn.h MODULE_MAGIC_NUMBER`
c12917da693bae4028a1d5a5e8224bceed8c739dsf REVISION=`build/get-version.sh all include/ap_release.h AP_SERVER`
eeb7898b9c087040d44550f8a6b1a257783c9f0ahumbedooh VERSION=`echo $REVISION | cut -d- -s -f1`
eeb7898b9c087040d44550f8a6b1a257783c9f0ahumbedooh RELEASE=`echo $REVISION | cut -d- -s -f2`
7705103518c61f7cdcd4041fe871cb45114f31a5rpluem if [ "x$VERSION" = "x" ]; then
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf VERSION=$REVISION
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf RELEASE=1
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf fi
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf cat ./build/rpm/httpd.spec.in | \
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf sed -e "s/APACHE_VERSION/$VERSION/" \
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf -e "s/APACHE_RELEASE/$RELEASE/" \
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf -e "s/APACHE_MMN/$VMMN/" \
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26sf > httpd.spec )
4576c1a9ef54cd1e5555ee07d016a7f559f80338sffi
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf# ensure that the mod_ssl expression parser sources are never regenerated
9811aed12bbc71783d2e544ccb5fecd193843eadsf# when running make
9811aed12bbc71783d2e544ccb5fecd193843eadsfecho fixing timestamps for mod_ssl sources
9811aed12bbc71783d2e544ccb5fecd193843eadsfcd modules/ssl
d58a822aff1dfda25384d3d009f88f1883c95436kbrandtouch ssl_expr_parse.y
d58a822aff1dfda25384d3d009f88f1883c95436kbrandsleep 1
d58a822aff1dfda25384d3d009f88f1883c95436kbrandtouch ssl_expr_parse.c ssl_expr_parse.h ssl_expr_scan.l
e02ff627c1e63137247e20493f6ef44b3bb1a095sfsleep 1
e02ff627c1e63137247e20493f6ef44b3bb1a095sftouch ssl_expr_scan.c
e02ff627c1e63137247e20493f6ef44b3bb1a095sfcd ../..
1366443dc565c33e7b449ae428bbfc4c86f33935drh
1366443dc565c33e7b449ae428bbfc4c86f33935drhexit 0
88fac54d9d64f85bbdab5d7010816f4377f95bd7rjung