libtool
[Top][All Lists]
Advanced

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

Re: [boost] wgcc 2.0 RC1 released


From: Brendon Costa
Subject: Re: [boost] wgcc 2.0 RC1 released
Date: Wed, 20 Sep 2006 18:43:08 +1000
User-agent: Thunderbird 1.5.0.7 (Windows/20060909)

David Abrahams wrote:
> "Duft Markus" <address@hidden> writes:
> 
>> When building with wgcc there are a few benefits:
>>
>> Wgcc uses the native windows compiler to build (so the code may or may
>> not be faster ;o)) and whats a lot more important: the debug
>> information produced is readable by visual studio, so you can debug
>> the output. Gdb on windows (at least on interix) is so terribly
>> broken, i could not debug 10 lines of code without gdb failing at some
>> point. 
> 
> Works great for me under Cygwin, especially through emacs.

Code may not be faster. It really depends on the implementation of the
compiler. The differences would be negligible from my understanding,
though with more resources MS may be able to optimise some things in
their compiler... I don't know.

I do prefer the MS debugger, but my experience with GDB is that it also
works fine in windows (Under Cygwin and with MSYS/MinGW) and achieves
its purpose well enough (I guess not using emacs is part of my problem
:-) as it seems a little more clunky to use having to type in all these
breakpoints... I need a GUI frontend for GDB i think...)


>> The second thing is, that resulting executables depend on msvcrt.lib
>> and are therefore binary compatible with nearly everything ;o) on
>> windows. 
> 
> That's also true of MinGW, right?

Yes. MinGW depends on msvcrt.lib


>> When using gcc it has it's own libc (on interix gcc is a
>> interix build, and has really not much to do with windows.... ;o//)
>> and one can't link those things together, so in gcc built binaries one
>> can _not_ use the win32 API which, on windows, is not really desireable.
> 
> Huh?  Not so; I have used the win32 API even through cygwin GCC.
> And then there's gcc -mno-cygwin.

Yep. There is a win32api library for cygwin. Same as MinGW really with
-mno-cygwin i think...

>> The last thing is, that tools such as Rational Purify may be used to
>> examine the resulting binaries. It's all just really native ;o)
>>
>> I'm really overwhelmed that someone outside my company finally shows
>> at least _some_ interest. It's really cool, give it a try!
> 
> Not sure what I'm missing here, but at this point I don't see why I
> should bother.  The existing tools work for me and are
> well-established, with good support.
> 

One possible reason I can think of is that in the non-free world...
Sometimes a company might distribute a C++ library + some header files
(Without any source code). I have encountered this before. Since the ABI
is not the same between MSVC and MinGW/GCC it forces you to use the
compiler they have created the libraries using (Unless it is a pure C
interface) and if you have a desire to use the autotools build framework
(autoconf/automake/libtool) then this could be useful.

Having a wrapper for MSVC that behaves like gcc would mean that you can
use the autotools (A particulary important part of it is libtool for
this discussion) build framework with the MSVC compiler. This may be
beneficial in some situations instead of using the MSVC build environment.


I tried cccl a while ago and shortly discovered a HEAP of issues
especially trying to compile things using libtool. So i went and started
my own shell script wrapper that improved on cccl. It got a fair way but
i was not willing to put more time into it and being a shell script like
libtool it slows compiling down a bit on large projects. Plus there is
no way to fix the auto import problem with MSVC. So i gave up on that
line of thought. From my understanding, wgcc is a compiled wrapper
similar to cccl but it has had a lot more features put into it so it
better "emulates" gcc. This has got advantages though is not suitable in
a lot of situations.

Instead of using a wrapper for the compiler/linker i have just started
using a different build toolset from automake/libtool. Jam and Scons are
two good examples that can use either compiler without having to force
the usage of MSVC to behave like gcc.

Anyhows, Thats just my two cents worth on the subject...

Brendon.






reply via email to

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