From 381ac86f658ff61bdf5c7871f50d1881121e2ecb Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Thu, 4 Jul 2019 00:03:06 +0200 Subject: [PATCH 1/2] Remove PHP_DEFINE PHP_DEFINE was introduced with the PHP 5 build system 9d9d39a0de3bec962c343051011f5a2ed7d7b242 and then refactored via 350de12bc24472ccf20ff9a8b39a6da0185c070d. This simplifies includes. Also changed: - removed PHP_ATOM_INC define via DEFS variable - generated unused include directory removed - Remove include dir from DEFS - Remove also include dir from PDO checks --- .gitignore | 11 ----------- build/Makefile.global | 4 +--- build/php.m4 | 36 ++---------------------------------- configure.ac | 2 +- docs/unix-build-system.md | 2 -- ext/iconv/config.m4 | 21 +-------------------- ext/iconv/php_iconv.h | 12 ------------ 7 files changed, 5 insertions(+), 83 deletions(-) diff --git a/.gitignore b/.gitignore index 250a23efa2654..438f1bf7308dd 100644 --- a/.gitignore +++ b/.gitignore @@ -76,7 +76,6 @@ Makefile.fragments Makefile.objects # Directories for shared object files and headers generated by `./configure` -include/ libs/ modules/ @@ -86,16 +85,6 @@ modules/ config.h config.h.in /ext/date/lib/timelib_config.h -/ext/iconv/php_have_bsd_iconv.h -/ext/iconv/php_have_glibc_iconv.h -/ext/iconv/php_have_ibm_iconv.h -/ext/iconv/php_have_iconv.h -/ext/iconv/php_have_libiconv.h -/ext/iconv/php_iconv_aliased_libiconv.h -/ext/iconv/php_iconv_broken_ignore.h -/ext/iconv/php_iconv_supports_errno.h -/ext/iconv/php_php_iconv_h_path.h -/ext/iconv/php_php_iconv_impl.h /main/build-defs.h /main/php_config.h.in /main/php_config.h diff --git a/build/Makefile.global b/build/Makefile.global index 82e0d69f35e30..ad9cc0e562655 100644 --- a/build/Makefile.global +++ b/build/Makefile.global @@ -2,7 +2,7 @@ mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p INSTALL = $(top_srcdir)/build/shtool install -c INSTALL_DATA = $(INSTALL) -m 644 -DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir) +DEFS = -I$(top_builddir)/main -I$(top_srcdir) COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH) all: $(all_targets) @@ -123,12 +123,10 @@ distclean: clean rm -f ext/date/lib/timelib_config.h ext/mbstring/libmbfl/config.h ext/oci8/oci8_dtrace_gen.h ext/oci8/oci8_dtrace_gen.h.bak rm -f scripts/man1/phpize.1 scripts/php-config scripts/man1/php-config.1 sapi/cli/php.1 sapi/cgi/php-cgi.1 sapi/phpdbg/phpdbg.1 ext/phar/phar.1 ext/phar/phar.phar.1 rm -f sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html - rm -f ext/iconv/php_have_bsd_iconv.h ext/iconv/php_have_glibc_iconv.h ext/iconv/php_have_ibm_iconv.h ext/iconv/php_have_iconv.h ext/iconv/php_have_libiconv.h ext/iconv/php_iconv_aliased_libiconv.h ext/iconv/php_iconv_supports_errno.h ext/iconv/php_php_iconv_h_path.h ext/iconv/php_php_iconv_impl.h rm -f ext/phar/phar.phar ext/phar/phar.php if test "$(srcdir)" != "$(builddir)"; then \ rm -f ext/phar/phar/phar.inc; \ fi - $(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f prof-gen: CCACHE_DISABLE=1 $(MAKE) PROF_FLAGS=-fprofile-generate all diff --git a/build/php.m4 b/build/php.m4 index 3624a33a8eecd..9216749e1007b 100644 --- a/build/php.m4 +++ b/build/php.m4 @@ -69,15 +69,6 @@ AC_DEFUN([PHP_EXPAND_PATH],[ fi ]) -dnl -dnl PHP_DEFINE(WHAT [, value[, directory]]) -dnl -dnl Creates builddir/include/what.h and in there #define WHAT value. -dnl -AC_DEFUN([PHP_DEFINE],[ - [echo "#define ]$1[]ifelse([$2],,[ 1],[ $2])[" > ]ifelse([$3],,[include],[$3])[/php_]translit($1,A-Z,a-z)[.h] -]) - dnl dnl PHP_SUBST(varname) dnl @@ -135,12 +126,8 @@ dnl Creates build directories and Makefile placeholders. dnl AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[ AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl -test -d include || $php_shtool mkdir include > Makefile.objects > Makefile.fragments -dnl We need to play tricks here to avoid matching the grep line itself. -pattern=define -$EGREP $pattern'.*include/php' $srcdir/configure|$SED 's/.*>//'|xargs touch 2>/dev/null ]) dnl @@ -1940,19 +1927,6 @@ AC_DEFUN([PHP_SETUP_ICONV], [ found_iconv=no unset ICONV_DIR - dnl Create the directories for a VPATH build. - $php_shtool mkdir -p ext/iconv - - echo > ext/iconv/php_have_bsd_iconv.h - echo > ext/iconv/php_have_ibm_iconv.h - echo > ext/iconv/php_have_glibc_iconv.h - echo > ext/iconv/php_have_libiconv.h - echo > ext/iconv/php_have_iconv.h - echo > ext/iconv/php_php_iconv_impl.h - echo > ext/iconv/php_iconv_aliased_libiconv.h - echo > ext/iconv/php_php_iconv_h_path.h - echo > ext/iconv/php_iconv_supports_errno.h - dnl Check libc first if no path is provided in --with-iconv. if test "$PHP_ICONV" = "yes"; then dnl Reset LIBS temporarily as it may have already been included -liconv in. @@ -1962,8 +1936,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ found_iconv=yes ],[ AC_CHECK_FUNC(libiconv,[ - PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) - AC_DEFINE(HAVE_LIBICONV, 1, [ ]) + AC_DEFINE(HAVE_LIBICONV, 1, [Define to 1 if you have the libiconv]) found_iconv=yes ]) ]) @@ -1996,9 +1969,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ then PHP_CHECK_LIBRARY($iconv_lib_name, libiconv, [ found_iconv=yes - PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) AC_DEFINE(HAVE_LIBICONV,1,[ ]) - PHP_DEFINE([ICONV_ALIASED_LIBICONV],1,[ext/iconv]) AC_DEFINE([ICONV_ALIASED_LIBICONV],1,[iconv() is aliased to libiconv() in -liconv]) ], [ PHP_CHECK_LIBRARY($iconv_lib_name, iconv, [ @@ -2013,7 +1984,6 @@ AC_DEFUN([PHP_SETUP_ICONV], [ fi if test "$found_iconv" = "yes"; then - PHP_DEFINE(HAVE_ICONV,1,[ext/iconv]) AC_DEFINE(HAVE_ICONV,1,[ ]) if test -n "$ICONV_DIR"; then PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/$PHP_LIBDIR, $1) @@ -2162,9 +2132,7 @@ dnl PHP_CHECK_PDO_INCLUDES([found [, not-found]]) dnl AC_DEFUN([PHP_CHECK_PDO_INCLUDES],[ AC_CACHE_CHECK([for PDO includes], pdo_cv_inc_path, [ - if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then - pdo_cv_inc_path=$abs_srcdir/ext - elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then + if test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then pdo_cv_inc_path=$abs_srcdir/ext elif test -f $phpincludedir/ext/pdo/php_pdo_driver.h; then pdo_cv_inc_path=$phpincludedir/ext diff --git a/configure.ac b/configure.ac index 36c6e5e3e24d3..d4b5c1fb6103e 100644 --- a/configure.ac +++ b/configure.ac @@ -1501,7 +1501,7 @@ PHP_SUBST(all_targets) PHP_SUBST(install_targets) PHP_SUBST(install_binary_targets) -PHP_INSTALL_HEADERS([Zend/ TSRM/ include/ main/ main/streams/]) +PHP_INSTALL_HEADERS([Zend/ TSRM/ main/ main/streams/]) PHP_ADD_SOURCES(TSRM, TSRM.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) diff --git a/docs/unix-build-system.md b/docs/unix-build-system.md index c576b5e07566c..8e876540f0172 100644 --- a/docs/unix-build-system.md +++ b/docs/unix-build-system.md @@ -7,8 +7,6 @@ especially noticeable on slower systems * slow recursive make replaced with one global Makefile * eases integration of proper dependencies -* adds PHP_DEFINE(what[, value]) which creates a single include-file per what. - This will allow more fine-grained dependencies. * abandoning the "one library per directory" concept * improved integration of the CLI * several new targets: diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 index 460f3be5b1532..5e9579ceb115c 100644 --- a/ext/iconv/config.m4 +++ b/ext/iconv/config.m4 @@ -89,36 +89,24 @@ int main() { ]) fi - echo > ext/iconv/php_have_bsd_iconv.h - echo > ext/iconv/php_have_glibc_iconv.h - echo > ext/iconv/php_have_libiconv.h - echo > ext/iconv/php_have_ibm_iconv.h - case "$iconv_impl_name" in gnu_libiconv [)] - PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"],[ext/iconv]) AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use]) - PHP_DEFINE([HAVE_LIBICONV],1,[ext/iconv]) + AC_DEFINE(HAVE_LIBICONV, 1, [Define to 1 if you have the libiconv]) PHP_ADD_LIBRARY_WITH_PATH(iconv, "$PHP_ICONV_PREFIX/$PHP_LIBDIR", ICONV_SHARED_LIBADD) ;; bsd [)] - PHP_DEFINE([HAVE_BSD_ICONV],1,[ext/iconv]) AC_DEFINE([HAVE_BSD_ICONV],1,[Konstantin Chuguev's iconv implementation]) - PHP_DEFINE([PHP_ICONV_IMPL],[\"BSD iconv\"],[ext/iconv]) AC_DEFINE([PHP_ICONV_IMPL],["BSD iconv"],[Which iconv implementation to use]) ;; glibc [)] - PHP_DEFINE([HAVE_GLIBC_ICONV],1,[ext/iconv]) AC_DEFINE([HAVE_GLIBC_ICONV],1,[glibc's iconv implementation]) - PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"],[ext/iconv]) AC_DEFINE([PHP_ICONV_IMPL],["glibc"],[Which iconv implementation to use]) ;; ibm [)] - PHP_DEFINE([HAVE_IBM_ICONV],1,[ext/iconv]) AC_DEFINE([HAVE_IBM_ICONV],1,[IBM iconv implementation]) - PHP_DEFINE([PHP_ICONV_IMPL],[\"IBM iconv\"],[ext/iconv]) AC_DEFINE([PHP_ICONV_IMPL],["IBM iconv"],[Which iconv implementation to use]) ;; esac @@ -143,15 +131,12 @@ int main() { } ]])],[ AC_MSG_RESULT(yes) - PHP_DEFINE([ICONV_SUPPORTS_ERRNO],1,[ext/iconv]) AC_DEFINE([ICONV_SUPPORTS_ERRNO],1,[Whether iconv supports error no or not]) ],[ AC_MSG_RESULT(no) - PHP_DEFINE([ICONV_SUPPORTS_ERRNO],0,[ext/iconv]) AC_DEFINE([ICONV_SUPPORTS_ERRNO],0,[Whether iconv supports error no or not]) ],[ AC_MSG_RESULT(no, cross-compiling) - PHP_DEFINE([ICONV_SUPPORTS_ERRNO],0,[ext/iconv]) AC_DEFINE([ICONV_SUPPORTS_ERRNO],0,[Whether iconv supports error no or not]) ]) @@ -174,15 +159,12 @@ int main() { } ]])],[ AC_MSG_RESULT(yes) - PHP_DEFINE([ICONV_BROKEN_IGNORE],0,[ext/iconv]) AC_DEFINE([ICONV_BROKEN_IGNORE],0,[Whether iconv supports IGNORE]) ],[ AC_MSG_RESULT(no) - PHP_DEFINE([ICONV_BROKEN_IGNORE],1,[ext/iconv]) AC_DEFINE([ICONV_BROKEN_IGNORE],1,[Whether iconv supports IGNORE]) ],[ AC_MSG_RESULT(no, cross-compiling) - PHP_DEFINE([ICONV_BROKEN_IGNORE],0,[ext/iconv]) AC_DEFINE([ICONV_BROKEN_IGNORE],0,[Whether iconv supports IGNORE]) ]) @@ -192,7 +174,6 @@ int main() { #include FOO ]], [])], [ AC_MSG_RESULT([yes]) - PHP_DEFINE([PHP_ICONV_H_PATH], [<$PHP_ICONV_H_PATH>],[ext/iconv]) AC_DEFINE_UNQUOTED([PHP_ICONV_H_PATH], [<$PHP_ICONV_H_PATH>], [Path to iconv.h]) ], [ AC_MSG_RESULT([no]) diff --git a/ext/iconv/php_iconv.h b/ext/iconv/php_iconv.h index 980d84c945f9a..7a62b329d33f5 100644 --- a/ext/iconv/php_iconv.h +++ b/ext/iconv/php_iconv.h @@ -35,18 +35,6 @@ #include "php_version.h" #define PHP_ICONV_VERSION PHP_VERSION -#ifdef PHP_ATOM_INC -#include "ext/iconv/php_have_iconv.h" -#include "ext/iconv/php_have_libiconv.h" -#include "ext/iconv/php_iconv_aliased_libiconv.h" -#include "ext/iconv/php_have_glibc_iconv.h" -#include "ext/iconv/php_have_bsd_iconv.h" -#include "ext/iconv/php_have_ibm_iconv.h" -#include "ext/iconv/php_iconv_supports_errno.h" -#include "ext/iconv/php_php_iconv_impl.h" -#include "ext/iconv/php_php_iconv_h_path.h" -#endif - #ifdef HAVE_ICONV extern zend_module_entry iconv_module_entry; #define iconv_module_ptr &iconv_module_entry From d0d083ca994af8ce73a073a1f66fe8c3171c05a4 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Mon, 22 Jul 2019 02:10:20 +0200 Subject: [PATCH 2/2] Remove also unused HAVE_BSD_ICONV symbol --- ext/iconv/config.m4 | 1 - 1 file changed, 1 deletion(-) diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 index 5e9579ceb115c..aba612930e4c2 100644 --- a/ext/iconv/config.m4 +++ b/ext/iconv/config.m4 @@ -97,7 +97,6 @@ int main() { ;; bsd [)] - AC_DEFINE([HAVE_BSD_ICONV],1,[Konstantin Chuguev's iconv implementation]) AC_DEFINE([PHP_ICONV_IMPL],["BSD iconv"],[Which iconv implementation to use]) ;;