Hi Anatol,

On Tue, Feb 10, 2015 at 12:24 PM, Anatol Belski <anatol....@belski.net>
wrote:
>
> It's actually so that there is a range of tool versions supported. That
> means any version within the range should be valid for use. If another
> range of versions is defined, so it's obviously to follow it. It's good to
> make thoughts about the new features, but that'll be probably require
> updating the guidelines and changing the valid versions range.
>

First of all it's great that you are adding the the type and cross platform
fixes into json. I understand why you needed to regenerate the file.

As you say there is a supported range. The problem is that the range is too
high which is very limiting for adding new features at the moment. What I
don't want to do is to force all users compile the new tool version from
source because distros are still outdated . There also is no need to
require the new version for the whole PHP if it's needed just for json
generation.


> >
> > As I said in the PR. This change won't affect anyone who doesn't change
> > json scanner and parser which is 99% of all users that build PHP. The 1%
> > is probably just me so it's not really complicated IMHO...
> >
> > I would also like to add all of this to the json README (it's very
> > outdated and I plan to update it anyway) and possibly other build doc if
> > we have any.
> >
> Yeah, so why don't just push file and have it done? ATM there might be
> some fixes needed, so regeneration required. Later on it's supposed to be
> a very rare case - just in case of bugs or new development. Btw also
> people who don't have a required re2c/bison/etc version for whatever
> reasons would still be able to compile, test or develop other parts.
>
>
That's not actually completely true on linux. At least not on my platform.
I can recreate this on my system when I do following:

1. install a different version of re2c then the
one Zend/zend_language_scanner.c (e.g. 0.13.6)
2. git checkout master
3. ./configure ... && make
4. checkout PHP-5.6
5. checkout master
6. make
7. git status ( it shows Zend/zend_language_scanner.c as regenerated using
0.13.6 )

The fact that I checked out the 5.6 [4] (it doesn't have to be just 5.6 but
some other branch with more changes) and then back master [5] caused
regeneration zend_language_scanner.c in [6]. The point is that as soon as
you start changing branches often, it gets regenerated even if you don't
change it. And then you need to have the required version because otherwise
the build fails.

I want to prevent that for json generated files. This would be especially
visible for bison where the version differs more between users compare to
re2c where the most users are on 0.13.5. That's exactly what the PR
(config.m4 changes) does.

Cheers

Jakub

Reply via email to