From: Duft M. <Mar...@sa...> - 2006-09-27 14:56:51
|
wgcc is a cross-compiler tool primarily written for Microsoft's Interix. Its primary purpose is to produce native Windows binaries (internally using the Microsoft Tool chain), and to mimic the behaviour of the GNU compiler collection. This means that wgcc understands many of GCC's command line arguments, and in most cases delivers the same results as expected, sometimes manipulating the underlying tool's input and output. Even though wgcc was written for Interix only, it can be used on native Windows (without Interix), and other Systems, like Cygwin. The only restriction is that on Platforms other than Interix, only Windows style paths are understood. With the release of version 2.0.1 this changed. Now Cygwin too is able to convert paths correctly. On Interix (and now Cygwin) wgcc automatically converts UNIX style paths to Windows style ones (i.e. /wgcc to C:\SFU\wgcc). wgcc abstracts away lots of inconveniences that are introduced by building static libraries, shared libraries (DLL's) and executables with any possible combination of those three. When using wgcc both static and shared libraries behave exactly the same on Windows, and this makes tons of defines unnecessary. The only thing that still has to be done is to give all Data symbols (i.e. Variables) an import attribute (__declspec(dllimport)) when using them (i.e. in the library header files) in an executable. For a simple example take a look at the file tests/shared.test inside the wgcc distribution. wgcc version 2.0.1 changes some things that are not visible on the first view. It acts a lot cleverer when searching for Libraries, and linking them together. Wgcc now detects conflicts between Runtime versions automatically. This Feature is only available for libraries built using wgcc. When explicitly enabled, wgcc and pxwc together add capabilities for profiling memory usage and memory leaks with no code changes to your programs. Of course you can add profiling function calls to your code to get finer grained results. For more Information see the current Documentation. To the pxwc library there have been some changes needed for memory profiling support, and runtime conflict checking done by wgcc. Still pxwc includes only a small set of functions, so your help is needed to find out which others to include. Just open a Feature Request at http://sourceforge.net/tracker/?group_id=3D158081&atid=3D806407 and we = will try to add functionality as soon as possible. The libtool 1.5.22 patch has been reviewed and improved. Currently still four tests fail, but we're working hard to get those failures away. To continue improving wgcc and pxwc packages, we now need your help in testing them. Please download wgcc and try to compile your software using it. If something goes wrong please contact mduft or open an issue using the Sourceforge Tracker at http://sourceforge.net/tracker/?group_id=3D158081&atid=3D806404, or ask = your questions at the forums at http://sourceforge.net/forum/?group_id=3D158081. You can browse the Subversion Repository here: http://svn.sourceforge.net/viewvc/interix-wgcc/trunks/ Documentation can be found here: http://sourceforge.net/project/showfiles.php?group_id=3D158081&package_id= =3D 203917&release_id=3D446943 Source Packages can be found here: http://sourceforge.net/project/showfiles.php?group_id=3D158081&package_id= =3D 177049&release_id=3D445894 The Patch for Libtool can be found here: http://sourceforge.net/project/showfiles.php?group_id=3D158081&package_id= =3D 196163&release_id=3D446510 |