| #!/bin/sh |
| # |
| # Copyright 2000-2004 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. |
| # |
| # |
| # buildconf: Build the support scripts needed to compile from a |
| # checked-out version of the source code. |
| |
| # set a couple of defaults for where we should be looking for our support libs. |
| # can be overridden with --with-apr=[dir] and --with-apr-util=[dir] |
| |
| apr_src_dir=srclib/apr |
| apu_src_dir=srclib/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 |
| ;; |
| esac |
| |
| case "$1" in |
| --with-apr-util=*) |
| apu_src_dir=$optarg |
| ;; |
| esac |
| |
| shift |
| done |
| |
| # |
| # Check to be sure that we have the srclib dependencies checked-out |
| # |
| |
| should_exit=0 |
| |
| if [ ! -d "$apr_src_dir" -o ! -f "$apr_src_dir/build/apr_common.m4" ]; then |
| echo "" |
| echo "You don't have a copy of the apr source in $apr_src_dir. " |
| echo "Please get the source using the following instructions," |
| echo "or specify the location of the source with " |
| echo "--with-apr=[path to apr] :" |
| echo "" |
| echo " cd srclib" |
| echo " svn co https://svn.apache.org/repos/asf/apr/apr/branches/0.9.x apr" |
| echo "" |
| should_exit=1 |
| fi |
| |
| if [ ! -d "$apu_src_dir" -o ! -f "$apu_src_dir/Makefile.in" ]; then |
| echo "" |
| echo "You don't have a copy of the apr-util source in $apu_src_dir. " |
| echo "Please get one the source using the following instructions, " |
| echo "or specify the location of the source with " |
| echo "--with-apr-util=[path to apr-util]:" |
| echo "" |
| echo " cd srclib" |
| echo " svn co https://svn.apache.org/repos/asf/apr/apr-util/branches/0.9.x apr-util" |
| echo "" |
| should_exit=1 |
| fi |
| |
| if [ $should_exit -gt 0 ]; then |
| exit 1 |
| fi |
| |
| # These are temporary until Roy finishes the other build changes |
| # |
| touch .deps |
| rm -f aclocal.m4 |
| rm -f generated_lists |
| |
| # Remove autoconf 2.5x's cache directory |
| rm -rf autom4te*.cache |
| |
| case "`uname`" in |
| *BSD/OS*) |
| ./build/bsd_makefile;; |
| esac |
| # |
| # end temporary stuff |
| |
| apr_configure="$apr_src_dir/configure" |
| aprutil_configure="$apu_src_dir/configure" |
| pcre_configure="srclib/pcre/configure" |
| config_h_in="include/ap_config_auto.h.in" |
| |
| cross_compile_warning="warning: AC_TRY_RUN called without default to allow cross compiling" |
| |
| if [ -d srclib/apr ]; then |
| echo rebuilding $apr_configure |
| (cd srclib/apr && ./buildconf) || { |
| echo "./buildconf failed for apr" |
| exit 1 |
| } |
| rm -f srclib/apr/apr.spec |
| fi |
| |
| if [ -d srclib/apr-util ]; then |
| echo rebuilding $aprutil_configure |
| (cd srclib/apr-util && ./buildconf) || { |
| echo "./buildconf failed for apr-util" |
| exit 1 |
| } |
| rm -f srclib/apr-util/apr-util.spec |
| fi |
| |
| echo copying build files |
| cp $apr_src_dir/build/config.guess $apr_src_dir/build/config.sub \ |
| $apr_src_dir/build/PrintPath $apr_src_dir/build/apr_common.m4 \ |
| $apr_src_dir/build/find_apr.m4 $apu_src_dir/build/find_apu.m4 build |
| |
| # Remove any libtool files so one can switch between libtool 1.3 |
| # and libtool 1.4 by simply rerunning the buildconf script. |
| (cd build ; rm -f ltconfig ltmain.sh) |
| |
| # Optionally copy libtool-1.3.x files |
| if [ -f $apr_src_dir/build/ltconfig ]; then |
| cp $apr_src_dir/build/ltconfig build |
| fi |
| if [ -f $apr_src_dir/build/ltmain.sh ]; then |
| cp $apr_src_dir/build/ltmain.sh build |
| 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 ../.. |
| |
| echo rebuilding $pcre_configure |
| (cd srclib/pcre && ${AUTOCONF:-autoconf}) |
| |
| echo rebuilding $config_h_in |
| rm -f $config_h_in |
| ${AUTOHEADER:-autoheader} 2>&1 | grep -v "$cross_compile_warning" |
| |
| echo rebuilding configure |
| rm -f config.cache |
| ${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning" |
| |
| # Remove autoconf 2.5x's cache directory |
| rm -rf autom4te*.cache |
| |
| echo rebuilding rpm spec file |
| ( VMMN=`build/get-version.sh mmn include/ap_mmn.h MODULE_MAGIC_NUMBER` |
| REVISION=`build/get-version.sh all include/ap_release.h AP_SERVER` |
| VERSION=`echo $REVISION | cut -d- -s -f1` |
| RELEASE=`echo $REVISION | cut -d- -s -f2` |
| 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 ) |
| |
| exit 0 |