
Quoth "Bryan O'Sullivan"
On Sun, Dec 27, 2009 at 10:55 AM, Bryan O'Sullivan
wrote: Is it licit to have source files in base depend on preprocessing by hsc2hs? My suspicion is "no", but I want to be sure.
Never mind, I found a ".hsc" source file in base, so it must be okay after all :-)
I guess it depends on your definition of "okay". It's awkward for the `unregisterised' port process, where you build .hc files on a supported host with similar hardware, because the .hc files will have been hsc2hs processed on the wrong platform when you compile them. So just for example if 1) the layout of struct rusage is different between the two hosts, and 2) the initial bootstrap ghc uses those functions in System/CPUTime.hsc while trying to build itself, there's going to be trouble. Strictly speaking, though, that isn't so much a problem with hsc2hs per se, rather with .hsc files that include platform-dependent C definitions. If you provide the C source also, and hsc2hs sees only platform-independent definitions from your source, then I don't see how that would be a problem. In the above example I suppose that would mean a `struct ghc_rusage' or something. Donn Cave, donn@avvanta.com