FAQ

Stanislav Malyshev wrote:
I do not see any reason to suppose that - no more than building under
Linux or FreeBSD means that you have changed the source. And since re2c
is not supplied by any standard packages (cygwin, PHP build zip, etc.)
and as far as I am aware of no documentation exists on where to find it,
it would extremely confusing right now for people that just try to
download and build PHP to actually do it. I think the following should
be done:

1. Build should use .c versions without trying to rebuild them each time
(somehow doesn't work right now)
2. Configuration should not require re2c installed
First of all, re2c is easily available for windows - easier to find then
flex - just visit the re2c homepage and download the pre-compiled
binary. It's not in zip.zip yet, there is no need for it to be there
until we have a release that actually uses it. There's no documentation
in the manual yet, the stuff JUST went into CVS. There is other
documentation around telling you how to find re2c.

Secondly, my $0.02
1. If re2c IS found, try to rebuild the .c versions
2. If re2C is NOT found, use the .c versions in cvs
- this allows not making re2c required but letting people who do have
it get properly generated files every time

Search Discussions

  • Stanislav Malyshev at Mar 17, 2008 at 5:18 pm
    Hi!
    First of all, re2c is easily available for windows - easier to find then
    flex - just visit the re2c homepage and download the pre-compiled
    Flex is installed by cygwin (which everybody that does anything with
    builds on windows knows about), re2c isn't. Granted, it can be located
    after googling for re2c, but why make the builder jump through the
    unnecessary hoops?
    Secondly, my $0.02
    1. If re2c IS found, try to rebuild the .c versions
    2. If re2C is NOT found, use the .c versions in cvs
    - this allows not making re2c required but letting people who do have
    it get properly generated files every time
    I'd prefer it to not build .c unless needed (which means shouldn't build
    on fresh checkout) but that one would be acceptable too.
    --
    Stanislav Malyshev, Zend Software Architect
    stas@zend.com http://www.zend.com/
    (408)253-8829 MSN: stas@zend.com
  • Steph Fox at Mar 17, 2008 at 5:21 pm

    Flex is installed by cygwin (which everybody that does anything with
    builds on windows knows about), re2c isn't. Granted, it can be located
    after googling for re2c, but why make the builder jump through the
    unnecessary hoops?
    Most of us don't use cygwin... the only reason I even have it installed is
    docs. And I _never_ mix cygwin with native binaries!

    - Steph
  • Pierre Joye at Mar 17, 2008 at 5:25 pm

    On Mon, Mar 17, 2008 at 6:18 PM, Stanislav Malyshev wrote:
    Hi!

    First of all, re2c is easily available for windows - easier to find then
    flex - just visit the re2c homepage and download the pre-compiled
    Flex is installed by cygwin (which everybody that does anything with
    builds on windows knows about), re2c isn't. Granted, it can be located
    after googling for re2c,
    I don't use cygwin's flex and don't use cygwin at all to build php, irrc :)
    but why make the builder jump through the unnecessary hoops?
    It is a documentation problem, adding a note to a README and in the
    manual will fix it. This move is really a good thing.

    Cheers,
  • Marcus Boerger at Mar 20, 2008 at 10:10 am
    Hello Stanislav,

    since when does building PHP on windows require anything of Cygwin?
    In fact those are two completely different platforms. Not that PHP and re2c
    wouldn't both support both. However I do not see a reason to require re2c
    after all when finding a way around the -g switch. That is we would need to
    make sure that on windows you get a .c that wasn't created with re2c's -g
    switch in use. Also I am wondering now why cygwin doesn't ship re2c, some
    time ago they did. Seems like I have to cook a new package fro them.

    marcus

    Monday, March 17, 2008, 6:18:15 PM, you wrote:
    Hi!
    First of all, re2c is easily available for windows - easier to find then
    flex - just visit the re2c homepage and download the pre-compiled
    Flex is installed by cygwin (which everybody that does anything with
    builds on windows knows about), re2c isn't. Granted, it can be located
    after googling for re2c, but why make the builder jump through the
    unnecessary hoops?
    Secondly, my $0.02
    1. If re2c IS found, try to rebuild the .c versions
    2. If re2C is NOT found, use the .c versions in cvs
    - this allows not making re2c required but letting people who do have
    it get properly generated files every time
    I'd prefer it to not build .c unless needed (which means shouldn't build
    on fresh checkout) but that one would be acceptable too.
    --
    Stanislav Malyshev, Zend Software Architect
    stas@zend.com http://www.zend.com/
    (408)253-8829 MSN: stas@zend.com



    Best regards,
    Marcus
  • Steph Fox at Mar 17, 2008 at 5:21 pm

    Secondly, my $0.02
    1. If re2c IS found, try to rebuild the .c versions
    2. If re2C is NOT found, use the .c versions in cvs
    - this allows not making re2c required but letting people who do have
    it get properly generated files every time
    Sounds like a plan. (And to pierre too.)

    - Steph
    --
    PHP Internals - PHP Runtime Development Mailing List
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Derick Rethans at Mar 20, 2008 at 10:57 am

    On Mon, 17 Mar 2008, Elizabeth M Smith wrote:

    1. If re2c IS found, try to rebuild the .c versions
    2. If re2C is NOT found, use the .c versions in cvs
    - this allows not making re2c required but letting people who do have
    it get properly generated files every time
    Actually, it should behave like with flex: only rebuild when it is
    necessary (due to the file being touched).

    regards,
    Derick
  • Pierre Joye at Mar 20, 2008 at 11:16 am

    On Thu, Mar 20, 2008 at 11:57 AM, Derick Rethans wrote:
    On Mon, 17 Mar 2008, Elizabeth M Smith wrote:

    1. If re2c IS found, try to rebuild the .c versions
    2. If re2C is NOT found, use the .c versions in cvs
    - this allows not making re2c required but letting people who do have
    it get properly generated files every time
    Actually, it should behave like with flex: only rebuild when it is
    necessary (due to the file being touched).
    Exactly. If it is not possible to rebuild it because re2c is not
    present, a visible warning can be raised. About testing if a file has
    been modified, CScript has the required property in the File object
    (see File.LastModified). It is only about comparing if the re2c source
    file is newer than the target .c file.

    Cheers,
  • Steph Fox at Mar 20, 2008 at 1:42 pm

    Actually, it should behave like with flex: only rebuild when it is
    necessary (due to the file being touched).
    This _is_ behaving like flex under doze!

    - Steph
  • Derick Rethans at Mar 31, 2008 at 3:09 pm

    On Mon, 31 Mar 2008, Marcus Boerger wrote:

    Hello Steph,

    this doesn't work! When allowing to wotk with 0.13.3 then you will end up
    in a broken .c. Since we have the stuff checked in there really is no need
    at all to rengeneerate them atm.
    I found out that it does not work, but it *HAS* to work for snapshots.
    Please either revert the changes to PHP, or make an re2c release that
    can generate proper files.

    Derick
  • Marcus Boerger at Mar 31, 2008 at 3:16 pm
    Hello Derick,

    Monday, March 31, 2008, 5:09:23 PM, you wrote:
    On Mon, 31 Mar 2008, Marcus Boerger wrote:

    Hello Steph,

    this doesn't work! When allowing to wotk with 0.13.3 then you will end up
    in a broken .c. Since we have the stuff checked in there really is no need
    at all to rengeneerate them atm.
    I found out that it does not work, but it *HAS* to work for snapshots.
    Please either revert the changes to PHP, or make an re2c release that
    can generate proper files.
    That is not going to happen if no one cares about creating zend multibyte
    tests. Or we decide on getting rid of that stuff. Because obviously no on
    ecares about it anyway.

    Best regards,
    Marcus
  • Derick Rethans at Mar 31, 2008 at 3:22 pm

    On Mon, 31 Mar 2008, Marcus Boerger wrote:

    Monday, March 31, 2008, 5:09:23 PM, you wrote:
    On Mon, 31 Mar 2008, Marcus Boerger wrote:

    this doesn't work! When allowing to wotk with 0.13.3 then you
    will end up in a broken .c. Since we have the stuff checked in
    there really is no need at all to rengeneerate them atm.
    I found out that it does not work, but it *HAS* to work for
    snapshots. Please either revert the changes to PHP, or make an re2c
    release that can generate proper files.
    That is not going to happen if no one cares about creating zend
    multibyte tests. Or we decide on getting rid of that stuff. Because
    obviously no on ecares about it anyway.
    Huh? How hard is it to rolll 0.13.4 ? Then the dependency works, the
    snapshots, and nobody has to fuck with timestamps. IE: Everybody happy.

    regards,
    Derick
  • Derick Rethans at Mar 31, 2008 at 3:24 pm

    On Mon, 31 Mar 2008, Steph Fox wrote:

    this doesn't work! When allowing to wotk with 0.13.3 then you will end up
    in a broken .c. Since we have the stuff checked in there really is no need
    at all to rengeneerate them atm.
    Release 0.13.4, and I'll happily update it! Without that, it doesn't really
    make a lot of difference what I do - I'm just trying to save people from a
    wild goose chase.

    NB it'd be a better idea to have the re2c release before the changes in PHP in
    future...
    It's required for source snapshots to work.

    regards,
    Derick
  • Pierre Joye at Mar 31, 2008 at 3:39 pm

    On Mon, Mar 31, 2008 at 5:24 PM, Derick Rethans wrote:
    On Mon, 31 Mar 2008, Steph Fox wrote:

    this doesn't work! When allowing to wotk with 0.13.3 then you will end up
    in a broken .c. Since we have the stuff checked in there really is no need
    at all to rengeneerate them atm.
    Release 0.13.4, and I'll happily update it! Without that, it doesn't really
    make a lot of difference what I do - I'm just trying to save people from a
    wild goose chase.

    NB it'd be a better idea to have the re2c release before the changes in PHP in
    future...
    It's required for source snapshots to work.
    And even more important, it is required for us to work :)

    Cheers,

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-internals @
categoriesphp
postedMar 17, '08 at 5:13p
activeMar 31, '08 at 3:39p
posts14
users6
websitephp.net

People

Translate

site design / logo © 2022 Grokbase