Re: [INTERNALS-WIN] Build environment notes (single CRT)
[email protected] ("Steph Fox")
| Newsgroups | php.internals.win |
|---|---|
| Message-ID | <00fb01c9639c$909dd2c0$3ffc1f3e@foxbox> |
Pierre... >> The _debug postfix doesn't work with 5_2 because you haven't implemented >> support for it there (and probably shouldn't, since it will break >> existing >> setups). > > It is exactly what I meant. The debug postfix detection is not > implemented in 5.2 (<somelib>_debug will not be detected and not > used). Ah right, so we were talking at cross-purposes there. Yes, for all libraries other than bindlib this should be documented. (I'm assuming that we can't just go in and fix config.w32s in 5_2, right?) >> It's not a case of documentation, > It is detected at configure time and linked at build time (if > correctly detected), this little note for the other readers, not > necessary you as you surely know that already. No, it isn't. Look: var php_usual_lib_suspects = PHP_PHP_BUILD+"\\lib;..\\bindlib_w32"; should read something like: var php_usual_lib_suspects = PHP_PHP_BUILD+"\\lib;..\\bindlib_w32\\" + Status; The libraries are in ..\bindlib_w32\Release and ..\bindlib_w32\Debug respectively. Always were, check the old .dsp files if you don't believe me. I think you're getting confused because Edin added all the bindlib stuff (release lib only) into the-zip-that-must-not-be-mentioned - anyone using that setup would always get the release version. What I hadn't realized until now was that because the path is wrong in config.w32, the version in the zip-that-must-not-be-mentioned is in fact always loaded regardless - in other words, unless you deleted that copy, you'll have been loading the headers from /bindlib_w32 dir and the lib from /lib. The only way it's worked even in release builds is only due to the coincidence that there haven't been any changes in the bindlib source for a very long time! And debug builds have been using the wrong resolv.lib ever since we dropped .dsp. > If they want to use the debug version of a library for 5.2? Yes, they > can manually edit configure.js or rebuild the libraries they need in > debug mode. Point being that this particular lib is ONLY used in 5_2, not anywhere else, and you've changed its name to work with a system that isn't available in 5_2. > However, if one needs the debug version of a library, that means he is > looking for a bug in the library itself (or to confirm that this lib > has a bug). In this case I would first try with 5.3 to be sure that's > the bug is actually in the library and not in PHP. They're different runtimes, debug and release. MSVCRT and MSVCRTD, for example. > That's why I suggest to simply add a note about why the > <somelib>_debug does not work with 5.2 and why we do not provide debug > builds of the libraries for 5.2 but for 5.3+ only. This exchange is about bindlib_w32, which isn't even _used_ in 5.3+. Do keep up :) This isn't a general rant against the _debug prefix - on the whole I think it's a good idea - just about this one library. - Steph > > Cheers, > -- > Pierre > > http://blog.thepimp.net | http://www.libgd.org > > -- > Windows Internals Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php >