Re: How MD are .hi files?

2008-05-15 Thread Simon Marlow

Matthias Kilian wrote:

On Wed, May 14, 2008 at 11:35:36AM +0100, Simon Marlow wrote:

for an unregisterised ghc-6.8.2 (or newer), are the .hi files
dependent (except for the 32 vs. 64 bit word size)? I had a quick
look at the stuff in compiler/iface, but the only MD part I found
was that 32/64 bit difference.
The word size is probably the only dependency, but there are many reasons 
that you can't just take the .hc/.hi files generated by an unregisterised 
build on one machine and expect them to work on another machine.


I really don't expect this. I just decided to be lazy and provide
not only .hc files but also .hi files[1] for the OpenBSD port, and
then I thought: does this make sense at all? Can it even be of use
for porting GHC to other archs on OpenBSD, or for the NetBSD folks
working on GHC?


Here's a message I wrote quite a while ago on this topic:

http://www.haskell.org/pipermail/glasgow-haskell-users/2005-May/008456.html

some of that is out of date, but at least it describes most of the issues 
with having a platform-independen hc bootstrap.



[1] Of course, the correct solution would not need the .hi files,
but just use the stage1 bootstrapped from .hc files to start
rebuilding the libraries. But that would require even more hacking
on the Makefiles, and I've already an insane amount of hacks sitting
around.


If the .hc files were platform independent, then the .hi files would be 
too, by definition.


Cheers,
Simon

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: How MD are .hi files?

2008-05-14 Thread Simon Marlow

Matthias Kilian wrote:

Hi,

for an unregisterised ghc-6.8.2 (or newer), are the .hi files
dependent (except for the 32 vs. 64 bit word size)? I had a quick
look at the stuff in compiler/iface, but the only MD part I found
was that 32/64 bit difference.


The word size is probably the only dependency, but there are many reasons 
that you can't just take the .hc/.hi files generated by an unregisterised 
build on one machine and expect them to work on another machine.


First, you have to watch out for conditional compilation in the original 
Haskell source file.  For example, if the .hs file contains something like 
#ifdef mingw32_HOST_OS, then the .hc and .hi files will both be 
Windows-only.  There are certainly many instances of this in the libraries 
right now.


Another problem is the configuration information that gets into the build 
via the autoconf scripts.  Things like the size of C types in 
Foreign.C.Types, or the errno values in Foreign.C.Error might be different 
on the target machine.


I hope I've managed to understand your question correctly... if not please 
ask again!


Cheers,
Simon

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: How MD are .hi files?

2008-05-14 Thread Matthias Kilian
On Wed, May 14, 2008 at 11:35:36AM +0100, Simon Marlow wrote:
 for an unregisterised ghc-6.8.2 (or newer), are the .hi files
 dependent (except for the 32 vs. 64 bit word size)? I had a quick
 look at the stuff in compiler/iface, but the only MD part I found
 was that 32/64 bit difference.
 
 The word size is probably the only dependency, but there are many reasons 
 that you can't just take the .hc/.hi files generated by an unregisterised 
 build on one machine and expect them to work on another machine.

I really don't expect this. I just decided to be lazy and provide
not only .hc files but also .hi files[1] for the OpenBSD port, and
then I thought: does this make sense at all? Can it even be of use
for porting GHC to other archs on OpenBSD, or for the NetBSD folks
working on GHC?

Ciao,
Kili

[1] Of course, the correct solution would not need the .hi files,
but just use the stage1 bootstrapped from .hc files to start
rebuilding the libraries. But that would require even more hacking
on the Makefiles, and I've already an insane amount of hacks sitting
around.

-- 
It compiles -- let's ship it!
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


How MD are .hi files?

2008-05-12 Thread Matthias Kilian
Hi,

for an unregisterised ghc-6.8.2 (or newer), are the .hi files
dependent (except for the 32 vs. 64 bit word size)? I had a quick
look at the stuff in compiler/iface, but the only MD part I found
was that 32/64 bit difference.

TIA

Ciao,
Kili

ps: if you think this sounds like a complete newbie question, you're
right; I've been far too busy hacking on boring stuff like Makefiles,
and didn't have time to look at the interesting code (i.e. ghc
itself). My knowledge of ghc's internals is at the state of 1998,
or even older, I really don't remember ;-)

-- 
Options are good. As long as they are optional.
-- Artur Grabowski
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users