X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=buildconf;h=38969681ee2e95fb84f79a960fa3b87ba1ebe3b4;hb=33cfa9b34c0b93aa2c73ab1f618a2072f7db5b9e;hp=ee066b17a377e528b97c31be0ce3a3ae4ec00678;hpb=cc8900ed92830298a2cab6007c94e42d2a3d35db;p=apache diff --git a/buildconf b/buildconf index ee066b17a3..38969681ee 100755 --- a/buildconf +++ b/buildconf @@ -1,10 +1,11 @@ #!/bin/sh # -# Copyright 1999-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 +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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 # @@ -18,11 +19,23 @@ # buildconf: Build the support scripts needed to compile from a # checked-out version of the source code. +# version check for AC_PROG_CC_C99 +ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;q'` +case "$ac_version" in +# versions older than 2.50 are denied by AC_PREREQ +2.5*) + echo WARNING: You are using an outdated version of autoconf. + echo WARNING: This may lead to less than optimal performance of httpd. + echo WARNING: You should use autoconf 2.60 or newer. + sleep 1 + ;; +esac + # 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 +apr_src_dir="srclib/apr ../apr" +apu_src_dir="" while test $# -gt 0 do @@ -52,30 +65,57 @@ done # should_exit=0 +apr_found=0 +apu_found=0 +apr_major_version=2 + +for dir in $apr_src_dir +do + if [ -f "${dir}/build/apr_common.m4" ]; then + echo "found apr source: ${dir}" + apr_src_dir=$dir + apr_found=1 + break + fi +done -if [ ! -d "$apr_src_dir" -o ! -f "$apr_src_dir/build/apr_common.m4" ]; then +if [ $apr_found -lt 1 ]; 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 "APR could not be found automatically." echo "" - echo " cd srclib" - echo " svn co https://svn.apache.org/repos/asf/apr/apr/trunk apr" + echo "Please refer to the documentation on APR in the httpd INSTALL file." echo "" should_exit=1 +else + apr_major_version=`grep "#define APR_MAJOR_VERSION" \ + $apr_src_dir/include/apr_version.h | sed 's/[^0-9]//g'` 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 http://svn.apache.org/repos/asf/apr/apr-util/trunk apr-util" - echo "" - should_exit=1 + +if [ $apr_major_version -lt 2 ] ; then + if test -z "$apu_src_dir"; then + apu_src_dir=`echo $apr_src_dir | sed -e 's#/apr#/apr-util#g;'` + apu_src_dir="$apu_src_dir `echo $apr_src_dir | sed -e 's#/apr#/aprutil#;g'`" + apu_src_dir="$apu_src_dir srclib/apr-util ../apr-util" + fi + + for dir in $apu_src_dir + do + if [ -f "${dir}/Makefile.in" ]; then + echo "found apr-util source: ${dir}" + apu_src_dir=$dir + apu_found=1 + break + fi + done + + if [ $apu_found -lt 1 ]; then + echo "" + echo "You are using APR 1.x but APR-util 1.x was not found." + echo "" + echo "Please refer to the documentation on APR in the httpd INSTALL file." + echo "" + should_exit=1 + fi fi if [ $should_exit -gt 0 ]; then @@ -88,7 +128,7 @@ touch .deps rm -f aclocal.m4 rm -f generated_lists -# Remove autoconf 2.5x's cache directory +# Remove autoconf 2.5x cache directories rm -rf autom4te*.cache case "`uname`" in @@ -99,32 +139,44 @@ esac # end temporary stuff apr_configure="$apr_src_dir/configure" -aprutil_configure="$apu_src_dir/configure" -pcre_configure="srclib/pcre/configure" +if [ $apr_major_version -lt 2 ] ; then + aprutil_configure="$apu_src_dir/configure" +fi 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 +if [ "$apr_src_dir" = "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 - } +apr_src_dir=`cd $apr_src_dir && pwd` + +if [ $apr_major_version -lt 2 ] ; then + if [ "$apu_src_dir" = "srclib/apr-util" ]; then + echo rebuilding $aprutil_configure + (cd srclib/apr-util && ./buildconf --with-apr=$apr_src_dir) || { + echo "./buildconf failed for apr-util" + exit 1 + } + rm -f srclib/apr-util/apr-util.spec + fi + + apu_src_dir=`cd $apu_src_dir && pwd` 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 + $apr_src_dir/build/find_apr.m4 build +if [ $apr_major_version -lt 2 ] ; then + cp $apu_src_dir/build/find_apu.m4 build +fi # Remove any libtool files so one can switch between libtool 1.3 # and libtool 1.4 by simply rerunning the buildconf script. @@ -138,9 +190,6 @@ if [ -f $apr_src_dir/build/ltmain.sh ]; then cp $apr_src_dir/build/ltmain.sh build fi -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" @@ -149,12 +198,16 @@ echo rebuilding configure rm -f config.cache ${AUTOCONF:-autoconf} 2>&1 | grep -v "$cross_compile_warning" -# Remove autoconf 2.5x's cache directory +# Remove autoconf 2.5x cache directories rm -rf autom4te*.cache +# Remove possible bsd_converted file +rm -rf bsd_converted + if [ -f `which cut` ]; then echo rebuilding rpm spec file ( VMMN=`build/get-version.sh mmn include/ap_mmn.h MODULE_MAGIC_NUMBER` + EPOCH=`build/get-version.sh epoch include/ap_release.h AP_SERVER` 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` @@ -166,18 +219,17 @@ if [ -f `which cut` ]; then sed -e "s/APACHE_VERSION/$VERSION/" \ -e "s/APACHE_RELEASE/$RELEASE/" \ -e "s/APACHE_MMN/$VMMN/" \ + -e "s/APACHE_EPOCH/$EPOCH/" \ > httpd.spec ) fi -# ensure that the mod_ssl expression parser sources are never regenerated +# ensure that the ap_expr 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 +echo fixing timestamps for ap_expr sources +cd server +touch util_expr_parse.y util_expr_scan.l sleep 1 -touch ssl_expr_scan.c -cd ../.. +touch util_expr_parse.c util_expr_parse.h util_expr_scan.c +cd .. exit 0