php-src/scripts/php-config.in
Adam Saponara 0c07b0d94f
Make --enable-embed libs respect --libdir
And make locatable by via `php-config`. Prior to this, `libphp.*`
would always install to `$prefix/lib`. After this, they will install
to `$libdir`.

In practice, this will make it so that programs embedding libphp can
use `php-config` to determine appropriate compile flags without
guessing.

In `configure.ac`, it seems `$libdir` is mutated in some instances.
Ideally the mutated version would be stored in `$phplibdir` or
something. Instead of tracking down all uses of that variable, I
introduced another variable `$orig_libdir` that holds the original
value passed to the configure script.

This is a no-op for users unless they are compiling with `--libdir`
set to something other than `$prefix/lib`, the default.

Closes GH-12389
2024-03-23 07:46:31 +01:00

113 lines
2.6 KiB
Bash

#! /bin/sh
SED="@SED@"
prefix="@prefix@"
datarootdir="@datarootdir@"
exec_prefix="@exec_prefix@"
version="@PHP_VERSION@"
vernum="@PHP_VERSION_ID@"
include_dir="@includedir@/php"
lib_dir="@orig_libdir@"
includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib"
ldflags="@PHP_LDFLAGS@"
libs="@EXTRA_LIBS@"
extension_dir='@EXTENSION_DIR@'
man_dir=`eval echo @mandir@`
program_prefix="@program_prefix@"
program_suffix="@program_suffix@"
exe_extension="@EXEEXT@"
php_cli_binary=NONE
php_cgi_binary=NONE
configure_options="@CONFIGURE_OPTIONS@"
php_sapis="@PHP_INSTALLED_SAPIS@"
ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@"
ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@"
php_embed_type="@PHP_EMBED_TYPE@"
# 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
# Set embed SAPI library path
if test "$php_embed_type" = "shared"; then
php_embed_lib=@SAPI_LIBNAME_SHARED@
elif test "$php_embed_type" = "static"; then
php_embed_lib=@SAPI_LIBNAME_STATIC@
fi
# Remove quotes
configure_options=`echo $configure_options | $SED -e "s#'##g"`
case "$1" in
--prefix)
echo $prefix;;
--includes)
echo $includes;;
--ldflags)
echo $ldflags;;
--libs)
echo $libs;;
--extension-dir)
echo $extension_dir;;
--include-dir)
echo $include_dir;;
--lib-dir)
echo $lib_dir;;
--lib-embed)
echo $php_embed_lib;;
--php-binary)
echo $php_binary;;
--php-sapis)
echo $php_sapis;;
--configure-options)
echo $configure_options;;
--man-dir)
echo $man_dir;;
--ini-path)
echo $ini_path;;
--ini-dir)
echo $ini_dir;;
--version)
echo $version;;
--vernum)
echo $vernum;;
*)
cat << EOF
Usage: $0 [OPTION]
Options:
--prefix [$prefix]
--includes [$includes]
--ldflags [$ldflags]
--libs [$libs]
--extension-dir [$extension_dir]
--include-dir [$include_dir]
--lib-dir [$lib_dir]
--lib-embed [$php_embed_lib]
--man-dir [$man_dir]
--php-binary [$php_binary]
--php-sapis [$php_sapis]
--ini-path [$ini_path]
--ini-dir [$ini_dir]
--configure-options [$configure_options]
--version [$version]
--vernum [$vernum]
EOF
exit 1;;
esac
exit 0