buildconf revision 6c7c4bf3d26c01cce4d26526db94f17eb5a44396
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen#!/bin/sh
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# TODO - Steal the new PHP buildconf and build.mk.
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# This will do for now, though
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainensupplied_flag=$1
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# do some version checking for the tools we use
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenif test "$1" = "--force"; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen shift
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# this is a posix correct "test -nt"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenelif test "`ls -t buildconf buildconf.stamp 2>/dev/null |head -1`" != "buildconf"; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen :
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenelse
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: checking installation..."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen # autoconf will check for the version itself
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen # automake 1.4 or newer
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen am_version=`automake --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen if test "$am_version" = ""; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: automake not found."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " You need automake version 1.4 or newer installed"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " to build APACHE from CVS."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen exit 1
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen fi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen IFS=.; set $am_version; IFS=' '
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen if test "$1" = "1" -a "$2" -lt "4" || test "$1" -lt "1"; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: automake version $am_version found."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " You need automake version 1.4 or newer installed"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " to build APACHE from CVS."
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen exit 1
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen else
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: automake version $am_version (ok)"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen fi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen # libtool 1.3.3 or newer
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen lt_pversion=`libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//'`
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen if test "$lt_pversion" = ""; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: libtool not found."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " You need libtool version 1.3 or newer installed"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " to build APACHE from CVS."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen exit 1
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen fi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen IFS=.; set $lt_version; IFS=' '
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen if test "$1" -gt "1" || test "$2" -gt "3" || test "$2" = "3" -a "$3" -ge "3"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: libtool version $lt_pversion (ok)"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen else
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: libtool version $lt_pversion found."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " You need libtool version 1.3.3 or newer installed"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " to build APACHE from CVS."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen exit 1
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen fi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen touch buildconf.stamp
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenam_prefix=`which automake | sed -e 's#/[^/]*/[^/]*$##'`
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenlt_prefix=`which libtool | sed -e 's#/[^/]*/[^/]*$##'`
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenif test "$am_prefix" != "$lt_prefix"; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: WARNING: automake and libtool are installed in different"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " directories. This may cause aclocal to fail."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: continuing anyway"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenif test "$supplied_flag" = "--copy"; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen automake_flags=--copy
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen./helpers/build-acconfig-header
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenmv aclocal.m4 aclocal.m4.old 2>/dev/null
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenaclocal
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenif test "$?" != "0" -a "$am_prefix" != "$lt_prefix"; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: ERROR: aclocal failed, probably because automake and"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " libtool are installed with different prefixes;"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " automake is installed in $am_prefix, but libtool in $lt_prefix."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " Please re-install automake and/or libtool with a common prefix"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo " and try again."
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen exit 1
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenif cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: keeping aclocal.m4"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen mv aclocal.m4.old aclocal.m4
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenelse
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: created or modified aclocal.m4"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenautoheader
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# find all Makefile.ams
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfiles="Makefile `find ap lib main modules regex os -name Makefile.am | sed 's#\.am##' | tr '\n' ' '`"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# suppress stupid automake warning
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenautomake --add-missing --include-deps $automake_flags $files 2>&1 | grep -v \$APACHE_OUTPUT_FILES >&2
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenmv configure configure.old 2>/dev/null
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenautoconf
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenif cmp configure.old configure > /dev/null 2>&1; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: keeping configure"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen mv configure.old configure
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenelse
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: created or modified configure"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# Now do APR...
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenecho "buildconf: setting up APR"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
dcd50ecbfe796bd76f2d63483c534cc0e4e94164Timo Sirainencd lib/apr
dcd50ecbfe796bd76f2d63483c534cc0e4e94164Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenmv configure configure.old 2>/dev/null
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenautoconf
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenif cmp configure.old configure > /dev/null 2>&1; then
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: keeping configure"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen mv configure.old configure
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenelse
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen echo "buildconf: created or modified configure"
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenfi
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainencd ../..
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen# Now run the configs...
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenrm config.cache
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen./configure
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainencd lib/apr
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainenrm config.cache
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen./configure
1795e934ebcd58175d3b5bbdd811b13c7889efa3Timo Sirainen