Commit a107e7b1 authored by Roy T. Fielding's avatar Roy T. Fielding
Browse files

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
parent 11848316
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
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]
+0 −6
Original line number Diff line number Diff line
@@ -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

build/build.mk

deleted100644 → 0
+0 −123
Original line number Diff line number Diff line
# ====================================================================
# 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
# <http://www.apache.org/>.
#
# 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

build/build2.mk

deleted100644 → 0
+0 −124
Original line number Diff line number Diff line
# ====================================================================
# 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
# <http://www.apache.org/>.
#
# 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)

build/buildcheck.sh

deleted100755 → 0
+0 −43
Original line number Diff line number Diff line
#! /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
Loading