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
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
_______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool