- Improved php-config:

. Added --configure-options option to get configure line for current build
  . Added --php-sapis option which shows SAPIs available
  . Fixed problem with missing php binary when CLI is not build but CGI is.
- Fixed broken sed issues in phpize script
This commit is contained in:
foobar 2007-06-29 01:09:54 +00:00
parent e9658dfc4d
commit 68724e2489
5 changed files with 84 additions and 24 deletions

View File

@ -2590,8 +2590,8 @@ dnl
AC_DEFUN([PHP_CONFIG_NICE],[
AC_REQUIRE([AC_PROG_EGREP])
AC_REQUIRE([LT_AC_PROG_SED])
PHP_SUBST(EGREP)
PHP_SUBST(SED)
PHP_SUBST_OLD(EGREP)
PHP_SUBST_OLD(SED)
test -f $1 && mv $1 $1.old
rm -f $1.old
cat >$1<<EOF
@ -2620,18 +2620,20 @@ EOF
break;
fi
echo "'[$]arg' \\" >> $1
CONFIGURE_COMMAND="$CONFIGURE_COMMAND '[$]arg'"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '[$]arg'"
else
if test `expr -- $arg : "'--.*"` = 0; then
break;
fi
echo "[$]arg \\" >> $1
CONFIGURE_COMMAND="$CONFIGURE_COMMAND [$]arg"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS [$]arg"
fi
done
echo '"[$]@"' >> $1
chmod +x $1
CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS"
PHP_SUBST_OLD(CONFIGURE_COMMAND)
PHP_SUBST_OLD(CONFIGURE_OPTIONS)
])
dnl

View File

@ -1077,8 +1077,13 @@ if test "$PHP_SAPI_CLI" != "no"; then
PHP_CLI_TARGET="\$(SAPI_CLI_PATH)"
PHP_INSTALL_CLI_TARGET="install-cli"
PHP_ADD_SOURCES(sapi/cli, php_cli.c php_cli_readline.c getopt.c,, cli)
PHP_INSTALLED_SAPIS="cli $PHP_SAPI"
else
PHP_INSTALLED_SAPIS="$PHP_SAPI"
fi
PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
PHP_SUBST(PHP_CLI_TARGET)
PHP_SUBST(PHP_SAPI_OBJS)
PHP_SUBST(PHP_CLI_OBJS)

View File

@ -1,7 +1,7 @@
.TH php\-config 1 "2006" "The PHP Group" "Scripting Language"
.SH NAME
.TP 15
php\-config \- get information about PHP configuration
php\-config \- get information about PHP configuration and compile options
.SH SYNOPSIS
.B php\-config
[options]
@ -37,7 +37,15 @@ Directory prefix where header files are installed by default
.TP
.PD 0
.B \-\-php-binary
Full path to php CLI/CGI binary
Full path to php CLI or CGI binary
.TP
.PD 0
.B \-\-php-sapis
Show all SAPI modules available
.TP
.PD 0
.B \-\-configure-options
Configure options to recreate configuration of current PHP installation
.TP
.PD 0
.B \-\-version

View File

@ -1,10 +1,11 @@
#! /bin/sh
SED="@SED@"
prefix="@prefix@"
exec_prefix="@exec_prefix@"
version="@PHP_VERSION@"
version_id="@PHP_VERSION_ID@"
includedir="@includedir@/php"
vernum="@PHP_VERSION_ID@"
include_dir="@includedir@/php"
includes="-I$includedir -I$includedir/main -I$includedir/TSRM -I$includedir/Zend -I$includedir/ext -I$includedir/ext/date/lib"
ldflags="@PHP_LDFLAGS@"
libs="@EXTRA_LIBS@"
@ -12,30 +13,73 @@ extension_dir='@EXTENSION_DIR@'
program_prefix="@program_prefix@"
program_suffix="@program_suffix@"
exe_extension="@EXEEXT@"
php_binary="@bindir@/${program_prefix}php${program_suffix}${exe_extension}"
php_cli_binary=NONE
php_cgi_binary=NONE
configure_options="@CONFIGURE_OPTIONS@"
php_sapis="@PHP_INSTALLED_SAPIS@"
# Set php_cli_binary and php_cgi_binary if available
for sapi in $php_sapis; do
case $sapi in
cli)
php_cli_binary="@bindir@/${program_prefix}php${program_suffix}${exe_extension}"
;;
cgi)
php_cgi_binary="@bindir@/${program_prefix}php-cgi${program_suffix}${exe_extension}"
;;
esac
done
# Determine which (if any) php binary is available
if test "$php_cli_binary" != "NONE"; then
php_binary="$php_cli_binary"
else
php_binary="$php_cgi_binary"
fi
# Remove quotes
configure_options="`echo $configure_options | $SED -e "s#'##g"`"
case "$1" in
--prefix)
echo $prefix;;
echo $prefix;;
--includes)
echo $includes;;
echo $includes;;
--ldflags)
echo $ldflags;;
echo $ldflags;;
--libs)
echo $libs;;
echo $libs;;
--extension-dir)
echo $extension_dir;;
echo $extension_dir;;
--include-dir)
echo $includedir;;
echo $include_dir;;
--php-binary)
echo $php_binary;;
echo $php_binary;;
--php-sapis)
echo $php_sapis;;
--configure-options)
echo $configure_options;;
--version)
echo $version;;
echo $version;;
--vernum)
echo $version_id;;
echo $vernum;;
*)
echo "Usage: $0 [--prefix|--includes|--ldflags|--libs|--extension-dir|--include-dir|--php-binary|--version|--vernum]"
exit 1;;
cat << EOF
Usage: $0 [OPTION]
Options:
--prefix [$prefix]
--includes [$includes]
--ldflags [$ldflags]
--libs [$libs]
--extension-dir [$extension_dir]
--include-dir [$include_dir]
--php-binary [$php_binary]
--php-sapis [$php_sapis]
--configure-options [$configure_options]
--version [$version]
--vernum [$vernum]
EOF
exit 1;;
esac
exit 0

View File

@ -6,6 +6,7 @@ exec_prefix="`eval echo @exec_prefix@`"
phpdir="`eval echo @libdir@`/build"
includedir="`eval echo @includedir@`/php"
builddir="`pwd`"
SED="@SED@"
FILES_BUILD="mkdep.awk scan_makefile_in.awk shtool libtool.m4"
FILES="acinclude.m4 Makefile.global config.sub config.guess ltmain.sh run-tests*.php"
@ -56,9 +57,9 @@ phpize_check_configm4()
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//'`
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()
@ -131,7 +132,7 @@ phpize_copy_files()
phpize_replace_prefix()
{
sed \
$SED \
-e "s#@prefix@#$prefix#" \
< "$phpdir/phpize.m4" > configure.in
}