#!/bin/sh supplied_flag=$1 # do some version checking for the tools we use if test "$1" = "--force"; then shift # this is a posix correct "test -nt" elif test "`ls -t buildconf buildconf.stamp 2>/dev/null |head -1`" != "buildconf"; then : else 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 "$ac_version" = ""; then echo "buildconf: autoconf not found." echo " You need autoconf version 2.13 or newer installed" echo " to build PHP 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 PHP from CVS." exit 1 else echo "buildconf: autoconf version $ac_version (ok)" fi # automake 1.4 or newer am_version=`automake --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'` if test "$am_version" = ""; then echo "buildconf: automake not found." echo " You need automake version 1.4 or newer installed" echo " to build PHP from CVS." exit 1 fi IFS=.; set $am_version; IFS=' ' if test "$1" = "1" -a "$2" -lt "4" || test "$1" -lt "1"; then echo "buildconf: automake version $am_version found." echo " You need automake version 1.4 or newer installed" echo " to build PHP from CVS." exit 1 else echo "buildconf: automake version $am_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 PHP 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 PHP from CVS." exit 1 fi touch buildconf.stamp fi am_prefix=`which automake | sed -e 's#/[^/]*/[^/]*$##'` lt_prefix=`which libtool | sed -e 's#/[^/]*/[^/]*$##'` if test "$am_prefix" != "$lt_prefix"; then echo "buildconf: WARNING: automake and libtool are installed in different" echo " directories. This may cause aclocal to fail." echo "buildconf: continuing anyway" fi if test "$supplied_flag" = "--copy"; then automake_flags=--copy fi if test ! -d libzend; then if test -d ../libzend; then echo "buildconf: linking ../libzend to ./libzend" ln -s ../libzend . else echo "buildconf: can not find libzend" echo " libzend should be installed in . or .., how to fetch:" echo "" echo " cvs -d :pserver:cvsread@cvs.zend.com:/repository login" echo " (password \"zend\")" echo " cvs -d :pserver:cvsread@cvs.zend.com:/repository co libzend" echo "" exit 1 fi fi if test ! -d TSRM; then if test -d ../TSRM; then echo "buildconf: linking ../TSRM to ./TSRM" ln -s ../TSRM . else echo "buildconf: can not find TSRM" echo " TSRM should be installed in . or .., how to fetch:" echo "" echo " cvs -d :pserver:cvsread@cvs.zend.com:/repository login" echo " (password \"zend\")" echo " cvs -d :pserver:cvsread@cvs.zend.com:/repository co TSRM" echo "" exit 1 fi fi ./scripts/preconfig rm -f ltmain.sh ltconfig libtoolize --automake --copy --force cat patch-?? | patch mv aclocal.m4 aclocal.m4.old 2>/dev/null aclocal if test "$?" != "0" -a "$am_prefix" != "$lt_prefix"; then echo "buildconf: ERROR: aclocal failed, probably because automake and" echo " libtool are installed with different prefixes;" echo " automake is installed in $am_prefix, but libtool in $lt_prefix." echo " Please re-install automake and/or libtool with a common prefix" echo " and try again." exit 1 fi if cmp aclocal.m4.old aclocal.m4 > /dev/null 2>&1; then echo "buildconf: keeping aclocal.m4" mv aclocal.m4.old aclocal.m4 else echo "buildconf: created or modified aclocal.m4" fi autoheader # find all Makefile.ams files=`find . -name Makefile.am | sed 's#\.am##' | tr '\n' ' '` # suppress stupid automake warning automake --add-missing --include-deps $automake_flags $files 2>&1 | grep -v \$PHP_OUTPUT_FILES >&2 mv configure configure.old 2>/dev/null autoconf if cmp configure.old configure > /dev/null 2>&1; then echo "buildconf: keeping configure" mv configure.old configure else echo "buildconf: created or modified configure" fi if test "$supplied_flag" != "--local"; then (cd libzend; ./buildconf $automake_flags libzend/) (cd TSRM; ./buildconf $automake_flags TSRM/) fi