buildconf revision 22ad84685642948ad15cc1e881ecbc4ac8cbf98c
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington#!/bin/sh
3cae549ddb56c52c1f585dabd54da5b9d7edeeb9Automatic Updater
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# TODO - Steal the new PHP buildconf and build.mk.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence# This will do for now, though
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonsupplied_flag=$1
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence# do some version checking for the tools we use
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewsif test "$1" = "--force"; then
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews shift
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# this is a posix correct "test -nt"
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewselif test "`ls -t buildconf buildconf.stamp 2>/dev/null |head -1`" != "buildconf"; then
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews :
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewselse
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews echo "buildconf: checking installation..."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington # autoconf will check for the version itself
3cae549ddb56c52c1f585dabd54da5b9d7edeeb9Automatic Updater # automake 1.4 or newer
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein am_version=`automake --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein if test "$am_version" = ""; then
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo "buildconf: automake not found."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " You need automake version 1.4 or newer installed"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " to build APACHE from CVS."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington exit 1
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington fi
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington IFS=.; set $am_version; IFS=' '
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence if test "$1" = "1" -a "$2" -lt "4" || test "$1" -lt "1"; then
364a82f7c25b62967678027043425201a5e5171aBob Halley echo "buildconf: automake version $am_version found."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " You need automake version 1.4 or newer installed"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " to build APACHE from CVS."
600cfa2ba4c50017581b6c14e3a688a82ecebbe0David Lawrence exit 1
600cfa2ba4c50017581b6c14e3a688a82ecebbe0David Lawrence else
600cfa2ba4c50017581b6c14e3a688a82ecebbe0David Lawrence echo "buildconf: automake version $am_version (ok)"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington fi
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington # libtool 1.3.3 or newer
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein lt_pversion=`libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//'`
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein if test "$lt_pversion" = ""; then
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrence echo "buildconf: libtool not found."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " You need libtool version 1.3 or newer installed"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " to build APACHE from CVS."
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence exit 1
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence fi
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence IFS=.; set $lt_version; IFS=' '
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence if test "$1" -gt "1" || test "$2" -gt "3" || test "$2" = "3" -a "$3" -ge "3"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington then
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo "buildconf: libtool version $lt_pversion (ok)"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington else
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein echo "buildconf: libtool version $lt_pversion found."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " You need libtool version 1.3.3 or newer installed"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " to build APACHE from CVS."
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson exit 1
87cafc5e70f79f2586d067fbdd64f61bbab069d2David Lawrence fi
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson touch buildconf.stamp
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonfi
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafssonam_prefix=`which automake | sed -e 's#/[^/]*/[^/]*$##'`
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafssonlt_prefix=`which libtool | sed -e 's#/[^/]*/[^/]*$##'`
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafssonif test "$am_prefix" != "$lt_prefix"; then
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo "buildconf: WARNING: automake and libtool are installed in different"
91cd0f93ad34d23e8b09dca337120f64fbe8f0a1Andreas Gustafsson echo " directories. This may cause aclocal to fail."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo "buildconf: continuing anyway"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonfi
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonif test "$supplied_flag" = "--copy"; then
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington automake_flags=--copy
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonfi
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington./helpers/build-acconfig-header
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafssonmv aclocal.m4 aclocal.m4.old 2>/dev/null
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafssonaclocal
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafssonif test "$?" != "0" -a "$am_prefix" != "$lt_prefix"; then
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson echo "buildconf: ERROR: aclocal failed, probably because automake and"
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson echo " libtool are installed with different prefixes;"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " automake is installed in $am_prefix, but libtool in $lt_prefix."
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson echo " Please re-install automake and/or libtool with a common prefix"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo " and try again."
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington exit 1
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonfi
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonif cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo "buildconf: keeping aclocal.m4"
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington mv aclocal.m4.old aclocal.m4
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonelse
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington echo "buildconf: created or modified aclocal.m4"
8ec993c774d7c996cb266d0ff5f1282fa3940f09Evan Huntfi
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonautoheader
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington# find all Makefile.ams
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonfiles="Makefile `find ap lib main modules regex os -name Makefile.am | sed 's#\.am##' | tr '\n' ' '`"
8ec993c774d7c996cb266d0ff5f1282fa3940f09Evan Hunt
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington# suppress stupid automake warning
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellingtonautomake --add-missing --include-deps $automake_flags $files 2>&1 | grep -v \$APACHE_OUTPUT_FILES >&2
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
822f6cdabb1edd44472c7a758b5cae71376fa9beBrian Wellington
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austeinmv configure configure.old 2>/dev/null
2c9c7c5bb5975a18925c30aeb33a26094902f1c1Andreas Gustafssonautoconf
2c9c7c5bb5975a18925c30aeb33a26094902f1c1Andreas Gustafssonif cmp configure.old configure > /dev/null 2>&1; then
2c9c7c5bb5975a18925c30aeb33a26094902f1c1Andreas Gustafsson echo "buildconf: keeping configure"
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein mv configure.old configure
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austeinelse
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein echo "buildconf: created or modified configure"
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austeinfi
2c9c7c5bb5975a18925c30aeb33a26094902f1c1Andreas Gustafsson
2c9c7c5bb5975a18925c30aeb33a26094902f1c1Andreas Gustafsson