buildconf revision 22ad84685642948ad15cc1e881ecbc4ac8cbf98c
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3Timo Sirainen#!/bin/sh
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen# TODO - Steal the new PHP buildconf and build.mk.
1ac19c5c2b66a12f5598792aad15114ee3eb62e2Timo Sirainen# This will do for now, though
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
b87761f9bbef949f31dae297e619ac3f5e9c2b2eTimo Sirainensupplied_flag=$1
b87761f9bbef949f31dae297e619ac3f5e9c2b2eTimo Sirainen
a99b64f7d63812806ee40c2e8a347343fa3b84a7Timo Sirainen# do some version checking for the tools we use
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenif test "$1" = "--force"; then
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen shift
0371406d952fe51367c7be91703e5634b7d9d225Timo Sirainen# this is a posix correct "test -nt"
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenelif test "`ls -t buildconf buildconf.stamp 2>/dev/null |head -1`" != "buildconf"; then
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen :
a99b64f7d63812806ee40c2e8a347343fa3b84a7Timo Sirainenelse
a99b64f7d63812806ee40c2e8a347343fa3b84a7Timo Sirainen echo "buildconf: checking installation..."
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen # autoconf will check for the version itself
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen # automake 1.4 or newer
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen am_version=`automake --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
22627da0fb77c1d0d9a8e8bc485ef5540b6f2e69Timo Sirainen if test "$am_version" = ""; then
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen echo "buildconf: automake not found."
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo " You need automake version 1.4 or newer installed"
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo " to build APACHE from CVS."
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen exit 1
6b2738c39a868ff9291867138c55029fc40cf105Timo Sirainen fi
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen IFS=.; set $am_version; IFS=' '
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen if test "$1" = "1" -a "$2" -lt "4" || test "$1" -lt "1"; then
6b2738c39a868ff9291867138c55029fc40cf105Timo Sirainen echo "buildconf: automake version $am_version found."
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen echo " You need automake version 1.4 or newer installed"
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen echo " to build APACHE from CVS."
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen exit 1
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainen else
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainen echo "buildconf: automake version $am_version (ok)"
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainen fi
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen
1d132fe27d010b73aacc605b4c6257b0079f9e97Timo Sirainen # libtool 1.3.3 or newer
6b2738c39a868ff9291867138c55029fc40cf105Timo Sirainen lt_pversion=`libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//'`
0dffa25d211be541ee3c953b23566a1a990789dfTimo Sirainen if test "$lt_pversion" = ""; then
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo "buildconf: libtool not found."
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo " You need libtool version 1.3 or newer installed"
1ac19c5c2b66a12f5598792aad15114ee3eb62e2Timo Sirainen echo " to build APACHE from CVS."
1ac19c5c2b66a12f5598792aad15114ee3eb62e2Timo Sirainen exit 1
1ac19c5c2b66a12f5598792aad15114ee3eb62e2Timo Sirainen fi
1ac19c5c2b66a12f5598792aad15114ee3eb62e2Timo Sirainen lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
1ac19c5c2b66a12f5598792aad15114ee3eb62e2Timo Sirainen IFS=.; set $lt_version; IFS=' '
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen if test "$1" -gt "1" || test "$2" -gt "3" || test "$2" = "3" -a "$3" -ge "3"
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen then
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo "buildconf: libtool version $lt_pversion (ok)"
6b2738c39a868ff9291867138c55029fc40cf105Timo Sirainen else
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo "buildconf: libtool version $lt_pversion found."
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo " You need libtool version 1.3.3 or newer installed"
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo " to build APACHE from CVS."
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen exit 1
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen fi
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen touch buildconf.stamp
4ee00532a265bdfb38539d811fcd12d51210ac35Timo Sirainenfi
1ac19c5c2b66a12f5598792aad15114ee3eb62e2Timo Sirainen
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenam_prefix=`which automake | sed -e 's#/[^/]*/[^/]*$##'`
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainenlt_prefix=`which libtool | sed -e 's#/[^/]*/[^/]*$##'`
68f0dfb4b2815ecbc1bd8d8a68adcfd577ec55aeTimo Sirainenif test "$am_prefix" != "$lt_prefix"; then
0dffa25d211be541ee3c953b23566a1a990789dfTimo Sirainen echo "buildconf: WARNING: automake and libtool are installed in different"
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo " directories. This may cause aclocal to fail."
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo "buildconf: continuing anyway"
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainenfi
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen
9c2b0eb659540b9db8dd3a8a6a2515921fbe8eebTimo Sirainenif test "$supplied_flag" = "--copy"; then
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen automake_flags=--copy
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainenfi
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen./helpers/build-acconfig-header
892b3cbf0eba9ba455448adcf71864a409345c6dTimo Sirainen
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainenmv aclocal.m4 aclocal.m4.old 2>/dev/null
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainenaclocal
0dffa25d211be541ee3c953b23566a1a990789dfTimo Sirainenif test "$?" != "0" -a "$am_prefix" != "$lt_prefix"; then
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen echo "buildconf: ERROR: aclocal failed, probably because automake and"
dc9de21d4375faeedbe5b7e941502ac578650da9Timo Sirainen echo " libtool are installed with different prefixes;"
0db5b158a00c08955bdacc99b1e2cd1ec07f4311Timo Sirainen echo " automake is installed in $am_prefix, but libtool in $lt_prefix."
0db5b158a00c08955bdacc99b1e2cd1ec07f4311Timo Sirainen echo " Please re-install automake and/or libtool with a common prefix"
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo " and try again."
d16b506f5540e3407d256bda35624b38a5ecf88fTimo Sirainen exit 1
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainenfi
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainen
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainenif cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then
6c2c5f20760b06bfb4a40b0ee2ef5ab016bc41f0Timo Sirainen echo "buildconf: keeping aclocal.m4"
5fbf8719b9ef072295c16bc4492f9f0ece92117dTimo Sirainen mv aclocal.m4.old aclocal.m4
5fbf8719b9ef072295c16bc4492f9f0ece92117dTimo Sirainenelse
554c1c792dc6fce1e25c74555c2da786bffde75fTimo Sirainen echo "buildconf: created or modified aclocal.m4"
554c1c792dc6fce1e25c74555c2da786bffde75fTimo Sirainenfi
5fbf8719b9ef072295c16bc4492f9f0ece92117dTimo Sirainen
5fbf8719b9ef072295c16bc4492f9f0ece92117dTimo Sirainenautoheader
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen# find all Makefile.ams
6df2db16b3920346ed07cefb86e8bdcb7e1faec5Timo Sirainenfiles="Makefile `find ap lib main modules regex os -name Makefile.am | sed 's#\.am##' | tr '\n' ' '`"
6df2db16b3920346ed07cefb86e8bdcb7e1faec5Timo Sirainen
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen# suppress stupid automake warning
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainenautomake --add-missing --include-deps $automake_flags $files 2>&1 | grep -v \$APACHE_OUTPUT_FILES >&2
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen
35f3b7e05afecacd0332c210c6e253911c2813d8Timo Sirainen
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainenmv configure configure.old 2>/dev/null
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainenautoconf
35f3b7e05afecacd0332c210c6e253911c2813d8Timo Sirainenif cmp configure.old configure > /dev/null 2>&1; then
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen echo "buildconf: keeping configure"
ab1b9a793d57a60c230a41f65f1a25d52c026233Timo Sirainen mv configure.old configure
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainenelse
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainen echo "buildconf: created or modified configure"
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainenfi
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainen
e8db44d3d542a8d29500ddfc0e7b51004345af36Timo Sirainen