php-src/scripts/phpize.in

176 lines
3.7 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# Variable declaration
prefix='@prefix@'
phpdir="@libdir@/build"
includedir="@includedir@/php"
2000-05-03 04:10:46 +08:00
builddir="`pwd`"
FILES_BUILD="mkdep.awk scan_makefile_in.awk shtool libtool.m4"
FILES="acinclude.m4 Makefile.global config.sub config.guess ltmain.sh"
CLEAN_FILES="$FILES *.o *.lo *.la .deps .libs/ build/ include/ modules/ install-sh \
mkinstalldirs missing config.nice config.sub config.guess configure configure.in \
aclocal.m4 config.h config.h.in conftest* ltmain.sh libtool config.cache autom4te.cache/ \
config.log config.status Makefile Makefile.fragments Makefile.objects confdefs.h"
2000-05-03 04:10:46 +08:00
# function declaration
phpize_usage()
{
echo "Usage: $0 [--clean|--help|--version|-v]"
}
phpize_no_configm4()
{
if test $@ -eq 1; then
clean=" --clean"
fi
echo "Cannot find config.m4. "
echo "Make sure that you run '$0$clean' in the top level source directory of the module"
echo
}
phpize_clean()
{
echo "Cleaning.."
for i in $CLEAN_FILES; do
test -e $i && rm -rf $i
done
}
phpize_check_configm4()
{
if test ! -r config.m4; then
phpize_no_configm4 $@
exit 1
fi
}
phpize_get_api_numbers()
{
# extracting API NOs:
PHP_API_VERSION=`egrep '#define PHP_API_VERSION' $includedir/main/php.h|sed 's/#define PHP_API_VERSION//'`
ZEND_MODULE_API_NO=`egrep '#define ZEND_MODULE_API_NO' $includedir/Zend/zend_modules.h|sed 's/#define ZEND_MODULE_API_NO//'`
ZEND_EXTENSION_API_NO=`egrep '#define ZEND_EXTENSION_API_NO' $includedir/Zend/zend_extensions.h|sed 's/#define ZEND_EXTENSION_API_NO//'`
}
phpize_print_api_numbers()
{
phpize_get_api_numbers
echo "Configuring for:"
echo "PHP Api Version: "$PHP_API_VERSION
echo "Zend Module Api No: "$ZEND_MODULE_API_NO
echo "Zend Extension Api No: "$ZEND_EXTENSION_API_NO
}
phpize_no_shtool()
{
cat <<EOF
shtool at '$builddir/build/shtool' not executable.
Make sure that the file exists and is executable and then rerun this script.
EOF
}
phpize_check_shtool()
{
test -x "$builddir/build/shtool" || chmod +x "$builddir/build/shtool"
if test ! -x "$builddir/build/shtool"; then
phpize_no_shtool
exit 1
else
php_shtool=$builddir/build/shtool
fi
}
phpize_check_autotools()
{
test -z "$PHP_AUTOCONF" && PHP_AUTOCONF=autoconf
test -z "$PHP_AUTOHEADER" && PHP_AUTOHEADER=autoheader
if ! test -x "`$php_shtool path $PHP_AUTOCONF`"; then
cat <<EOF
Cannot find autoconf. Please check your autoconf installation and the \$PHP_AUTOCONF
environment variable is set correctly and then rerun this script.
EOF
exit 1
fi
if ! test -x "`$php_shtool path $PHP_AUTOHEADER`"; then
cat <<EOF
Cannot find autoheader. Please check your autoconf installation and the \$PHP_AUTOHEADER
environment variable is set correctly and then rerun this script.
EOF
exit 1
fi
}
phpize_copy_files()
{
test -d build || mkdir build
2004-06-20 04:32:07 +08:00
(cd "$phpdir" && cp $FILES_BUILD "$builddir"/build)
(cd "$phpdir" && cp $FILES "$builddir")
(cd "$builddir" && cat acinclude.m4 ./build/libtool.m4 > aclocal.m4)
}
phpize_replace_prefix()
{
sed \
-e "s#@prefix@#$prefix#" \
< "$phpdir/phpize.m4" > configure.in
}
phpize_autotools()
{
$PHP_AUTOCONF || exit 1
$PHP_AUTOHEADER || exit 1
}
# Main script
case "$1" in
# Cleanup
2003-07-01 23:55:09 +08:00
--clean)
phpize_check_configm4 1
phpize_clean
exit 0
2003-07-01 23:55:09 +08:00
;;
# Usage
2003-07-01 23:55:09 +08:00
--help)
phpize_usage
exit 0
2003-07-01 23:55:09 +08:00
;;
# Version
--version|-v)
phpize_print_api_numbers
exit 0
;;
# Default
*)
phpize_check_configm4 0
phpize_print_api_numbers
phpize_copy_files
phpize_replace_prefix
touch install-sh mkinstalldirs missing
phpize_check_shtool
phpize_check_autotools
phpize_autotools
;;
esac
exit 0