Date: Tue, 09 Mar 1999 15:46:48 -0500 From: Gavriel State <uz87ogw3@umail.furryterror.org> Subject: Corel-Cygnus deal - More info To: wine-devel@winehq.com Here's a more technical summary of what Cygnus is doing for us: 1) Precompiled headers. These are absolutely required for anyone to do serious winelib development. For now the implementation is basically going to be a core dump of the compiler state after reading in the pch. The Cygnus guys are going to be talking about a better implementation on the egcs lists at some point, but preliminary indications are that this will work very well for now. I leave talk of performance improvement ratios to the Cygnus guys.... 2) Reduction in debug-info size. Cygnus is going to do the work required in the compiler, linker, and debugger to reduce the size of debug-info. This is pretty intimately linked with the precompiled header work - any debug info from the pch won't be duplicated in .o's and in the final output of ld. If you thought this was a problem for WINE (20 Meg executables with debug vs 2 Meg without), you can't even begin to imagine how big a problem this is for the WP apps. 3) The COM vtable format. This will allow us to access COM objects directly from C++, which is required for our code. It also means that one can implement COM objects in WINE in C++, which is also required by our code. This feature could also be used to build WINE implementations of COM objects in C++ rather than the complex preprocessor macro system that's being used currently. 4) General syntactic enhancements to make MSVC code compile. This includes things like __stdcall, anonymous unions, etc etc. Now for the bad news: The work that's being done is in Cygnus' GNUPro toolchain, not directly in egcs. The changes will be available as patches to GNUPro, but may need some work to be integrated into egcs. Once someone does do the work to integrate them into egcs, it will be up to the egcs maintainers to decide if they want to incorporate these changes into egcs itself. Also, our support contract with Cygnus prevents us from being a 'pass-through' for bugs from the wider WINE community. We can only report bugs that are real problems for *us*; if you discover a bug in egcs, you have to report it to the egcs maintainers (and wait for them to respond). If you're doing commercial development and you want Cygnus to fix the bugs for you, I'm sure that they'd be happy to sell you a support contract too. 8-) Finally, the work is going to take some time to accomplish. Don't expect to see anything for a couple of months at least. Take care, -Gav -- Gavriel State Engineering Project Leader - Linux Apps Corel Corp gavriels@corel.com