#3472: Porting through .hc files broken
---------------------------------+------------------------------------------
    Reporter:  pumpkin           |         Type:  bug         
      Status:  closed            |     Priority:  normal      
   Milestone:  6.12 branch       |    Component:  Build System
     Version:  6.12.1 RC1        |   Resolution:  fixed       
    Keywords:                    |   Difficulty:  Unknown     
          Os:  Unknown/Multiple  |     Testcase:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------
Changes (by john435):

  * status:  new => closed
  * resolution:  => fixed


Comment:

 Replying to [comment:5 ksf]:
 >   We either have to come up with a solution for using hsc2hs (take the
 intermediate C files to the target and compile/run them?) or convert .hsc
 files to autoconf + CPP (yeuch).
 >
 > It's quite straight-forward to split up the %.hsc->%.hs rule in two, the
 first one generating %_hsc_make with a cross-compiler, the second one
 moving the binary over to the target, executing it and piping the result
 into %.hs. Compiling on the target is certainly feasible, too, but I
 happen to have  a working
 [http://healthyweightlosspills.com/weight_loss_pills.html weight loss
 pills] cross-compiler.
 >
 > I am, however, stuck with make, in the area of separating the build
 directories into stage1/stage2 for the libraries as well as transferring
 ./configure output over from the target to the build platform, without
 having that trigger recompilation of stage1 (and the package info being a
 bit messed up wrt. -l flags, but that's a minor concern)
 >
 > Compiling the stage2 libraries with
 [http://treatmentofmesothelioma.org/mesothelioma.html mesothelioma] actual
 target info also opens up the issue that we can't use the native gcc as
 it's quite likely to fail, not so much while compiling (at least .hc), but
 linking: My linux doesn't come with libutil, for example. Both using a
 cross-gcc and replacing gcc with touch should work, I've not had much time
 to investigate this.
 >
 > The main issue, however, is that we're infecting perfectly cross-
 platform .hc with platform-specific information by preprocessing Haskell
 instead of C: It might be feasible to generate C stubs for all hsc2hs
 macros and calling them via the ffi, leaving resolving of platform-
 specific things until later. The whole build-process depending on .o s
 being generated even when all you want to have are .hc s isn't helping
 things.
 >
 > And then there's David's LLVM work... I'm currently slurping his thesis
 because porting via LLVM looks very, very, elegant and painless, at least
 from afar.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3472#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to