[Top][All Lists]
[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
- Re: purpose of the c wrapper, (continued)
- Re: purpose of the c wrapper, Roumen Petrov, 2009/06/04
- Re: purpose of the c wrapper, Vincent Torri, 2009/06/04
- Re: purpose of the c wrapper, Ralf Wildenhues, 2009/06/07
- Re: purpose of the c wrapper, Vincent Torri, 2009/06/07
- Re: purpose of the c wrapper, Ralf Wildenhues, 2009/06/07
- Re: purpose of the c wrapper, Vincent Torri, 2009/06/07
- Re: purpose of the c wrapper, Ralf Wildenhues, 2009/06/07
- Re: purpose of the c wrapper,
Charles Wilson <=