[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Stack calibration
Re: Stack calibration
Tue, 30 Sep 2008 23:10:27 +0100
2008/9/28 Ludovic Courtès <address@hidden>:
> "Neil Jerram" <address@hidden> writes:
>> I've done this part a bit differently - see the libguile/Makefile.am
>> changes - because I couldn't see exactly how the recursive make
>> approach would work. If you think recursive make would be
>> significantly better, can you describe or propose the detailed changes
>> that would be needed?
> Your proposition looks very good actually. I suppose the generated
> makefile doesn't require recompilation of all `.lo' files to go from
> `libuguile' to `libguile', right?
If you mean does it actually compile them all again?: yes, I'm afraid
it does. I think this is because the generated makefile thinks that
libuguile_la-eval.lo and libguile_la-eval.lo are separate objects.
If you mean does it need to?: no, it doesn't, because none of the
files apart from stackchk.c/stackchk-calibrated.c have actually
changed at all.
I currently don't know of a good solution for this.
It might work to define:
(i) a convenience library consisting of everything in libguile except
(ii) libuguile.la, consisting of the convenience library + stackchk.c
(iii) libguile.la, consisting of the convenience library +
But I would be surprised if that didn't cause a regression on some
less mainstream platforms.
Do you have any suggestions?
> I'm not sure about cross-compilation (Dale Smith had also raised this
> issue on IRC some time ago). IIUC, the user is expected to provide a
> `UGUILE_FOR_BUILD' at configure-time, which is then used to run
> `calibrate.scm'; however, `UGUILE_FOR_BUILD' runs on the host, not the
> target system, so the generated file will be erroneous, right?
> Thus, when cross-compiling, shouldn't we avoid stack calibration
> altogether and simply emit a warning a configure-time, for instance?
Well, ideally we should have a solution that works automatically in
> At any rate, it's not a problem when cross-compiling with tools like
> Scratchbox, which actually "hide" the fact that we're cross-compiling
> and can run executables for the target system through an emulator.