From 8aaa9ef471cadbc79fca58b234b198065f650dcf Mon Sep 17 00:00:00 2001 From: Duncan Coutts Date: Tue, 19 May 2009 12:11:49 +0000 Subject: [PATCH] When linking a shared library with --make, always do the link step Without -shared, the default target is a binary and in that case it makes sense for --make to not try and link a binary when there is no Main module. But for a shared library the user already has to specify -shared and there's no reason a shared lib should contain any Main module or main function. --- compiler/main/GHC.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs index c5571cb..f63b98f 100644 --- a/compiler/main/GHC.hs +++ b/compiler/main/GHC.hs @@ -888,7 +888,7 @@ load2 how_much mod_graph = do let main_mod = mainModIs dflags a_root_is_Main = any ((==main_mod).ms_mod) mod_graph - do_linking = a_root_is_Main || no_hs_main + do_linking = a_root_is_Main || no_hs_main || not StaticFlags.opt_Static when (ghcLink dflags == LinkBinary && isJust ofile && not do_linking) $ -- 1.7.10.4