libtool
[Top][All Lists]
Advanced

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

Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary


From: Guido Draheim
Subject: Re: dll cross-compile, .libs/impgen is a win-exe, not a linux-binary
Date: Wed, 20 Jun 2001 11:58:51 +0200

moin moin, Olly,

Olly Betts wrote:
> 
> On Wed, Jun 20, 2001 at 03:23:18AM +0200, Guido Draheim wrote:
> > What is HOST_CC ? It has no default, and cross-gcc is the wrong cc.
> 
> It's meant to point to a native compiler in precisely this situation to
> solve the problem of impgen getting cross-compiled and so being useless.

Yep, that was my guess, but it looked a bit stranded as there's
nothing else around that knows who he is...

> 
> > Did now try with HOST_CC=/usr/bin/cc to get a working impgen.
> > Did not work either - look for the ".libs/.libs" part in the
> > output which is clearly wrong.
> 
> The HOST_CC patch was from me, and it worked when applied.  Looks like
> something has changed since and stopped it working.

*sigh*, okay then, I'll see if I can catch enough of the scheme
to fix that too.

> 
> > HOST_CC is only used with impgen, no other reference. IIRC, there
> > are plans to have more binary compile-tools, which leasd to the
> > question whether there are plans for automatic support of HOST_CC
> > (whatever that is anyway)
> 
> HOST_CC is also refered to in config.status, and apparently comes from gcc's
> bootstrapping process.  The name CC_FOR_BUILD is preferable - see the
> discussion stemming from the first url below - perhaps libtool ought to
> change to this?

Just as you noted in your post, one will usually try to get away
with some "interesting" shell/sed/awk-macros, and it seems that we
were pretty much able to do that up to now. Especially most of the
dll import/export stuff is done with tricky productions on objdump 
output, and otherwise it has somehow gotten to be integrated in the
famous "dlltool" - and just as PavelRoskin has stated back then, 
it is allowed to simply `require` (pre-)existance of a fairly 
uptodate dlltool/dllwrap pair that knows a "dlltool --impgen" mode.

Have ye talked to those guys, Olly?

> 
> I did also produce an autoconf macro for probing for HOST_CC.  Ideally this
> should be triggered automatically by AM_PROG_LIBTOOL when cross-compiling to
> windows is detected, but I don't think it got incorporated into libtool or
> autoconf (it's actually of general use for compiling build-time tools when
> cross-compiling).
> 
> You can find the macro here:
> 
> http://sources.redhat.com/ml/autoconf/1999-07/msg00089.html

Thanks for the reference, a nice thread on the topic, and easy macro too.

> 
> There's also an entirely different macro for testing CC_FOR_BUILD here:
> 
> http://www.gnu.org/software/ac-archive/Cross_Compilation/ac_prog_cc_for_build.html
> 
> This one sets CFLAGS_FOR_BUILD, etc but seems to rely on the user setting
> CC_FOR_BUILD whereas mine actually has a reasonable stab at find a native
> compiler by itself.
> 

wooohohowow, this is tricky stuff for an ac-macro, now I know why TomTromey
did mention a generic push/pop-compiler ac-operation back then. This does
even more push me to say, that the impgen-rule should better get integrated
into dlltool/dllwrap, - and barf out at anyone who does not have an uptodate
version of it.

Anyway, libtool.m4 and libtool-content are out of sync in this case,
it is clearly buggy, don't you think Gary? ;-)

cheers,
-- guido                         Edel sei der Mensch, hilfreich und gut
31:GCS/E/S/P C++$++++ ULHS L++w- N++@  d(+-) s+a- h.r(*@)>+++ y++ 5++X-



reply via email to

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