libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

wgcc 2.0 RC1 released


From: Duft Markus
Subject: wgcc 2.0 RC1 released
Date: Tue, 19 Sep 2006 11:05:25 +0200

Hi again!
 
For all interested in native Windows binaries built with Autotools and mnay other interesting things:
 
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. This will change in the future for Cygwin, and/or others. On Interix 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.
 
The Release Candidate 1 of wgcc has a completely rewritten Configuration File parser, which allows for faster and safer parsing; now adding the ability to include empty directives in configuration files. This could be something like "paths.c++ =" to unset all C++ search directories.
 
Also the ability to automatically generate export definitions and import trampolines for mixing static and shared libraries with executables has been reviewed and improved. This did not change the behaviour of wgcc regarding the 2.0-pre.x versions, but only speeded it up a little.
 
pxwc, the accompanying library for wgcc allows further abstraction for C code, allowing use of the ANSI function names (i.e. without the leading "_"). pxwc currently 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=158081&atid=806407 and we will try to add functionality as soon as possible.
 
Using the patch provided for GNU Libtool, wgcc can be used with many Open Source packages. After patching and installing Libtool, simply bootstrap the package in question, configure (set CC, CXX and LD to "wgcc") and build. The configure Script should tell that the linker in use is the "Interix to Win32 cross linker (wgcc)".
 
Since the version jump to 2.x wgcc now resides in the Sourceforge Subversion Repository. The CVS Repository still continues to contain previous wgcc versions (0.x).
 
To continue improving wgcc and pxwc packages, we now need your help in testing them. Please download wgcc and try to compile you 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=158081&atid=806404, or ask your questions at the forums at http://sourceforge.net/forum/?group_id=158081.
 
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=158081&package_id=203917&release_id=446943
Source Packages can be found here: http://sourceforge.net/project/showfiles.php?group_id=158081&package_id=177049&release_id=445894
The Patch for Libtool can be found here: http://sourceforge.net/project/showfiles.php?group_id=158081&package_id=196163&release_id=446510

reply via email to

[Prev in Thread] Current Thread [Next in Thread]