diff options
author | Peter Kokot <peterkokot@gmail.com> | 2019-07-11 02:02:01 +0200 |
---|---|---|
committer | Peter Kokot <peterkokot@gmail.com> | 2019-07-11 02:02:01 +0200 |
commit | 1a935e266219aaeff17f0b48994be52cad12724a (patch) | |
tree | 634cc31f57ab2c5f6bde2a11aac744f7f63ce29d | |
parent | f99adb4bb5aab0ea059cf346eec49ea23f4e5da0 (diff) | |
parent | a6daded1a4b7d715d9b1585fe9df269ca73e2bac (diff) | |
download | php-git-1a935e266219aaeff17f0b48994be52cad12724a.tar.gz |
Merge branch 'PHP-7.4'
* PHP-7.4:
Refactor undefining PACKAGE_* symbols
-rw-r--r-- | build/build.mk | 4 | ||||
-rw-r--r-- | build/php.m4 | 16 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | scripts/phpize.in | 4 | ||||
-rw-r--r-- | scripts/phpize.m4 | 2 |
5 files changed, 23 insertions, 7 deletions
diff --git a/build/build.mk b/build/build.mk index 909b71637e..741857a5f2 100644 --- a/build/build.mk +++ b/build/build.mk @@ -34,9 +34,7 @@ configure: configure.ac $(PHP_M4_FILES) $(config_h_in): configure # Explicitly remove target since autoheader does not seem to work correctly -# otherwise (timestamps are not updated). Also disable PACKAGE_* symbols in the -# generated php_config.h.in template. +# otherwise (timestamps are not updated). @echo rebuilding $@ @rm -f $@ @$(PHP_AUTOHEADER) $(PHP_AUTOCONF_FLAGS) - @sed -e 's/^#undef PACKAGE_[^ ]*/\/\* & \*\//g' < $@ > $@.tmp && mv $@.tmp $@ diff --git a/build/php.m4 b/build/php.m4 index 2c38eee2d3..78def1cae8 100644 --- a/build/php.m4 +++ b/build/php.m4 @@ -2715,3 +2715,19 @@ int main() { AC_DEFINE_UNQUOTED(AS_TR_CPP([PHP_HAVE_$1_INSTRUCTIONS]), [$have_ext_instructions], [Whether the compiler supports $1 instructions]) ]) + +dnl +dnl PHP_PATCH_CONFIG_HEADERS([FILE]) +dnl +dnl PACKAGE_* symbols are automatically defined by Autoconf. When including +dnl configuration header, warnings about redefined symbols are emitted for such +dnl symbols if they are defined by multiple libraries. This disables all +dnl PACKAGE_* symbols in the generated configuration header template FILE. For +dnl example, main/php_config.h.in for PHP or config.h.in for PHP extensions. +dnl +AC_DEFUN([PHP_PATCH_CONFIG_HEADERS], [ + AC_MSG_NOTICE([patching $1]) + + $SED -e 's/^#undef PACKAGE_[^ ]*/\/\* & \*\//g' < $srcdir/$1 \ + > $srcdir/$1.tmp && mv $srcdir/$1.tmp $srcdir/$1 +]) diff --git a/configure.ac b/configure.ac index 404adbb86d..f608511852 100644 --- a/configure.ac +++ b/configure.ac @@ -27,6 +27,7 @@ PHP_CONFIG_NICE(config.nice) PHP_CANONICAL_HOST_TARGET AC_CONFIG_HEADERS([main/php_config.h]) + AH_TOP([ #ifndef PHP_CONFIG_H #define PHP_CONFIG_H @@ -1586,6 +1587,9 @@ $PHP_OUTPUT_FILES" dnl Generate build files. AC_CONFIG_FILES([$ALL_OUTPUT_FILES]) + +AC_CONFIG_COMMANDS_PRE([PHP_PATCH_CONFIG_HEADERS([main/php_config.h.in])]) + AC_CONFIG_COMMANDS([default],[ cat <<X diff --git a/scripts/phpize.in b/scripts/phpize.in index 0d89341a75..04864733ae 100644 --- a/scripts/phpize.in +++ b/scripts/phpize.in @@ -163,10 +163,6 @@ phpize_autotools() $PHP_AUTOCONF || exit 1 $PHP_AUTOHEADER || exit 1 - - # Disable PACKAGE_* symbols in config.h.in - $SED -e 's/^#undef PACKAGE_[^ ]*/\/\* & \*\//g' < config.h.in > config.h.in.tmp - mv config.h.in.tmp config.h.in } # Main script diff --git a/scripts/phpize.m4 b/scripts/phpize.m4 index f583a52146..cdd0e12989 100644 --- a/scripts/phpize.m4 +++ b/scripts/phpize.m4 @@ -210,4 +210,6 @@ test -d modules || $php_shtool mkdir modules AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_COMMANDS_PRE([PHP_PATCH_CONFIG_HEADERS([config.h.in])]) + AC_OUTPUT |