1
0
mirror of https://github.com/php/php-src.git synced 2026-04-23 07:58:20 +02:00
Commit Graph

343 Commits

Author SHA1 Message Date
Anatol Belski 66c85c3f2f Update bundled config.guess and config.sub 2020-02-15 13:43:31 +01:00
Xinchen Hui 9c5fb54c97 Improved the check
makefile.global is also used while building shared extension
2020-02-13 15:59:21 +08:00
Xinchen Hui 9e5650265c Fixed build (Only PHP above 7.1 could run the gen_stub.php) 2020-02-12 14:22:01 +08:00
Anatol Belski 538c088a82 Merge branch 'PHP-7.4'
* PHP-7.4:
  Update bundled stdxx check macros
2020-02-08 10:18:08 +01:00
Anatol Belski 34bab6c9fc Update bundled stdxx check macros 2020-02-08 10:13:46 +01:00
Akim Demaille 2127a37b83 Bison: enable all the warnings and fix them
First, fix 5547d36120: the definition of
YFLAGS was not passed into the Makefile: AC_SUBST does not suffice, we
need PHP_SUBST_OLD.  While at it, allow to pass variable and value at
the same time.

Then pass -Wall to bison, rather than only -Wempty-rules.

Use %precedence where associativity is useless.

Remove useless %precedence.
GH-5138
2020-02-01 14:21:21 +01:00
Akim Demaille 37d0f7d3b3 Use "%empty" in the parsers, instead of comments
The annotation %empty is properly enforced: warnings when it's
missing, and errors when it's inappropriate.  Support for %empty was
introduced in Bison 3.0.

Pass -Wempty-rule to Bison.

Closes GH-5134
2020-01-31 09:52:40 +01:00
Nikita Popov 5947437d47 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix bug #79112: IMAP can't find OpenSSL during configure
2020-01-20 09:59:40 +01:00
Nikita Popov 74380465ec Fix bug #79112: IMAP can't find OpenSSL during configure
Remove the check of PHP_OPENSSL inside SETUP_OPENSSL. It's the
responsibility of the caller to determine whether they want to
enable openssl or not. This makes SSL detection in IMAP work,
which uses a different option.

Additionally also clarify that --with-openssl-dir cannot actually
be used to specify an OpenSSL directory -- these options just
serve as a way to enable OpenSSL in extensions without also
enabling the OpenSSL extension. They need to be renamed to
something clearer in master.

Closes GH-5091.
2020-01-20 09:59:27 +01:00
Nikita Popov b509d67554 Merge branch 'PHP-7.4'
* PHP-7.4:
  Revert "Remove configure checks for supported instruction sets"
2019-11-04 11:34:02 +01:00
Nikita Popov 451314111b Revert "Remove configure checks for supported instruction sets"
This reverts commit edccf32f7f.

This was reported to cause issues for as yet unknown reasons in
bug #78769. As this was intended as code cleanup, revert this from
7.4 at least. May reapply it to master later.
2019-11-04 11:32:46 +01:00
Nikita Popov 1517bc4426 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove configure checks for supported instruction sets
2019-10-31 11:34:15 +01:00
Nikita Popov edccf32f7f Remove configure checks for supported instruction sets
These were checking whether the instruction set is supported by
the host CPU, however they were only used to condition on whether
this instruction set is targeted at all. It would still use dynamic
dispatch (e.g. based on ifunc resolvers) to select the actual
implementation. Whether the target is guaranteed to support the
instruction set without dispatch is determined based on pre-defined
macros like __SSE2__.

This removes the configure-time builtin cpu checks to remove
confusion. Additionally this allows targeting an architecture that
is newer than the host architecture.
2019-10-31 11:27:53 +01:00
Nikita Popov ad53bacf38 Fix bug #78681 by renaming libphp8.so to libphp.so
The major version number is no longer included.
2019-10-29 16:06:09 +01:00
Nikita Popov 9257fa79be Merge branch 'PHP-7.4'
* PHP-7.4:
  Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
2019-10-14 11:34:38 +02:00
Nikita Popov c518932c03 Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well 2019-10-14 11:33:39 +02:00
Nikita Popov 242b5547a2 Merge branch 'PHP-7.4' 2019-10-11 17:44:59 +02:00
Gerard Roche db54b0fa18 Azure: Publish code coverage results
* Add an Azure Publish Code Coverage Results task
* Add `make gcovr-html` to generate a gcovr test coverage report in HTML
* Add `make gcovr-xml` to generate a gcovr test coverage report in XML
* Remove `test` target dependency from `make lcov-html`;
  Run the two targets together instead: `make test lcov-html`.

Re: https://github.com/php/php-src/pull/4739#issuecomment-534911441

See: https://externals.io/message/107113,
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results?view=azure-devops,
and https://github.com/php/php-src/pull/4759.
2019-10-11 17:44:36 +02:00
Nikita Popov 393aa057d3 Merge branch 'PHP-7.4' 2019-10-11 16:51:50 +02:00
Nikita Popov 3718a95526 Remove configure checks for ltp when using --enable-gcov
gcov builds can also be used with other tools like gcovr, so remove
the hard dependency on LTP.
2019-10-11 16:51:03 +02:00
Dmitry Stogov 1bb1a1ee28 Revert "Don't buid static libaraies when only DSO required"
This reverts commit f633c34757.
2019-10-10 16:28:59 +03:00
Dmitry Stogov 3f069b19a0 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78614 (Does not compile with DTRACE anymore)
2019-10-04 10:10:53 +03:00
Dmitry Stogov 3ded328bea Fixed bug #78614 (Does not compile with DTRACE anymore) 2019-10-04 10:10:22 +03:00
Nikita Popov 2e6c91e3ab Merge branch 'PHP-7.4' 2019-09-25 10:19:34 +02:00
Gerard Roche 9cc1bf5628 Fix GCOV not working for PHP-7.4 and master branches
Code coverage reports (`make lcov`), since commit eef8522 (7.4 branch),
generates incorrect coverage and emits warnings. Simplifying the
Makefile.gcov file has the side-effect of resolving the issue.

    Processing sapi/cli/php_http_parser.gcda
    php-src/lcov_data/sapi/cli/php_http_parser.gcda:stamp mismatch with notes file
    geninfo: WARNING: gcov did not create any files for php-src/lcov_data/sapi/cli/php_http_parser.gcda!
    ...
    Processing ext/mbstring/mb_gpc.gcda
    php-src/lcov_data/ext/mbstring/mb_gpc.gcda:stamp mismatch with notes file
    geninfo: WARNING: gcov did not create any files for php-src/lcov_data/ext/mbstring/mb_gpc.gcda!

Closes: https://bugs.php.net/bug.php?id=52718.
See also: https://bugs.php.net/bug.php?id=78288.
2019-09-25 10:19:19 +02:00
Dmitry Stogov 3d59cec506 Merge branch 'PHP-7.4'
* PHP-7.4:
  Don't buid static libaraies when only DSO required
2019-09-19 23:46:45 +03:00
Dmitry Stogov f633c34757 Don't buid static libaraies when only DSO required 2019-09-19 23:44:53 +03:00
Florian Weimer aeaab8ee3e Port various autoconf bits to C99 compilers
C99 no longer has implicit function declarations and implicit ints.
Current GCC versions enable them as an extension, but this will
change in a future GCC version.
2019-09-10 12:32:14 +02:00
Nikita Popov 24d8cbce54 Fix gen_stubs with out-of-tree build
We need to prefix with $(top_srcdir).
2019-09-03 11:38:02 +02:00
Nikita Popov 33886f710c Generate arginfo from PHP stub files
Signature stubs for internal functions are specified in xyz.stub.php,
from which we generate actual arginfo structures in xyz_arginfo.h.
This file then needs to be included in the implementation appropriately.

Arginfo from stubs can be regenerated using scripts/dev/gen_stub.php.
However, this should also automatically happen when the stub file is
modified.
2019-08-09 14:51:25 +02:00
Peter Kokot f7f0b4c1dd Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove build.mk usage
2019-07-21 11:41:20 +02:00
Peter Kokot ef165b4422 Remove build.mk usage
First step when creating the `configure` script is currently using
make. This is helpful when developing buildsystem to only rebuild
`configure` and `main/php_config.h.in` files when one of the *.m4
or configure.ac file changes and saves the developer time a little.

Realistically however, it is not needed that much considering the
times of several seconds to fully rebuild the configure script and
configuration header. The next step when running the `configure`
script is much more time consuming so performance on buildconf
level is a bit questionable and won't be noticed on today's
systems.

Additionally:
- buildconf now removes cache and all targets and uses -f option on
  the first step i.e. autoconf. The autoheader does not need the -f
  option in this case.

Closes GH-4437
2019-07-21 11:40:23 +02:00
Peter Kokot f33d12096d Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove duplicate socklen_t check
2019-07-18 12:11:45 +02:00
Peter Kokot bbdbc2658c Remove duplicate socklen_t check
- Use Autoconf's default AC_CHECK_TYPES

Closes GH-4418
2019-07-18 12:11:19 +02:00
Peter Kokot 1a935e2662 Merge branch 'PHP-7.4'
* PHP-7.4:
  Refactor undefining PACKAGE_* symbols
2019-07-11 02:02:01 +02:00
Peter Kokot a6daded1a4 Refactor undefining PACKAGE_* symbols
Instead of patching configuration headers template generated by
the given tools - autoheader, this moves patching these symbols to
the configure step before creating and invoking the config.status
and before the configuration header file is generated from the
patched template.

Closes GH-4374
2019-07-11 02:00:51 +02:00
Peter Kokot 61809b19f7 Merge branch 'PHP-7.4'
* PHP-7.4:
  Refactor genif.sh
2019-07-08 14:59:40 +02:00
Peter Kokot 900de30b0f Refactor genif.sh
Changes:
- Coding style fixes
- ${1+"$@"} replaced with "$@" [1]
- EXTRA_MODULE_PTRS variable is not used anymore
- awk tool defined via environment variable
- srcdir determined automatically from the genif.sh location

[1] https://www.in-ulm.de/~mascheck/various/bourne_args/

Closes GH-4372
2019-07-08 14:58:26 +02:00
Peter Kokot 4f5c6bc15e Merge branch 'PHP-7.4'
* PHP-7.4:
  Simplify PHP_CHECK_PDO_INCLUDES calls
2019-07-08 10:26:08 +02:00
Peter Kokot a39ea91753 Simplify PHP_CHECK_PDO_INCLUDES calls
Conditional checks were once used for backwards compatibility with
phpize from PHP versions that didn't have this macro call yet.

Closes GH-4376
2019-07-08 10:24:41 +02:00
Peter Kokot c752b74665 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove some unused variables
2019-07-08 10:20:14 +02:00
Peter Kokot 5ba69ab3ad Remove some unused variables
- Variables php_abs_top_srcdir php_abs_top_builddir are no longer used.
- ZEND_EXT_TYPE is always zend_extension and variable is no longer used.

Closes GH-4378
2019-07-08 10:18:17 +02:00
Peter Kokot 04f9a523eb Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove PHP_DEBUG_MACRO
2019-07-07 12:16:14 +02:00
Peter Kokot 3bde4838f4 Remove PHP_DEBUG_MACRO
The macro is no longer used. The warning at the end of the configure
script therefore is also no longer used.
2019-07-07 12:15:36 +02:00
Peter Kokot 35709b56e4 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove some more Apache 1 left overs
2019-07-07 12:10:59 +02:00
Peter Kokot 49cc2a63b3 Remove some more Apache 1 left overs
- warning in configure.ac is relevant for the sapi/apache
- errors output redirected to /dev/null when checking Apache version
2019-07-07 12:09:19 +02:00
Peter Kokot d9630aee79 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove PHP_CHECK_CONFIGURE_OPTIONS
2019-07-02 22:22:07 +02:00
Peter Kokot 16df718251 Remove PHP_CHECK_CONFIGURE_OPTIONS
Instead of building a custom macro for checking configure options,
Autoconf 2.62+ already outputs a warning at the beginning and the end
of the output of configure script. It automatically detects correct
and wrong options better.

This is related also to bug #55634.

So now instead a better way is the default Autoconf approach:

This outputs a warning at the beginning and end of the configure output:

    ./configure --with-non-existing

This results in fatal error:

    ./configure --non-existing

    configure: error: unrecognized option: `--non-existing'
    Try `./configure --help' for more information

The `--enable-option-checking=fatal` results in fatal error for all non
existing options:

    ./configure --with-non-existing --enable-option-checking=fatal

    configure: error: unrecognized options: --with-non-existing

Closes GH-4348
2019-07-02 22:15:24 +02:00
Peter Kokot 8f1f4c7df6 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove warnings for bison and re2c checks
2019-06-27 01:00:33 +02:00
Peter Kokot 798fed3b0d Remove warnings for bison and re2c checks
This patch removes warnings when lexer and parser files are already
generated. For example, when downloading a PHP release. Realistically,
it is not so trivial to rebuild lexer and parser files without removing
them first. And considering that tarballs don't have cleaning tools
such as Git, this would require manual removali.

Related also to https://bugs.gentoo.org/593278
2019-06-27 00:59:59 +02:00