Re: re2c version(s)
| From: | Dmitry Stogov | Date: | Fri, 13 Jul 2018 11:00:27 +0000 |
| Subject: | Re: re2c version(s) | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-102800@lists.php.net to get a copy of this message | ||
Hi Nikita,
OK. Dropping files and requirement for re2c 1.0.0. Right?
Thanks. Dmitry.
________________________________
From: Nikita Popov <nikita.ppv@gmail.com>
Sent: Friday, July 13, 2018 12:26:22 PM
To: Dmitry Stogov
Cc: PHP internals list; Stanislav Malyshev; derick@derickrethans.nl; Christoph M. Becker
Subject: Re: [PHP-DEV] re2c version(s)
On Fri, Jul 13, 2018 at 11:13 AM, Dmitry Stogov <dmitry@zend.com<mailto:dmitry@zend.com>> wrote:
Hi,
I think, many core developers saw unexpected changes in "zend_labguages_scanner.c" or
"var_unserializer.c" after rebuilds.
This occurs, because we use different versions of re2c, and some of them produce really different
code.
They also embed version number into the generate source. Currently different files in PHP source
tree generated by different re2c versions:
ext/json/json_scanner.c 0.16
ext/date/lib/parse_date.c 0.15.3
ext/date/lib/parse_iso_intervals.c 0.15.3
ext/pdo/pdo_sql_parser.c 0.16
ext/phar/phar_path_check.c 1.0.3
sapi/phpdbg/phpdbg_lexer.c 0.16
ext/standard/url_scanner_ex.c 0.16
ext/standard/var_unserializer.c 1.0.1
Zend/zend_ini_scanner.c 0.15
Zend/zend_language_scanner.c 1.0.1
I propose, to change build scripts (in master and PHP-7.3) to require at least re2c version 1.0.0
(it seems 1.0.0-1.0.3 produce the same result) and suppress version output into the generated files.
I'm not sure about timelib files.
Thanks. Dmitry.
I don't think normalizing the version really solves anything. These files should be dropped
from version control entirely instead. Generated files do not belong in version control.
re2c is widely available on Linux distros nowadays (probably specifically because PHP uses it) and
while there might have been historical ground to bundle these generated files, there no longer is
one.
Nikita