mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Move acinclude.m4 to build/php.m4
The acinclude.m4 file is in a usual Autotools build processed with Automake's aclocal tool. Since PHP currently doesn't use Automake and aclocal this file can be moved into the build directory. PHP build system currently generates a combined aclocal.m4 file that Autoconf can processes automatically. However, a newer practice is writing all local macros in separate dedicated files prefixed with package name, in PHP's case PHP_MACRO_NAME and putting them in a common `m4` directory. PHP uses currently `build` directory for this purpose. Name `php.m4` probably most resembles such file for PHP's case. PHP manually created the aclocal.m4 file from acinclude.m4 and build/libtool.m4. Which is also not a particularly good practice [1], so this patch also removes the generated alocal.m4 usage and uses m4_include() calls manually in the configure.ac and phpize.m4 files manually. - sort order is not important but can be alphabetical - list of *.m4 files prerequisites for configure script generation updated - Moving m4_include() before AC_INIT also removes all comments starting with hash character (`#`) in the included files. [1] https://autotools.io/autoconf/macros.html
This commit is contained in:
parent
96a9fb2052
commit
4e7064d173
9 changed files with 33 additions and 33 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -38,9 +38,6 @@
|
||||||
# Standard object files generated during build process
|
# Standard object files generated during build process
|
||||||
*.o
|
*.o
|
||||||
|
|
||||||
# Generated by `./buildconf` or `phpize`
|
|
||||||
aclocal.m4
|
|
||||||
|
|
||||||
# Cache directories generated by Autoconf tools - autoconf, autoreconf...
|
# Cache directories generated by Autoconf tools - autoconf, autoreconf...
|
||||||
autom4te.cache/
|
autom4te.cache/
|
||||||
|
|
||||||
|
@ -174,7 +171,6 @@ php
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Extensions files additionally generated by `cd ext/name && phpize && ./configure`
|
# Extensions files additionally generated by `cd ext/name && phpize && ./configure`
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
/ext/*/acinclude.m4
|
|
||||||
/ext/*/build/
|
/ext/*/build/
|
||||||
/ext/*/configure.ac
|
/ext/*/configure.ac
|
||||||
/ext/*/run-tests.php
|
/ext/*/run-tests.php
|
||||||
|
|
|
@ -30,15 +30,11 @@ all: $(stamp) configure $(config_h_in)
|
||||||
$(stamp): build/buildcheck.sh
|
$(stamp): build/buildcheck.sh
|
||||||
@build/buildcheck.sh $@
|
@build/buildcheck.sh $@
|
||||||
|
|
||||||
configure: aclocal.m4 configure.ac $(PHP_M4_FILES)
|
configure: configure.ac $(PHP_M4_FILES)
|
||||||
@echo rebuilding $@
|
@echo rebuilding $@
|
||||||
@rm -f $@
|
@rm -f $@
|
||||||
@$(PHP_AUTOCONF) $(PHP_AUTOCONF_FLAGS)
|
@$(PHP_AUTOCONF) $(PHP_AUTOCONF_FLAGS)
|
||||||
|
|
||||||
aclocal.m4: configure.ac acinclude.m4
|
|
||||||
@echo rebuilding $@
|
|
||||||
@cat acinclude.m4 ./build/libtool.m4 > $@
|
|
||||||
|
|
||||||
$(config_h_in): configure
|
$(config_h_in): configure
|
||||||
# Explicitly remove target since autoheader does not seem to work correctly
|
# Explicitly remove target since autoheader does not seem to work correctly
|
||||||
# otherwise (timestamps are not updated). Also disable PACKAGE_* symbols in the
|
# otherwise (timestamps are not updated). Also disable PACKAGE_* symbols in the
|
||||||
|
|
|
@ -2751,13 +2751,3 @@ int main() {
|
||||||
AC_DEFINE_UNQUOTED(AS_TR_CPP([PHP_HAVE_$1_INSTRUCTIONS]),
|
AC_DEFINE_UNQUOTED(AS_TR_CPP([PHP_HAVE_$1_INSTRUCTIONS]),
|
||||||
[$have_ext_instructions], [Whether the compiler supports $1 instructions])
|
[$have_ext_instructions], [Whether the compiler supports $1 instructions])
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl Load the AX_CHECK_COMPILE_FLAG macro from the autoconf archive.
|
|
||||||
m4_include([build/ax_check_compile_flag.m4])
|
|
||||||
|
|
||||||
m4_include([build/ax_gcc_func_attribute.m4])
|
|
||||||
|
|
||||||
m4_include([build/php_cxx_compile_stdcxx.m4])
|
|
||||||
|
|
||||||
dnl Load pkg-config macros
|
|
||||||
m4_include([build/pkg.m4])
|
|
14
buildconf
14
buildconf
|
@ -27,12 +27,12 @@ while test $# -gt 0; do
|
||||||
PHP buildconf
|
PHP buildconf
|
||||||
|
|
||||||
A wrapper around the autoconf and autoheader that generate files for building
|
A wrapper around the autoconf and autoheader that generate files for building
|
||||||
PHP on *nix systems (configure, main/php_config.h.in, aclocal.m4...). The
|
PHP on *nix systems (configure and main/php_config.h.in). The configure script
|
||||||
configure script is used to customize the PHP build based on the provided
|
is used to customize the PHP build based on the provided options and system. PHP
|
||||||
options and system. PHP releases downloaded from PHP.net already include the
|
releases downloaded from PHP.net already include the configure script so
|
||||||
configure script so installing Autoconf and running buildconf is not needed. For
|
installing Autoconf and running buildconf is not needed. For the PHP sources
|
||||||
the PHP sources from the Git repository, buildconf is used for generating a new
|
from the Git repository, buildconf is used for generating a new configure script
|
||||||
configure script and required files.
|
and required files.
|
||||||
|
|
||||||
SYNOPSIS:
|
SYNOPSIS:
|
||||||
buildconf [<options>]
|
buildconf [<options>]
|
||||||
|
@ -103,4 +103,4 @@ $MAKE -s -f build/build.mk \
|
||||||
PHP_AUTOCONF="$PHP_AUTOCONF" \
|
PHP_AUTOCONF="$PHP_AUTOCONF" \
|
||||||
PHP_AUTOHEADER="$PHP_AUTOHEADER" \
|
PHP_AUTOHEADER="$PHP_AUTOHEADER" \
|
||||||
PHP_AUTOCONF_FLAGS="$autoconf_flags" \
|
PHP_AUTOCONF_FLAGS="$autoconf_flags" \
|
||||||
PHP_M4_FILES="$(echo TSRM/*.m4 Zend/Zend.m4 ext/*/config*.m4 sapi/*/config*.m4)"
|
PHP_M4_FILES="$(echo TSRM/*.m4 Zend/Zend.m4 build/*.m4 ext/*/config*.m4 sapi/*/config*.m4)"
|
||||||
|
|
10
configure.ac
10
configure.ac
|
@ -1,5 +1,15 @@
|
||||||
dnl ## Process this file with autoconf to produce a configure script.
|
dnl ## Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
|
dnl Include external macro definitions before the AC_INIT to also remove
|
||||||
|
dnl comments starting with # and empty newlines from the included files.
|
||||||
|
dnl -------------------------------------------------------------------------
|
||||||
|
m4_include([build/ax_check_compile_flag.m4])
|
||||||
|
m4_include([build/ax_gcc_func_attribute.m4])
|
||||||
|
m4_include([build/libtool.m4])
|
||||||
|
m4_include([build/php_cxx_compile_stdcxx.m4])
|
||||||
|
m4_include([build/php.m4])
|
||||||
|
m4_include([build/pkg.m4])
|
||||||
|
|
||||||
dnl Basic autoconf initialization, generation of config.nice.
|
dnl Basic autoconf initialization, generation of config.nice.
|
||||||
dnl -------------------------------------------------------------------------
|
dnl -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ The full syntax:
|
||||||
PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags]]])
|
PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags]]])
|
||||||
```
|
```
|
||||||
|
|
||||||
Please have a look at `acinclude.m4` for the gory details and meanings of the
|
Please have a look at `build/php.m4` for the gory details and meanings of the
|
||||||
other parameters.
|
other parameters.
|
||||||
|
|
||||||
And that's basically it for the extension side.
|
And that's basically it for the extension side.
|
||||||
|
@ -118,4 +118,4 @@ contexts. With the help of macros you can define special flags for each
|
||||||
source-file, where it is located, in which target context it can work, etc.
|
source-file, where it is located, in which target context it can work, etc.
|
||||||
|
|
||||||
Have a look at the well documented macros `PHP_ADD_SOURCES(_X)` in
|
Have a look at the well documented macros `PHP_ADD_SOURCES(_X)` in
|
||||||
`acinclude.m4`.
|
`build/php.m4`.
|
||||||
|
|
|
@ -14,7 +14,7 @@ BUILD_FILES = \
|
||||||
build/php_cxx_compile_stdcxx.m4 \
|
build/php_cxx_compile_stdcxx.m4 \
|
||||||
build/pkg.m4 \
|
build/pkg.m4 \
|
||||||
build/Makefile.global \
|
build/Makefile.global \
|
||||||
acinclude.m4 \
|
build/php.m4 \
|
||||||
run-tests.php
|
run-tests.php
|
||||||
|
|
||||||
BUILD_FILES_EXEC = \
|
BUILD_FILES_EXEC = \
|
||||||
|
|
|
@ -9,11 +9,11 @@ includedir="`eval echo @includedir@`/php"
|
||||||
builddir="`pwd`"
|
builddir="`pwd`"
|
||||||
SED="@SED@"
|
SED="@SED@"
|
||||||
|
|
||||||
FILES_BUILD="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"
|
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"
|
||||||
FILES="acinclude.m4 run-tests*.php"
|
FILES="run-tests*.php"
|
||||||
CLEAN_FILES="$FILES *.o *.lo *.la .libs/ build/ modules/ \
|
CLEAN_FILES="$FILES *.o *.lo *.la .libs/ build/ modules/ \
|
||||||
config.nice configure configure.ac \
|
config.nice configure configure.ac \
|
||||||
aclocal.m4 config.h config.h.in conftest* libtool config.cache autom4te.cache/ \
|
config.h config.h.in conftest* libtool config.cache autom4te.cache/ \
|
||||||
config.log config.status Makefile Makefile.fragments Makefile.objects confdefs.h \
|
config.log config.status Makefile Makefile.fragments Makefile.objects confdefs.h \
|
||||||
run-tests*.php tests/*.diff tests/*.exp tests/*.log tests/*.out tests/*.php"
|
run-tests*.php tests/*.diff tests/*.exp tests/*.log tests/*.out tests/*.php"
|
||||||
|
|
||||||
|
@ -146,7 +146,6 @@ phpize_copy_files()
|
||||||
|
|
||||||
(cd "$phpdir" && cp $FILES_BUILD "$builddir"/build)
|
(cd "$phpdir" && cp $FILES_BUILD "$builddir"/build)
|
||||||
(cd "$phpdir" && cp $FILES "$builddir")
|
(cd "$phpdir" && cp $FILES "$builddir")
|
||||||
(cd "$builddir" && cat acinclude.m4 ./build/libtool.m4 > aclocal.m4)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
phpize_replace_prefix()
|
phpize_replace_prefix()
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
dnl This file becomes configure.ac for self-contained extensions.
|
dnl This file becomes configure.ac for self-contained extensions.
|
||||||
|
|
||||||
|
dnl Include external macro definitions before the AC_INIT to also remove
|
||||||
|
dnl comments starting with # and empty newlines from the included files.
|
||||||
|
m4_include([build/ax_check_compile_flag.m4])
|
||||||
|
m4_include([build/ax_gcc_func_attribute.m4])
|
||||||
|
m4_include([build/libtool.m4])
|
||||||
|
m4_include([build/php_cxx_compile_stdcxx.m4])
|
||||||
|
m4_include([build/php.m4])
|
||||||
|
m4_include([build/pkg.m4])
|
||||||
|
|
||||||
AC_PREREQ([2.68])
|
AC_PREREQ([2.68])
|
||||||
AC_INIT
|
AC_INIT
|
||||||
AC_CONFIG_SRCDIR([config.m4])
|
AC_CONFIG_SRCDIR([config.m4])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue