Re: [PHP-DEV] Differences in VC6 and VC9 Windows builds and MSSQL Driver.
[email protected] ("Pierre Joye")
| Newsgroups | php.internals.win |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Jan 2, 2009 at 5:31 PM, William A. Rowe, Jr. <[email protected]> wrote: > [replying to the appropriate list] > > Pierre Joye wrote: >> >> I'm not sure it is worth the effort. What would be the gains besides >> not having to distribute the 9.0 CRT (which is a non issue for the >> installers and a one time install for the other)? > > Because the MS paradigm is nonsense - we will always be a family of > interoperable moving pieces; and we should expect some 2005 compiled > modules, some 2008 compiled modules and some 2010 (VC.next) compiled > modules, none of which share a crt. That, of course, is utterly > bullshit. With PHP, perl, python and lua compiled in, we are in four > different crt's at once (if one used ActiveState). Lua will go VC9, PHP is on its way, apache modules are compiled or can be compiled using the same CRT. I'm sure we can get perl to move as well somehow. This move is something we can manage for the easiness and stability of a wamp (or wamr) stack. Moving to VC9 does solve many issues that we can't solve with VC6, especially the CRT mess, the speed improvement and x64 support. The new manifests system will also greatly help with the CRT nightmare (manifests are supported in 2k5/8 or later, not 6). We can and will talk with the VC team guys to figure out the best way to solve our requirements with a minimum pain for the users. We can also help other projects to do the move. Either by providing build/snapshot support or by porting the softwares to VC9 when necessary. I did that already for many projects. They were all pretty happy to get some help, except a couple of projects which do not want to work with any VC version anyway. > OpenSSL project compiles to msvcrt from the modern compilers. I compile openssl with any VC versions, for the record. It is available in our repository as well. > Until > Microsoft can grok the concept of modular development coming from > multiple parties (who don't share a single 'corporate direction' in > terms of the tools to use when and where), I'm afraid practically > speaking we can't follow the "wisdom" of the studio/c++ team. > I've broached this issue to them at Redmond, but I'm afraid all we > got were puzzled looks (you need to do what?!? No company uses four > flavors of Visual Studio in the same finished binary.) Well, it is not four, it is one, 2k8. The problem I have now is to have to deal with gcc 1.x, oops, wait, VC6 ;-). All in all, the problem with CRT is the same than with libc. You can't use an app compiled with a a given libc or any other libraries on unix. However, if we prepare the move well, we can avoid further pains for the next years. Cheers, -- Pierre http://blog.thepimp.net | http://www.libgd.org