Skip to content

Commit d2fba68

Browse files
committed
Autotools: Set ext_srcdir, ext_dir and ext_builddir
Instead of setting these special variables only when PHP_NEW_EXTENSION is called these can be simply set before the extension or SAPI config m4 file is included (using the config-stubs or in phpize).
1 parent 5a42013 commit d2fba68

File tree

6 files changed

+22
-21
lines changed

6 files changed

+22
-21
lines changed

build/config-stubs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
dir=$1; shift
44
for stubfile in $dir/*/config0.m4 $dir/*/config.m4 $dir/*/config9.m4; do
55
echo "dnl Define where extension directories are located in the configure context
6-
AC_DEFUN([PHP_EXT_BUILDDIR], [$(dirname $stubfile)])
7-
AC_DEFUN([PHP_EXT_DIR], [$(dirname $stubfile)])
8-
AC_DEFUN([PHP_EXT_SRCDIR], [\$abs_srcdir/$(dirname $stubfile)])
6+
ext_builddir=$(dirname $stubfile)
7+
ext_dir=$(dirname $stubfile)
8+
ext_srcdir=\$abs_srcdir/$(dirname $stubfile)
9+
AC_DEFUN([PHP_EXT_BUILDDIR], [\$ext_builddir])
10+
AC_DEFUN([PHP_EXT_DIR], [\$ext_dir])
11+
AC_DEFUN([PHP_EXT_SRCDIR], [\$ext_srcdir])
912
sinclude($stubfile)"
1013
done

build/php.m4

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -936,10 +936,6 @@ dnl substituted.
936936
dnl "cxx" can be used to indicate that a C++ shared module is desired.
937937
dnl "zend_ext" indicates a zend extension.
938938
AC_DEFUN([PHP_NEW_EXTENSION],[
939-
ext_builddir=[]PHP_EXT_BUILDDIR()
940-
ext_srcdir=[]PHP_EXT_SRCDIR()
941-
ext_dir=[]PHP_EXT_DIR()
942-
943939
ifelse($5,,ac_extra=,[ac_extra=$(echo "m4_normalize(m4_expand([$5]))"|$SED s#@ext_srcdir@#$ext_srcdir#g|$SED s#@ext_builddir@#$ext_builddir#g)])
944940
945941
if test "$3" != "shared" && test "$3" != "yes" && test "$4" != "cli"; then

ext/hash/config.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ AS_VAR_IF([ac_cv_c_bigendian_php], [yes], [
3131
])
3232
EXT_HASH_SHA3_SOURCES="$SHA3_OPT_SRC $SHA3_DIR/KeccakHash.c $SHA3_DIR/KeccakSponge.c"
3333
PHP_HASH_CFLAGS="$PHP_HASH_CFLAGS -I@ext_srcdir@/$SHA3_DIR -DKeccakP200_excluded -DKeccakP400_excluded -DKeccakP800_excluded -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
34-
PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR()/$SHA3_DIR])
34+
PHP_ADD_BUILD_DIR([$ext_builddir/$SHA3_DIR])
3535
])
3636

3737
PHP_NEW_EXTENSION([hash], m4_normalize([
@@ -59,7 +59,7 @@ PHP_NEW_EXTENSION([hash], m4_normalize([
5959
]),
6060
[no],,
6161
[$PHP_HASH_CFLAGS])
62-
PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR()/murmur])
62+
PHP_ADD_BUILD_DIR([$ext_builddir/murmur])
6363
PHP_INSTALL_HEADERS([ext/hash], m4_normalize([
6464
php_hash_adler32.h
6565
php_hash_crc32.h

ext/mbstring/config.m4

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,11 @@ dnl
8181
dnl Setup the required bundled libmbfl.
8282
dnl
8383
AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [
84-
PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR()/libmbfl], [1])
84+
PHP_ADD_BUILD_DIR([$ext_builddir/libmbfl], [1])
8585
PHP_ADD_BUILD_DIR([
86-
PHP_EXT_BUILDDIR()/libmbfl/filters
87-
PHP_EXT_BUILDDIR()/libmbfl/mbfl
88-
PHP_EXT_BUILDDIR()/libmbfl/nls
86+
$ext_builddir/libmbfl/filters
87+
$ext_builddir/libmbfl/mbfl
88+
$ext_builddir/libmbfl/nls
8989
])
9090
PHP_MBSTRING_ADD_INCLUDE([libmbfl])
9191
PHP_MBSTRING_ADD_INCLUDE([libmbfl/mbfl])

ext/opcache/config.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ if test "$PHP_OPCACHE" != "no"; then
104104
AS_VAR_IF([ZEND_DEBUG], [yes], [JIT_CFLAGS="$JIT_CFLAGS -DIR_DEBUG"])
105105
106106
PHP_ADD_BUILD_DIR([
107-
PHP_EXT_BUILDDIR()/jit
108-
PHP_EXT_BUILDDIR()/jit/ir
107+
$ext_builddir/jit
108+
$ext_builddir/jit/ir
109109
])
110110
])
111111

scripts/phpize.m4

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,20 @@ AC_CONFIG_AUX_DIR([build])
1616
AC_PRESERVE_HELP_ORDER
1717

1818
PHP_CONFIG_NICE([config.nice])
19+
PHP_INIT_BUILD_SYSTEM
1920

20-
AC_DEFUN([PHP_EXT_BUILDDIR],[.])dnl
21-
AC_DEFUN([PHP_EXT_DIR],[""])dnl
22-
AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir])dnl
23-
AC_DEFUN([PHP_ALWAYS_SHARED],[
21+
ext_builddir=.
22+
ext_dir=""
23+
ext_srcdir=$abs_srcdir
24+
AC_DEFUN([PHP_EXT_BUILDDIR], [$ext_builddir])dnl
25+
AC_DEFUN([PHP_EXT_DIR], [$ext_dir])dnl
26+
AC_DEFUN([PHP_EXT_SRCDIR], [$ext_srcdir])dnl
27+
AC_DEFUN([PHP_ALWAYS_SHARED], [
2428
ext_output="yes, shared"
2529
ext_shared=yes
2630
test "[$]$1" = "no" && $1=yes
2731
])dnl
2832

29-
PHP_INIT_BUILD_SYSTEM
30-
3133
PKG_PROG_PKG_CONFIG
3234
AC_PROG_CC([cc gcc])
3335
PHP_DETECT_ICC

0 commit comments

Comments
 (0)