#!/bin/sh

# do some version checking for the tools we use
if test "$1" = "--force"; then
    shift
elif test -r buildconf.stamp ; 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.2f 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" -ge "3" || test "$2" = "2" -a "$3" = "f"
    then
	echo "buildconf: libtool version $lt_pversion (ok)"
    else
	echo "buildconf: libtool version $lt_pversion found."
	echo "           You need libtool version 1.2f or newer installed"
	echo "           to build PHP from CVS."
	exit 1
    fi
    
    touch buildconf.stamp
fi

if test "$1" = "--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 .."
	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 .."
	exit 1
    fi
fi

./scripts/preconfig

libtoolize --automake $automake_flags --force

mv aclocal.m4 aclocal.m4.old 2>/dev/null
aclocal
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

automake --add-missing --include-deps $automake_flags

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

(cd libzend; ./buildconf libzend/)
(cd TSRM; ./buildconf TSRM/)
