123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- #!/bin/sh
- # Variable declaration
- prefix='@prefix@'
- datarootdir='@datarootdir@'
- exec_prefix="`eval echo @exec_prefix@`"
- phpdir="`eval echo @libdir@`/build"
- includedir="`eval echo @includedir@`/php"
- builddir="`pwd`"
- SED="@SED@"
- FILES_BUILD="php.m4 shtool libtool.m4 ax_check_compile_flag.m4 ax_gcc_func_attribute.m4 php_cxx_compile_stdcxx.m4 pkg.m4 \
- config.guess config.sub ltmain.sh Makefile.global gen_stub.php"
- FILES="run-tests*.php"
- CLEAN_FILES="$FILES *.o *.lo *.la .libs/ build/ modules/ \
- config.nice configure configure.ac \
- config.h config.h.in conftest* libtool config.cache autom4te.cache/ \
- config.log config.status Makefile Makefile.fragments Makefile.objects confdefs.h \
- run-tests*.php tests/*.diff tests/*.exp tests/*.log tests/*.out tests/*.php"
- # 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
- if test -f "$i"; then
- rm -f $i
- elif test -d "$i"; then
- rm -rf $i
- fi
- 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=`grep '#define PHP_API_VERSION' $includedir/main/php.h|$SED 's/#define PHP_API_VERSION//'`
- ZEND_MODULE_API_NO=`grep '#define ZEND_MODULE_API_NO' $includedir/Zend/zend_modules.h|$SED 's/#define ZEND_MODULE_API_NO//'`
- ZEND_EXTENSION_API_NO=`grep '#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_check_build_files()
- {
- if test ! -d "$phpdir"; then
- cat <<EOF
- Cannot find build files at '$phpdir'. Please check your PHP installation.
- EOF
- exit 1
- fi
- case "$phpdir" in
- *\ * | *\ *)
- cat <<EOF
- Invalid source path '$phpdir'. Whitespace is not allowed in source path.
- EOF
- exit 1;;
- esac
- case "$builddir" in
- *\ * | *\ *)
- cat <<EOF
- Invalid build path '$builddir'. Whitespace is not allowed in build path.
- EOF
- exit 1;;
- esac
- }
- phpize_check_shtool()
- {
- test -x "$builddir/build/shtool" || chmod +x "$builddir/build/shtool"
- if test ! -x "$builddir/build/shtool"; then
- cat <<EOF
- shtool at '$builddir/build/shtool' does not exist or is not executable.
- Make sure that the file exists and is executable and then rerun this script.
- EOF
- 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_AUTOCONF" && test ! -x "`$php_shtool path $PHP_AUTOCONF`"; then
- cat <<EOF
- Cannot find autoconf. Please check your autoconf installation and the
- \$PHP_AUTOCONF environment variable. Then, rerun this script.
- EOF
- exit 1
- fi
- if test ! -x "$PHP_AUTOHEADER" && test ! -x "`$php_shtool path $PHP_AUTOHEADER`"; then
- cat <<EOF
- Cannot find autoheader. Please check your autoconf installation and the
- \$PHP_AUTOHEADER environment variable. Then, rerun this script.
- EOF
- exit 1
- fi
- }
- phpize_copy_files()
- {
- test -d build || mkdir build
- (cd "$phpdir" && cp $FILES_BUILD "$builddir"/build)
- (cd "$phpdir" && cp $FILES "$builddir")
- }
- phpize_replace_prefix()
- {
- $SED \
- -e "s#@prefix@#$prefix#" \
- < "$phpdir/phpize.m4" > configure.ac
- }
- phpize_autotools()
- {
- # Remove aclocal.m4 if present. It is automatically included by autoconf but
- # not used by the PHP build system since PHP 7.4.
- rm -f aclocal.m4
- $PHP_AUTOCONF || exit 1
- $PHP_AUTOHEADER || exit 1
- }
- # Main script
- case "$1" in
- # Cleanup
- --clean)
- phpize_check_configm4 1
- phpize_clean
- exit 0
- ;;
- # Usage
- --help)
- phpize_usage
- exit 0
- ;;
- # Version
- --version|-v)
- phpize_print_api_numbers
- exit 0
- ;;
- # Default
- *)
- phpize_check_configm4 0
- phpize_check_build_files
- phpize_print_api_numbers
- phpize_copy_files
- phpize_replace_prefix
- phpize_check_shtool
- phpize_check_autotools
- phpize_autotools
- ;;
- esac
- exit 0
|