Johannes Schlüter wrote: > On Tue, 2015-06-16 at 02:02 +0200, Christoph Becker wrote: >> Johannes Schlüter wrote: >> >>> It is not including the generated parsers. This means the user might use >>> a different version, which might cause a bug which might be hard to >>> debug as usage of provided files is assumed. >> >> Fair enough. However, the Windows sources neither contain the generated >> parser files, because they would break linking on Windows, see >> <http://news.php.net/php.internals/86685>. > > This is a bug and has to be addressed.
I have investigated further. The issue is commit b8e2629[1]. I'm certain that Sara had good reasons to mark zendparse() as ZEND_API. However, that breaks building with the generated zend_language_parser files with MSVC, if they have been generated with a somewhat recent bison (2.4.1 still works, 2.7.12 fails), because newer versions declare zendparse() again in .c and .h – without ZEND_API. It seems the only possibility to fix this mismatch would be to use a custom skeleton, but the /usr/share/bison/README states: | These skeletons are the only ones supported by the Bison team. | Because the interface between skeletons and the bison program is not | finished, *we are not bound to it*. In particular, Bison is not | mature enough for us to consider that "foreign skeletons" are | supported. So what to do? [1] <https://github.com/php/php-src/commit/b8e262901e56a4d9a6664d348c9878246579239e> -- Christoph M. Becker -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php