• Duncan Coutts's avatar
    Keep C main separate from rts lib and link it in for standalone progs · fa00cc50
    Duncan Coutts authored
    Previously the object code for the C main function lived in the rts
    lib, however this is a problem when the rts is built as a shared lib.
    With Windows DLLs it always causes problems while on ELF systems it's a
    problem when the user decides to use their own C main function rather
    than a Haskell Main.main. So instead we now put main in it's own tiny
    little static lib libHSrtsmain.a which we install next to the rts libs.
    Whenever ghc links a program (without -no-hs-main) then it also links
    in -lHSrtsmain. For consistency we always do it this way now rather
    than trying to do it differently for static vs shared libraries.