From: Roy T. Fielding Date: Sat, 24 Mar 2001 09:43:06 +0000 (+0000) Subject: Untangled the buildconf script and eliminated the need for build's X-Git-Tag: 2.0.15~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=30bf9d3e4217f6654d9be288db1162148aaf2517;p=apache Untangled the buildconf script and eliminated the need for build's aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other libtool muck that is now under srclib/apr/build. More to follow. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88570 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 3a82e28334..c60e589464 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,9 @@ Changes with Apache 2.0.15-dev + + *) Untangled the buildconf script and eliminated the need for build's + aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other + libtool muck that is now under srclib/apr/build. [Roy Fielding] + *) Win32: Don't accept more connections than we have worker threads to handle. [Bill Stoddard] diff --git a/acinclude.m4 b/acinclude.m4 index 90b91011b2..ecb2b35080 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -181,12 +181,6 @@ AC_DEFUN(APACHE_ONCE,[ fi ]) -sinclude(srclib/apr/build/apr_common.m4) -sinclude(srclib/apr/build/apr_network.m4) -sinclude(srclib/apr/build/apr_threads.m4) -sinclude(srclib/apr/build/apr_hints.m4) -sinclude(hints.m4) - dnl APACHE_MODPATH_INIT(modpath) AC_DEFUN(APACHE_MODPATH_INIT,[ current_dir=$1 diff --git a/build/build.mk b/build/build.mk deleted file mode 100644 index 8f01148f5e..0000000000 --- a/build/build.mk +++ /dev/null @@ -1,123 +0,0 @@ -# ==================================================================== -# The Apache Software License, Version 1.1 -# -# Copyright (c) 2000-2001 The Apache Software Foundation. All rights -# reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# 3. The end-user documentation included with the redistribution, -# if any, must include the following acknowledgment: -# "This product includes software developed by the -# Apache Software Foundation (http://www.apache.org/)." -# Alternately, this acknowledgment may appear in the software itself, -# if and wherever such third-party acknowledgments normally appear. -# -# 4. The names "Apache" and "Apache Software Foundation" must -# not be used to endorse or promote products derived from this -# software without prior written permission. For written -# permission, please contact apache@apache.org. -# -# 5. Products derived from this software may not be called "Apache", -# nor may "Apache" appear in their name, without prior written -# permission of the Apache Software Foundation. -# -# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR -# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# ==================================================================== -# -# This software consists of voluntary contributions made by many -# individuals on behalf of the Apache Software Foundation. For more -# information on the Apache Software Foundation, please see -# . -# -# The build environment was provided by Sascha Schumann. -# - -# -# Makefile to generate build tools -# - -STAMP = buildmk.stamp - -all: $(STAMP) generated_lists - @if [ ! -d srclib/apr -o ! -f srclib/apr/build/apr_common.m4 ]; then \ - echo "" ; \ - echo "You don't have a srclib/apr/ subdirectory. Please get one:" ; \ - echo "" ; \ - echo " cd srclib" ; \ - echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic login" ; \ - echo " (password 'anoncvs')" ; \ - echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic co apr" ; \ - echo "" ; \ - exit 1; \ - fi - @if [ ! -d srclib/apr-util -o ! -f srclib/apr-util/Makefile.in ]; then \ - echo "" ; \ - echo "You don't have a srclib/apr-util/ subdirectory. Please get one:" ; \ - echo "" ; \ - echo " cd srclib" ; \ - echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic login" ; \ - echo " (password 'anoncvs')" ; \ - echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic co apr-util" ; \ - echo "" ; \ - exit 1; \ - fi - @$(MAKE) AMFLAGS=$(AMFLAGS) -s -f build/build2.mk - -generated_lists: - @libpath=`build/PrintPath libtoolize`; \ - if [ "x$$libpath" = "x" ]; then \ - echo "libtoolize not found in path"; \ - exit 1; \ - fi; - @echo config_m4_files = `find . -name config*.m4` > $@ - @n=`build/PrintPath libtoolize`; echo libtool_prefix = `dirname $$n`/.. >> $@ - -$(STAMP): build/buildcheck.sh - @build/buildcheck.sh && touch $(STAMP) - -snapshot: - distname='$(DISTNAME)'; \ - if test -z "$$distname"; then \ - distname='apache2-snapshot'; \ - fi; \ - cd ..; \ - myname=`basename \`pwd\`` ; \ - cd .. && cp -rp $$myname $$distname; \ - cd $$distname/src; \ - find . -type l -exec rm {} \; ; \ - $(MAKE) AMFLAGS=--copy -f build/build.mk; \ - cd ../..; \ - tar cf $$distname.tar $$distname; \ - rm -rf $$distname $$distname.tar.*; \ - bzip2 -9 $$distname.tar; \ - bzip2 -t $$distname.tar.bz2 - -cvsclean: - @for i in `find . -name .cvsignore`; do \ - (cd `dirname $$i` 2>/dev/null && rm -rf `cat .cvsignore` *.o *.a || true); \ - done - @rm -f $(SUBDIRS) 2>/dev/null || true - -.PHONY: generated_lists snapshot cvsclean diff --git a/build/build2.mk b/build/build2.mk deleted file mode 100644 index 6c07b96581..0000000000 --- a/build/build2.mk +++ /dev/null @@ -1,124 +0,0 @@ -# ==================================================================== -# The Apache Software License, Version 1.1 -# -# Copyright (c) 2000-2001 The Apache Software Foundation. All rights -# reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# 3. The end-user documentation included with the redistribution, -# if any, must include the following acknowledgment: -# "This product includes software developed by the -# Apache Software Foundation (http://www.apache.org/)." -# Alternately, this acknowledgment may appear in the software itself, -# if and wherever such third-party acknowledgments normally appear. -# -# 4. The names "Apache" and "Apache Software Foundation" must -# not be used to endorse or promote products derived from this -# software without prior written permission. For written -# permission, please contact apache@apache.org. -# -# 5. Products derived from this software may not be called "Apache", -# nor may "Apache" appear in their name, without prior written -# permission of the Apache Software Foundation. -# -# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR -# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# ==================================================================== -# -# This software consists of voluntary contributions made by many -# individuals on behalf of the Apache Software Foundation. For more -# information on the Apache Software Foundation, please see -# . -# -# The build environment was provided by Sascha Schumann. -# - -include $(BUILD_BASE)/generated_lists - -TOUCH_FILES = mkinstalldirs install-sh missing - -config_h_in = include/ap_config_auto.h.in -apr_configure = srclib/apr/configure -mm_configure = srclib/apr/shmem/unix/mm/configure -pcre_configure = srclib/pcre/configure -aprutil_configure = srclib/apr-util/configure - -APACHE_TARGETS = $(TOUCH_FILES) configure $(config_h_in) - -APR_TARGETS = $(apr_configure) $(mm_configure) $(aprutil_configure) - -PCRE_TARGETS = $(pcre_configure) - -targets = .deps aclocal.m4 $(APACHE_TARGETS) $(APR_TARGETS) $(PCRE_TARGETS) - -cross_compile_warning = "warning: AC_TRY_RUN called without default to allow cross compiling" - -all: $(targets) - -.deps: - touch $@ - -libtool_m4 = $(libtool_prefix)/share/aclocal/libtool.m4 - -aclocal.m4: acinclude.m4 $(libtool_m4) - @echo rebuilding $@ - @echo "dnl THIS FILE IS AUTOMATICALLY GENERATED BY buildconf" >$@ - @echo "dnl edits here will be lost" >>$@ - @cat acinclude.m4 $(libtool_m4) >> $@ - -$(config_h_in): configure -# explicitly remove target since autoheader does not seem to work -# correctly otherwise (timestamps are not updated) - @echo rebuilding $@ - @rm -f $@ - ### the grep exits with (1), stopping the make... is there a way - ### to preserve autoheader's exit across the grep? - -autoheader 2>&1 | grep -v $(cross_compile_warning) - -$(TOUCH_FILES): - touch $(TOUCH_FILES) - -configure: aclocal.m4 configure.in $(config_m4_files) - @echo rebuilding $@ - rm -f config.cache - ### the grep exits with (1), stopping the make... is there a way - ### to preserve autoconf's exit across the grep? - -autoconf 2>&1 | grep -v $(cross_compile_warning) - -$(aprutil_configure): srclib/apr-util/configure.in - @echo rebuilding $@ - (cd srclib/apr-util && ./buildconf.sh) - -### we shouldn't (have to) know what goes into the configure script! -$(apr_configure): srclib/apr/configure.in - @echo rebuilding $@ - (cd srclib/apr && ./buildconf) - -$(pcre_configure): srclib/pcre/configure.in - @echo rebuilding $@ - (cd srclib/pcre && autoconf) - -$(mm_configure): $(mm_configure).in - @echo rebuilding $@ - (cd srclib/apr/shmem/unix/mm && autoconf) diff --git a/build/buildcheck.sh b/build/buildcheck.sh deleted file mode 100755 index 091a17be33..0000000000 --- a/build/buildcheck.sh +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -echo "buildconf: checking installation..." - -# autoconf 2.13 or newer -ac_version=`autoconf --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'` -if test -z "$ac_version"; then -echo "buildconf: autoconf not found." -echo " You need autoconf version 2.13 or newer installed" -echo " to build Apache from CVS." -exit 1 -fi -IFS=.; set $ac_version; IFS=' ' -if test "$1" = "2" -a "$2" -lt "13" || test "$1" -lt "2"; then -echo "buildconf: autoconf version $ac_version found." -echo " You need autoconf version 2.13 or newer installed" -echo " to build Apache from CVS." -exit 1 -else -echo "buildconf: autoconf version $ac_version (ok)" -fi - -# libtool 1.3.3 or newer -lt_pversion=`libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//'` -if test "$lt_pversion" = ""; then -echo "buildconf: libtool not found." -echo " You need libtool version 1.3 or newer installed" -echo " to build Apache from CVS." -exit 1 -fi -lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'` -IFS=.; set $lt_version; IFS=' ' -if test "$1" -gt "1" || test "$2" -gt "3" || test "$2" = "3" -a "$3" -ge "3" -then -echo "buildconf: libtool version $lt_pversion (ok)" -else -echo "buildconf: libtool version $lt_pversion found." -echo " You need libtool version 1.3.3 or newer installed" -echo " to build Apache from CVS." -exit 1 -fi - -exit 0 diff --git a/build/cvsclean b/build/cvsclean deleted file mode 100755 index e98ec49b76..0000000000 --- a/build/cvsclean +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh - -${MAKE:-make} -f build/build.mk cvsclean diff --git a/build/snapshot b/build/snapshot deleted file mode 100755 index 9553a753f9..0000000000 --- a/build/snapshot +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -test -n "$1" && ARG="DISTNAME='$1'" - -${MAKE:-make} $ARG -f build/build.mk snapshot diff --git a/buildconf b/buildconf index db3a1e8e9b..9823fe2ef3 100755 --- a/buildconf +++ b/buildconf @@ -1,13 +1,122 @@ #!/bin/sh +# ==================================================================== +# The Apache Software License, Version 1.1 +# +# Copyright (c) 2000-2001 The Apache Software Foundation. All rights +# reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# 3. The end-user documentation included with the redistribution, +# if any, must include the following acknowledgment: +# "This product includes software developed by the +# Apache Software Foundation (http://www.apache.org/)." +# Alternately, this acknowledgment may appear in the software itself, +# if and wherever such third-party acknowledgments normally appear. +# +# 4. The names "Apache" and "Apache Software Foundation" must +# not be used to endorse or promote products derived from this +# software without prior written permission. For written +# permission, please contact apache@apache.org. +# +# 5. Products derived from this software may not be called "Apache", +# nor may "Apache" appear in their name, without prior written +# permission of the Apache Software Foundation. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR +# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# ==================================================================== +# +# This software consists of voluntary contributions made by many +# individuals on behalf of the Apache Software Foundation. For more +# information on the Apache Software Foundation, please see +# . +# -BUILD_BASE=`pwd` -export BUILD_BASE +# buildconf: Build the support scripts needed to compile from a +# checked-out version of the source code. +# +# Check to be sure that we have the srclib dependencies checked-out +# +if [ ! -d srclib/apr -o ! -f srclib/apr/build/apr_common.m4 ]; then + echo "" + echo "You don't have a srclib/apr/ subdirectory. Please get one:" + echo "" + echo " cd srclib" + echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic login" + echo " (password 'anoncvs')" + echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic co apr" + echo "" + exit 1 +fi +if [ ! -d srclib/apr-util -o ! -f srclib/apr-util/Makefile.in ]; then + echo "" + echo "You don't have a srclib/apr-util/ subdirectory. Please get one:" + echo "" + echo " cd srclib" + echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic login" + echo " (password 'anoncvs')" + echo " cvs -d :pserver:anoncvs@apache.org:/home/cvspublic co apr-util" + echo "" + exit 1 +fi + +# These are temporary until Roy finishes the other build changes +# +touch .deps +rm -f aclocal.m4 rm -f generated_lists case "`uname`" in *BSD/OS*) ./build/bsd_makefile;; esac +# +# end temporary stuff + +apr_configure="srclib/apr/configure" +aprutil_configure="srclib/apr-util/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" + +echo rebuilding $apr_configure +(cd srclib/apr && ./buildconf) + +echo rebuilding $aprutil_configure +(cd srclib/apr-util && ./buildconf.sh) + +echo rebuilding $pcre_configure +(cd srclib/pcre && autoconf) + +echo rebuilding $config_h_in +rm -f $config_h_in +autoheader 2>&1 | grep -v "$cross_compile_warning" + +echo rebuilding configure +rm -f config.cache +autoconf 2>&1 | grep -v "$cross_compile_warning" -${MAKE:-make} -f build/build.mk ${1+"$@"} +exit 0 diff --git a/configure.in b/configure.in index e5eaa3a8a7..e5254f6dfd 100644 --- a/configure.in +++ b/configure.in @@ -9,7 +9,18 @@ AC_INIT(ABOUT_APACHE) AC_CONFIG_HEADER(include/ap_config_auto.h) AC_CONFIG_AUX_DIR(srclib/apr/build) - + +dnl # +dnl # Include our own M4 macros along with those for APR and libtool +dnl # +sinclude(srclib/apr/build/apr_common.m4) +sinclude(srclib/apr/build/apr_network.m4) +sinclude(srclib/apr/build/apr_threads.m4) +sinclude(srclib/apr/build/apr_hints.m4) +sinclude(srclib/apr/build/libtool.m4) +sinclude(hints.m4) +sinclude(acinclude.m4) + dnl Generate ./config.nice for reproducing runs of configure dnl APACHE_CONFIG_NICE(config.nice) @@ -20,9 +31,6 @@ test "$prefix" = "NONE" && prefix='/usr/local' dnl Absolute source/build directory abs_srcdir=`(cd $srcdir && pwd)` abs_builddir=`pwd` -aprbuild=$abs_srcdir/srclib/apr/build - -MKDIR=$abs_srcdir/srclib/apr/build/mkdir.sh dnl If the source dir is not equal to the build dir, dnl then we are running in VPATH mode. @@ -154,7 +162,7 @@ AM_PROG_LIBTOOL APACHE_LIBTOOL_SILENT if test "$apache_need_shared" = "yes"; then - $SHELL $aprbuild/ltconfig --output=shlibtool --disable-static --srcdir=$aprbuild --cache-file=./config.cache $aprbuild/ltmain.sh + $SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static --srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh case $PLATFORM in *os390) CFLAGS="$CFLAGS -Wc,DLL,EXPORTALL" @@ -267,7 +275,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "conf/$progname.conf", AC_DEFINE_UNQUOTED(APACHE_MPM_DIR, "$MPM_DIR", [Location of the source for the current MPM]) -perlbin=`$srcdir/build/PrintPath perl` +perlbin=`$ac_aux_dir/PrintPath perl` AC_SUBST(perlbin) dnl If we are running on BSD/OS, we need to use the BSD .include syntax.