On 14.01.2009, at 23:22, Stanislav Malyshev wrote:
Hi!
As many of you know, one can build PHP engine in a number of ways
which are binary-incompatible - debug/no debug, thread-safe/not
thread safe, etc. Also, for windows we have now anther dimension -
we could build with VC6, VC8, VC9, etc. Loading modules built with
another, binary incompatible version, could lead to crashes and
malfunctions, thus Zend extension and PHP extension loaders check
these options, stored in special structure, to match module ones
with engine ones.
Now the problem is that when we need to add dimensions, we will have
to change structures and maybe even edit some extensions, and as we
have more dimensions it becomes less manageable and more "hackish".
I think that it would be better if we adopted more clean and
scalable solution for that. I propose having one string build ID,
which would look something like: "API20071006,NTS,Debug,VC8" and
would be rquired to match exactly in the engine and the module. This
should be relatively easy to generate when compiling.
Pro:
1. Easy, robust and scalable way to match current and any future
build flavors
2. You can easily create "private" build flavors when testing binary-
incompatible changes
3. Build data is in readable form even inside binary, so binaries
could be automatically checked by Unix tools.
Contra:
1. Well, it's change :)
What do you think?
how much work will this be?
what kind of risk will it bring?
as in i guess its too late for beta1 .. i guess its not something that
forces us to stay at alpha, but will that change alone require another
beta before we go to RC?
regards,
Lukas
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php