libtool
[Top][All Lists]
Advanced

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

Re: purpose of the c wrapper


From: Charles Wilson
Subject: Re: purpose of the c wrapper
Date: Sun, 07 Jun 2009 11:49:35 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.21) Gecko/20090302 Thunderbird/2.0.0.21 Mnenhy/0.7.6.666

Ralf Wildenhues wrote:

> Vincent, you're contradicting yourself over the course of this work.
> I thought at one point we got the wrapper to work on mingwce.  I mean
> that's the reason we added those __MINGW32CE__ ifdefs in the first
> place.  If they fail to work properly now, then we should fix *that*,
> not hack around it.  Or you should come out straight and say "we tried
> to get the wrapper to work, but it failed for reasons X and Y which we
> cannot solve, so how about we punt and not generate a wrapper?".

IIRC, first we just tried to ensure that the wrapper *compiled* without
error on wince.  We always knew it would be non-functional (apparently,
there is no spawn() or exec() functionality on that $host!)

The contradiction here is in the assumptions. Originally it was assumed
that "just compile, baby!" was enough.  Now, it appears that we have
additional requirements (do we actually want a functional wrapper of
some kind -- e.g. a shell script that works on $build?), so that
compilation of the wrapper executable without error is not sufficient.

Since (a) we need "more" that simple compile-without-error (b) the
wrapper servers no *functional* purpose for these $hosts -- it makes
sense to just not build the wrapper in that case.  The only caveat I
would make is the following:

$EXEEXT is .exe for wince $hosts. Therefore the makefile rules expect
targets that end with .exe.  The shell script wrapper -- if generated in
$builddir and not $builddir/.libs! -- won't have that extension.  So,
for wince you're back to the old "why does make rebuild everything all
the time" problem (unless you name the wrapper *script* "foo.exe" which
is just...evil). Worse, if $build is a win32 platform, NOW you have an
even worse issue...there's a $host executable in $builddir/.libs, or
maybe in $builddir itself. AND you have a shell script wrapper for it
(in $builddir itself or maybe in $builddir/.libs) -- which may or may
not have a "fake" name that ends with $EXEEXT.  This is bound to cause
problems -- especially if $build is cygwin-1.7.

But one thing at a time: it looks like "don't build the wrapper
executable on wince" is the right choice.

--
Chuck




reply via email to

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