-- Manipulating DynFlags
defaultDynFlags, -- DynFlags
+ defaultHscLang, -- HscLang
dopt, -- DynFlag -> DynFlags -> Bool
dopt_set, dopt_unset, -- DynFlags -> DynFlag -> DynFlags
dopt_CoreToDo, -- DynFlags -> [CoreToDo]
| HscNothing
deriving (Eq, Show)
+defaultHscLang
+ | cGhcWithNativeCodeGen == "YES" &&
+ (prefixMatch "i386" cTARGETPLATFORM ||
+ prefixMatch "sparc" cTARGETPLATFORM) = HscAsm
+ | otherwise = HscC
+
defaultDynFlags = DynFlags {
coreToDo = [], stgToDo = [],
- hscLang = HscC,
+ hscLang = defaultHscLang,
hscOutName = "",
hscStubHOutName = "", hscStubCOutName = "",
extCoreName = "",
-----------------------------------------------------------------------------
--- $Id: DriverState.hs,v 1.70 2002/02/16 18:15:14 sof Exp $
+-- $Id: DriverState.hs,v 1.71 2002/03/13 13:51:35 simonmar Exp $
--
-- Settings for the driver
--
-----------------------------------------------------------------------------
-- Compiler output options
-defaultHscLang
- | cGhcWithNativeCodeGen == "YES" &&
- (prefixMatch "i386" cTARGETPLATFORM ||
- prefixMatch "sparc" cTARGETPLATFORM) = HscAsm
- | otherwise = HscC
-
GLOBAL_VAR(v_Output_dir, Nothing, Maybe String)
GLOBAL_VAR(v_Output_file, Nothing, Maybe String)
GLOBAL_VAR(v_Output_hi, Nothing, Maybe String)
{-# OPTIONS -fno-warn-incomplete-patterns -optc-DNON_POSIX_SOURCE #-}
-----------------------------------------------------------------------------
--- $Id: Main.hs,v 1.99 2002/03/12 16:45:59 simonmar Exp $
+-- $Id: Main.hs,v 1.100 2002/03/13 13:51:35 simonmar Exp $
--
-- GHC Driver program
--
import Packages ( showPackages )
import DriverPipeline ( doLink, doMkDLL, genPipeline, pipeLoop )
-import DriverState ( buildCoreToDo, buildStgToDo, defaultHscLang,
+import DriverState ( buildCoreToDo, buildStgToDo,
findBuildTag, getPackageInfo, unregFlags,
v_GhcMode, v_GhcModeFlag, GhcMode(..),
v_Cmdline_libraries, v_Keep_tmp_files, v_Ld_inputs,
unknownFlagErr, getFileSuffix )
import CmdLineOpts ( dynFlag, restoreDynFlags,
saveDynFlags, setDynFlags, getDynFlags, dynFlag,
- DynFlags(..), HscLang(..), v_Static_hsc_opts
+ DynFlags(..), HscLang(..), v_Static_hsc_opts,
+ defaultHscLang
)
import Outputable
import Util
dyn_flags <- getDynFlags
let lang = case mode of
DoInteractive -> HscInterpreted
- _other -> defaultHscLang
+ _other -> hscLang dyn_flags
setDynFlags (dyn_flags{ coreToDo = core_todo,
stgToDo = stg_todo,