On 9/13/12, Ian Lynagh <i...@well-typed.com> wrote:
> On Thu, Sep 13, 2012 at 05:12:56AM -0700, Gabor Greif wrote:
>>
>>     Btw., Ian is working in this area on the master branch so
>>     there will be a bunch of conflicts anyway :-(
>
> Sorry, I hadn't realised you were working on this in a branch. If
> merging your changes to master is possible (i.e. if they don't break the
> build, even if what they add isn't actually used yet) then I'd recommend
> doing that, to avoid conflicts.

No worries, I like the direction you going :-)
I just cannot work full time on the branch (mere few hours a week),
so I am always lagging behind. You guys are a productive bunch...

>
>
> It's starting to feel like we're close to a full cross-compilation
> compiler, incidentally. I'm currently working on getting all the
> platform-specific values into a platformConstants file, which is read by
> the compiler at run-time. Once that's done, modulo a handful of bits of

That is fine, as my branch's main contribution is to interrogate a cross-gcc
about what those constants are, and to make them available to
mkDerivedConstants.c.

Did you look into the mechanism how this is done? In short, I create an .o file
that has objects whose *size* equals the platform constants. I extract the sizes
via 'nm' and create the SizeMacros.h. This in turn gets included by
mkDerivedConstants.c.

> CPP etc that remain, it ought to be possible to make a single-platform
> cross-compiler simply by substituting the 'settings' and
> 'platformConstants' files with those from another platform. In reality,
> we'll probably find more places where "target = host" assumptions are
> getting baked in, but we'll have to deal with those when we come to
> them.

Yes.

>
> The other half of the puzzle (perhaps what you're looking at) is
> altering the build system to be able to (a) generate 'settings' and
> 'platformConstants' files for platforms other than host, and (b) build

Yes. See above.

> for multiple platforms in a single tree. I suspect that (a) means

Actually, I am happy with one HOST != TARGET platform per GHC already.

> getting rid of mkDerivedConstants, and using a configure script instead,
> but I haven't really thought about this half yet.

Yes, this is part of the plan, but can probably wait. Passing around the
autoconf cache file to sub-configures is probably more lucrative short-term.

Cheers,

    Gabor

>
>
> Thanks
> Ian
>
>

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to