summaryrefslogtreecommitdiff
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* decbin/decoct/dechex optimization.Dmitry Stogov2020-09-081-0/+38
|
* Add Z_PARAM_ITERABLE and coLevi Morrison2020-09-031-0/+2
|
* Check for duplicate names in gen_stub.phpTyson Andre2020-08-241-0/+6
| | | | | | | | | | | With named arguments in php 8.0, it's important that php's modules or PECL extensions using gen_stub.php don't generate functions with duplicate names. Warn if a parameter name is repeated, even if the last occurrence is a variadic parameter Closes GH-6035
* Remove custom hacks from gen_stub.php after PHP-Parser upgradeMáté Kocsis2020-08-231-5/+1
|
* Update PHP-Parser from 4.3.0 to 4.9.0Tyson Andre2020-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | PHP-Parser 4.3.0 failed to recognize that the `match` keyword could be used as a class constant name. 4.9.0 also adds support for keywords in namespaced names. See https://github.com/nikic/PHP-Parser/releases So forcing regeneration of spl_iterators.stub.php failed. PECL extensions using gen_stub.php would also be affected by the same issue. ``` ext/spl/spl_iterators.stub.php public function __construct(Iterator $iterator, string $regex, int $mode = self::MATCH, int $flags = 0, int $preg_flags = 0) {} ``` Testing: I successfully regenerated stubs by setting forceRegeneration to true and running `touch **/*.stub.php; make`. The stubs did not change, as expected. Closes GH-6036
* Check missing parameter types in stubsMáté Kocsis2020-08-131-4/+23
| | | | [skip ci] Closes GH-5627
* Recognize gnu-libiconv location on alpineNikita Popov2020-08-121-2/+8
|
* Fix crypt_r detection under BSD systemDavid Carlier2020-08-121-0/+11
| | | | | | | For BSD systems, crypt.h does not exist, instead we need to include unistd.h. Closes GH-5971.
* Fix m4 quotationNikita Popov2020-08-081-1/+1
| | | | | We should not try to expand AX_CHECK_COMPILE_FLAG inside the error message...
* Remove giconv supportNikita Popov2020-08-071-6/+1
| | | | | | | | The best information I was able to find about this is this mail from 2009 which indicates that giconv is an old FreeBSD iconv implementation that has long since been superseded by libiconv. https://lists.samba.org/archive/samba-technical/2009-June/065177.html
* Remove more leftovers of PHP_DEFINE handlingNikita Popov2020-08-072-14/+0
|
* Don't use PHP_DEFINE in iconvNikita Popov2020-08-072-5/+1
| | | | | | iconv is the only consumer of this custom define mechanism that puts every define into a single file. Use the standard mechanism instead.
* Use standard types in fopencookie testNikita Popov2020-08-051-4/+4
| | | | | Instead of internal __size_t / __off64_t types use ssize_t and off64_t. This makes it work on musl as well.
* Add compatibility define for PHP_CHECK_GCC_ARGNikita Popov2020-08-041-0/+4
| | | | This defines the m4 macro, but makes it always error.
* Bump libxml version requirement 2.7.6 => 2.9.0Dik Takken2020-08-031-1/+1
| | | | | | Since libxml version 2.9.0 external entity loading is disabled by default. Bumping the version requirement means that XML processing in PHP is no longer vulnerable to XXE processing attacks by default.
* Remove PHP_CHECK_GCC_ARG()Nikita Popov2020-07-291-24/+0
| | | | | | | In favor of AX_CHECK_COMPILE_FLAG(), which we bundle since at least PHP 7. Closes GH-5904.
* Merge branch 'PHP-7.4'Nikita Popov2020-07-291-2/+2
|\ | | | | | | | | * PHP-7.4: Fix #79895: support = in PHP_CHECK_GCC_ARG m4 macro
| * Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-07-291-2/+2
| |\ | | | | | | | | | | | | * PHP-7.3: Fix #79895: support = in PHP_CHECK_GCC_ARG m4 macro
* | | Support class+mask union for internal argumentNikita Popov2020-07-241-7/+14
| | |
* | | Remove no longer needed stdint compatibility definesNikita Popov2020-07-231-1/+3
| | | | | | | | | | | | Closes GH-5886.
* | | Fixed bug #79841Nikita Popov2020-07-131-2/+6
| | |
* | | Add support for forcing regeneration of arginfo filesMáté Kocsis2020-07-021-16/+16
| | | | | | | | | | | | Closes GH-5795
* | | Check that "tokenizer" extension is available in gen_stub.phpNikita Popov2020-07-021-0/+4
| | |
* | | Fixed bug #79737 (Building embed as static fails during install step).Dmitry Stogov2020-06-291-1/+1
| | |
* | | Include stub hash in generated arginfo filesNikita Popov2020-06-241-28/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hash is used to check whether the arginfo file needs to be regenerated. PHP-Parser will only be downloaded if this is actually necessary. This ensures that release artifacts will never try to regenerate stubs and thus fetch PHP-Parser, as long as you do not modify any files. Closes GH-5739.
* | | Clean up some unused code (and fix some comments) in build scriptsAlex Dowad2020-06-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix typo in build/php.m4 - Nothing uses HAVE_INTTYPES_H; so remove check for header file - Nothing defines ZEND_ACCONFIG_H_NO_C_PROTOS; so remove #ifndef - `format_money` was removed in 2019, so <monetary.h> no longer needed - Nothing uses HAVE_NETDB_H; so remove check for header file - Nothing checks HAVE_TERMIOS_H; so remove check for header file (This was actually added when Wez Furlong was adding the original implementation of PTY support in `proc_open`, since replaced.) - Nothing checks HAVE_SYS_AUXV_H; so remove check for header file - PHP_BUILD_DATE variable is not used for anything, so remove it This variable was added to the Makefile, but from there, was not used for anything. The comments suggest it was intended to allow 'reproducible builds'. Presumably, this means that if a bug is found in a PHP binary somewhere, one could look at the Makefile which it was built from, see the date, and then could check the same code version out from source control. But... there can easily be multiple commits to the repo in the same day. Also, what makes us think that the Makefile which a binary was built from will be easily available? Besides, ext/standard/info.c already embeds the build date and time in each binary... but it does it using `__DATE__` and `__TIME__` (see `php_print_info`). - Nothing checks HAVE_FINITE; so don't check for function - Grammar fix to comment in build/php.m4 - Nothing sets $php_ldflags_add_usr_lib variable in configure, so remove conditional This was added in 2002, when Rasmus was having difficulty building PHP on some host and needed to have /usr/lib in the rpath. It was never documented and probably has never been used by anyone else.
* | | Fix #78750: configure assumes yacc and re2c workPeter Kokot2020-06-091-0/+2
| | | | | | | | | | | | Closes GH-5681
* | | Unbundle ext/xmlrpcChristoph M. Becker2020-05-291-3/+1
| | | | | | | | | | | | | | | According to <https://wiki.php.net/rfc/unbundle_xmlprc> we unbundle ext/xmlrpc.
* | | Annotate internal functions with the mixed typeMáté Kocsis2020-05-251-2/+13
| | | | | | | | | | | | Closes GH-5618
* | | Remove generated zend_jit_x86.c upon make distcleanBob Weinand2020-05-141-0/+1
| | |
* | | Merge branch 'PHP-7.4'Nikita Popov2020-05-141-1/+3
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-7.4: Fix lcov genhtml: ERROR: cannot read [file] Properly detect CRC32 APIs on aarch64 from configure
| * | Fix lcov genhtml: ERROR: cannot read [file]Gerard Roche2020-05-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lcov is emitting several errors for generated regex files that have no code coverage data. The fix is to add the files to the lcov exlusion list. This is not an issue for CI because it uses gcovr to generate code coverage. The errors: Processing ext/date/lib/parse_date.gcda geninfo: WARNING: could not open /home/code/vendor/php/php-src/parse_date.re geninfo: WARNING: could not open /home/code/vendor/php/php-src/<stdout> geninfo: WARNING: some exclusion markers may be ignored Processing ext/date/lib/parse_tz.gcda Processing ext/date/lib/tm2unixtime.gcda Processing ext/date/lib/parse_iso_intervals.gcda geninfo: WARNING: could not open /home/code/vendor/php/php-src/<stdout> geninfo: WARNING: could not open /home/code/vendor/php/php-src/parse_iso_intervals.re geninfo: WARNING: some exclusion markers may be ignored ... genhtml: ERROR: cannot read /home/code/vendor/php/php-src/parse_date.re Processing file /home/code/vendor/php/php-src/parse_date.re make: *** [Makefile:443: lcov-html] Error 2 Closes GH-5568.
* | | Reapply "Remove configure checks for supported instruction sets"Nikita Popov2020-05-111-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I reverted this previously for 7.4 because of bug #78769. Relanding it now for master, because I still believe that this change is right, and if it causes complications, those indicate a bug elsewhere. --- 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.
* | | Merge branch 'PHP-7.4'Nikita Popov2020-05-111-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-7.4: Fix default sendmail path when not found during build
| * | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-05-111-1/+1
| |\ \ | | |/ | | | | | | | | | * PHP-7.3: Fix default sendmail path when not found during build
* | | manage ZEND_DEP_FALIAS in gen_stubRemi Collet2020-04-291-0/+7
| | |
* | | Merge branch 'PHP-7.4'Christoph M. Becker2020-04-291-0/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-7.4: Fix #79532: sizeof off_t can be wrong
| * | Fix #79532: sizeof off_t can be wrongChristoph M. Becker2020-04-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | We have to actually determine the proper `SIZEOF_OFF_T`. Interestingly, it is `4` on Windows x64. We also have to prevent the redefinition in pg_config.h. The clean solution would likely be to not include pg_config.h at all, but that's out of scope for BC reasons for now.
* | | Fix libtool to provide a simple way to generate only "shared" object files ↵Dmitry Stogov2020-04-273-2/+15
| | | | | | | | | | | | | | | | | | | | | or libraries. - Support for "-shared" option is taken from libtool-2.0 that is already at lease 15 years old. - Change PHP build system to use "-shared" instead of "--tag=disable-static".
* | | Drop unnecessary stdint and inttypes header checksGeorge Peter Banyard2020-04-221-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | These are always available as of C99. Closes GH-5323 Co-authored-by: "Christoph M. Becker" <cmbecker69@gmx.de>
* | | Make gen_stub parallelism safeNikita Popov2020-04-211-8/+29
| | | | | | | | | | | | | | | If PHP-Parser is not yet installed, make sure we don't try to install it N times in parallel.
* | | Remove support for EBCDICNikita Popov2020-04-201-1/+1
| | | | | | | | | | | | Closes GH-5390.
* | | Make gen_stub.php compatible with PHP 7.1 againNikita Popov2020-04-141-2/+2
| | | | | | | | | | | | Not worth bumping requirements over this...
* | | Generate method entries for ext/domMáté Kocsis2020-04-131-1/+1
| | | | | | | | | | | | Closes GH-5374
* | | Fix an undefined class error running gen_stub in php8Tyson Andre2020-04-112-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For whatever reason, php 8 would not have loaded the subsequent classes when running `php build/gen_stub.php path/to/filename.php`. I assume it didn't load the classes immediately because there's a possibility the code before it would throw. (Probably because __toString was added recently and prevents early binding) Also, fix a typo Closes GH-5369
* | | Generate method entries from stubs for a couple of extensionsMáté Kocsis2020-04-111-7/+7
| | | | | | | | | | | | Closes GH-5368
* | | Add support for generating method entries from stubsMáté Kocsis2020-04-111-48/+224
| | | | | | | | | | | | Closes GH-5363
* | | Store default parameter values of internal functions in arg infoMáté Kocsis2020-04-081-15/+50
| | | | | | | | | | | | | | | | | | | | | Closes GH-5353. From now on, PHP will have reflection information about default values of parameters of internal functions. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
* | | Move variable declaration closer to its usageMáté Kocsis2020-04-051-1/+1
| | |
* | | Improve gen_stub.phpMáté Kocsis2020-04-041-8/+22
| | | | | | | | | | | | | | | | | | Closes GH-5350 Add support for generating deprecated function entries, as well as forward declaration of function aliases.