Commit 6c381e87 authored by partain's avatar partain

[project @ 1996-03-19 08:58:34 by partain]

simonpj/sansom/partain/dnt 1.3 compiler stuff through 96/03/18
parent 8147a9f0

Too many changes to show.

To preserve performance only 224 of 224+ files are displayed.

......@@ -53,8 +53,10 @@ you will screw up the layout where they are used in case expressions!
#ifdef DEBUG
#define ASSERT(e) if (not (e)) then (assertPanic __FILE__ __LINE__) else
#define CHK_Ubiq() import Ubiq
#else
#define ASSERT(e)
#define CHK_Ubiq()
#endif
-- ToDo: ghci needs to load far too many bits of the backend because
......
......@@ -11,17 +11,12 @@
#endif
SUBDIRS = __ghc_compiler_tests_dir
#undef __ghc_compiler_tests_dir
/* ?????? ToDo: something about test dirs underneath yaccParser ????? */
#if BuildDataParallelHaskell != YES
/* DPH likes to play around in subdirs */
# define NoAllTargetForSubdirs
# define NoDocsTargetForSubdirs
# define NoInstallDocsTargetForSubdirs
# define NoDependTargetForSubdirs
#endif
/* these always apply */
# define NoInstallTargetForSubdirs
#define NoAllTargetForSubdirs
#define NoDocsTargetForSubdirs
#define NoInstallDocsTargetForSubdirs
#define NoDependTargetForSubdirs
#define NoInstallTargetForSubdirs
#define NoTagTargetForSubdirs
/* Suffix rules: we do not use them much at all in GHC.
......@@ -37,10 +32,7 @@ LitSuffixRule(.lprl,.prl) /* for makeSymbolList.prl */
*/
SUBDIR_LIST = \ /* here they are, colon separated (for mkdependHS) */
utils:basicTypes:uniType:abstractSyn:prelude:envs:rename:typecheck:deSugar:coreSyn:specialise:simplCore:stranal:stgSyn:simplStg:codeGen:nativeGen:absCSyn:main:reader:profiling:deforest:podizeCore:yaccParser:nhcParser:interpreter
DASH_I_SUBDIR_LIST = \ /* same thing, in -I<dir> format */
-Iutils -IbasicTypes -IuniType -IabstractSyn -Iprelude -Ienvs -Irename -Itypecheck -IdeSugar -IcoreSyn -Ispecialise -IsimplCore -Istranal -IstgSyn -IsimplStg -IcodeGen -InativeGen -IabsCSyn -Imain -Ireader -Iprofiling -Ideforest -IpodizeCore -IyaccParser -InhcParser -Iinterpreter
utils:basicTypes:types:hsSyn:prelude:envs:rename:typecheck:deSugar:coreSyn:specialise:simplCore:stranal:stgSyn:simplStg:codeGen:nativeGen:absCSyn:main:reader:profiling:deforest:parser
#ifdef MainIncludeDir
MAIN_INCLUDE_DIR=MainIncludeDir
......@@ -63,149 +55,116 @@ NATIVEGEN_DIR=$(TOP_PWD)/$(CURRENT_DIR)/nativeGen
/* in order-of-passes order, utility modules at the end */
#if GhcBuilderVersion >= 23 && GhcBuildeeVersion >= 23
# define USE_NEW_READER YES
# define __new_reader_flag -DUSE_NEW_READER=1
#else
# define __new_reader_flag /*none*/
#endif
#if USE_NEW_READER == YES
# define READERSRCS_HS \
yaccParser/U_atype.hs \
yaccParser/U_binding.hs \
yaccParser/U_coresyn.hs \
yaccParser/U_entidt.hs \
yaccParser/U_finfot.hs \
yaccParser/U_hpragma.hs \
yaccParser/U_list.hs \
yaccParser/U_literal.hs \
yaccParser/U_pbinding.hs \
yaccParser/U_treeHACK.hs \
yaccParser/U_ttype.hs
#define READERSRCS_LHS \
yaccParser/UgenUtil.lhs \
yaccParser/UgenAll.lhs \
reader/ReadPrefix2.lhs \
reader/ReadPragmas2.lhs
#define READERSRCS_HS \
parser/U_constr.hs \
parser/U_binding.hs \
parser/U_pbinding.hs \
parser/U_coresyn.hs \
parser/U_entidt.hs \
parser/U_hpragma.hs \
parser/U_list.hs \
parser/U_literal.hs \
parser/U_maybe.hs \
parser/U_either.hs \
parser/U_qid.hs \
parser/U_tree.hs \
parser/U_ttype.hs
#define hsp_library libhsp.a
#else
#define READERSRCS_HS /* none */
#define READERSRCS_LHS \
parser/UgenUtil.lhs \
parser/UgenAll.lhs \
reader/ReadPrefix.lhs \
reader/ReadPragmas.lhs
#define hsp_library /*none*/
#endif
#define FRONTSRCS_LHS \
reader/ReadPragmas.lhs \
\
reader/PrefixSyn.lhs \
reader/PrefixToHs.lhs \
reader/RdrHsSyn.lhs \
\
basicTypes/Unique.lhs \
basicTypes/SplitUniq.lhs \
basicTypes/ProtoName.lhs \
basicTypes/NameTypes.lhs \
basicTypes/SrcLoc.lhs \
basicTypes/Id.lhs \
basicTypes/IdInfo.lhs \
basicTypes/Inst.lhs \
basicTypes/BasicLit.lhs \
basicTypes/CLabelInfo.lhs \
basicTypes/OrdList.lhs \
\
uniType/TyVar.lhs \
uniType/TyCon.lhs \
uniType/Class.lhs \
uniType/UniType.lhs \
uniType/UniTyFuns.lhs \
uniType/AbsUniType.lhs \
hsSyn/HsBinds.lhs /* abstract Haskell syntax */ \
hsSyn/HsCore.lhs \
hsSyn/HsDecls.lhs \
hsSyn/HsExpr.lhs \
hsSyn/HsImpExp.lhs \
hsSyn/HsLit.lhs \
hsSyn/HsMatches.lhs \
hsSyn/HsPat.lhs \
hsSyn/HsPragmas.lhs \
hsSyn/HsTypes.lhs \
hsSyn/HsSyn.lhs
#define NOT_SO_BASICSRCS_LHS \
basicTypes/Unique.lhs \
basicTypes/UniqSupply.lhs \
basicTypes/ProtoName.lhs \
basicTypes/Name.lhs \
basicTypes/NameTypes.lhs \
basicTypes/SrcLoc.lhs \
basicTypes/Id.lhs \
basicTypes/IdInfo.lhs \
basicTypes/IdUtils.lhs \
basicTypes/PragmaInfo.lhs \
basicTypes/Literal.lhs \
\
abstractSyn/Name.lhs /* abstract Haskell syntax */ \
abstractSyn/HsCore.lhs \
abstractSyn/HsPragmas.lhs \
abstractSyn/HsImpExp.lhs \
abstractSyn/HsDecls.lhs \
abstractSyn/HsBinds.lhs \
abstractSyn/HsMatches.lhs \
abstractSyn/HsLit.lhs \
abstractSyn/HsExpr.lhs \
abstractSyn/HsPat.lhs \
abstractSyn/HsTypes.lhs \
abstractSyn/AbsSyn.lhs \
abstractSyn/AbsSynFuns.lhs \
types/Class.lhs \
types/Kind.lhs \
types/PprType.lhs \
types/TyCon.lhs \
types/TyVar.lhs \
types/Usage.lhs \
types/Type.lhs \
\
rename/Rename.lhs \
rename/Rename1.lhs \
rename/Rename2.lhs \
rename/Rename3.lhs \
rename/Rename4.lhs \
rename/RenameAuxFuns.lhs \
rename/RenameMonad12.lhs \
rename/RenameMonad3.lhs \
rename/RenameMonad4.lhs \
rename/RenameBinds4.lhs \
rename/RenameExpr4.lhs
specialise/SpecEnv.lhs
#define RENAMERSRCS_LHS \
rename/RnPass1.lhs \
rename/RnPass2.lhs \
rename/RnPass3.lhs \
rename/RnPass4.lhs \
rename/RnHsSyn.lhs \
rename/RnUtils.lhs \
rename/RnMonad12.lhs \
rename/RnMonad3.lhs \
rename/RnMonad4.lhs \
rename/RnBinds4.lhs \
rename/RnExpr4.lhs \
rename/Rename.lhs
#define TCSRCS_LHS \
prelude/PrelFuns.lhs \
prelude/PrimKind.lhs \
prelude/PrimOps.lhs \
prelude/TysPrim.lhs \
prelude/TysWiredIn.lhs \
prelude/PrelVals.lhs \
prelude/AbsPrel.lhs \
\
envs/IdEnv.lhs \
envs/TyVarEnv.lhs \
envs/LIE.lhs \
envs/CE.lhs \
envs/E.lhs \
envs/InstEnv.lhs \
envs/TCE.lhs \
envs/TVE.lhs \
\
typecheck/BackSubst.lhs \
typecheck/Disambig.lhs \
typecheck/TcHsSyn.lhs \
typecheck/GenSpecEtc.lhs \
typecheck/Spec.lhs \
typecheck/Subst.lhs \
typecheck/Inst.lhs \
typecheck/TcBinds.lhs \
typecheck/TcClassDcl.lhs \
typecheck/TcClassSig.lhs \
typecheck/TcConDecls.lhs \
typecheck/TcContext.lhs \
typecheck/TcDefaults.lhs \
typecheck/TcDeriv.lhs \
typecheck/TcExpr.lhs \
typecheck/TcGRHSs.lhs \
typecheck/TcGenDeriv.lhs \
typecheck/TcGRHSs.lhs \
typecheck/TcIfaceSig.lhs \
typecheck/TcInstDcls.lhs \
typecheck/TcInstUtil.lhs \
typecheck/TcMatches.lhs \
typecheck/TcModule.lhs \
typecheck/TcMonad.lhs \
typecheck/TcMonadFns.lhs \
typecheck/TcMonoBnds.lhs \
typecheck/TcEnv.lhs \
typecheck/TcKind.lhs \
typecheck/TcType.lhs \
typecheck/TcMonoType.lhs \
typecheck/TcPat.lhs \
typecheck/TcPolyType.lhs \
typecheck/TcPragmas.lhs \
typecheck/TcQuals.lhs \
typecheck/TcSimplify.lhs \
typecheck/TcTyClsDecls.lhs \
typecheck/TcTyDecls.lhs \
typecheck/Typecheck.lhs \
typecheck/Unify.lhs
/*
typecheck/TcPragmas.lhs \
*/
#define DSSRCS_LHS \
coreSyn/AnnCoreSyn.lhs \
coreSyn/CoreSyn.lhs \
coreSyn/PlainCore.lhs \
coreSyn/TaggedCore.lhs \
coreSyn/CoreFuns.lhs \
coreSyn/CoreUnfold.lhs \
coreSyn/FreeVars.lhs \
coreSyn/CoreLift.lhs \
coreSyn/CoreLint.lhs \
\
deSugar/Desugar.lhs \
deSugar/Match.lhs \
deSugar/MatchCon.lhs \
......@@ -214,12 +173,20 @@ deSugar/DsBinds.lhs \
deSugar/DsCCall.lhs \
deSugar/DsExpr.lhs \
deSugar/DsGRHSs.lhs \
deSugar/DsHsSyn.lhs \
deSugar/DsListComp.lhs \
deSugar/DsMonad.lhs \
deSugar/DsUtils.lhs \
\
coreSyn/CoreLift.lhs \
coreSyn/CoreLint.lhs
#define SIMPL_SRCS_LHS \
coreSyn/AnnCoreSyn.lhs \
coreSyn/FreeVars.lhs \
\
specialise/Specialise.lhs \
specialise/SpecTyFuns.lhs \
specialise/SpecUtils.lhs \
\
simplCore/SimplCase.lhs \
simplCore/SimplEnv.lhs \
......@@ -231,17 +198,14 @@ simplCore/Simplify.lhs \
\
simplCore/LiberateCase.lhs \
\
simplCore/BinderInfo.lhs \
simplCore/ConFold.lhs \
simplCore/FloatIn.lhs \
simplCore/FloatOut.lhs \
simplCore/MagicUFs.lhs \
simplCore/SAT.lhs \
simplCore/SATMonad.lhs \
simplCore/SetLevels.lhs \
simplCore/SimplCore.lhs \
simplCore/OccurAnal.lhs \
simplCore/NewOccurAnal.lhs \
simplCore/FoldrBuildWW.lhs \
simplCore/AnalFBWW.lhs \
\
......@@ -255,37 +219,6 @@ profiling/SCCauto.lhs \
profiling/SCCfinal.lhs \
profiling/CostCentre.lhs
#if UseSemantiqueStrictnessAnalyser != YES
#define SEM_STRANAL_SRCS_LHS /* omit */
#else
#define SEM_STRANAL_SRCS_LHS \
stranal-sem/AFE.lhs \
stranal-sem/AbsVal.lhs \
stranal-sem/AssocPair.lhs \
stranal-sem/BuildAFE.lhs \
stranal-sem/ConstrEnv.lhs \
stranal-sem/Cycles.lhs \
stranal-sem/FG.lhs \
stranal-sem/FourProj.lhs \
stranal-sem/OAL.lhs \
stranal-sem/OAT.lhs \
stranal-sem/OL.lhs \
stranal-sem/ProgEnv.lhs \
stranal-sem/ProjBasic.lhs \
stranal-sem/ProjFactor.lhs \
stranal-sem/ProjFolds.lhs \
stranal-sem/ProjGets.lhs \
stranal-sem/ProjLubAnd.lhs \
stranal-sem/REL.lhs \
stranal-sem/StrAnal.lhs \
stranal-sem/StrAnn.lhs \
stranal-sem/StrAnnCore.lhs \
stranal-sem/StrAnnUtil.lhs \
stranal-sem/StrTypeEnv.lhs \
stranal-sem/Transformer.lhs \
stranal-sem/Tree.lhs
#endif /* UseSemantiqueStrictnessAnalyser */
#if GhcWithDeforester != YES
#define __omit_deforester_flag -DOMIT_DEFORESTER=1
#define DEFORESTER_SRCS_LHS /*none*/
......@@ -302,97 +235,10 @@ deforest/Cyclic.lhs \
deforest/TreelessForm.lhs
#endif /* GhcWithDeforester */
#if BuildGHCI != YES
#define __build_ghci_flag /*nope*/
#define NHCSRCS_LHS /* omit */
#define GHCISRCS_LHS /* omit */
#else
#define __build_ghci_flag -DBUILD_GHCI=1
#define NHCSRCS_LHS \
nhcParser/Parse.lhs \
nhcParser/ParseCore.lhs \
nhcParser/ParseLib.lhs \
nhcParser/ParseLex.lhs \
nhcParser/PPSyntax.lhs \
nhcParser/PPLib.lhs \
nhcParser/Lexical.lhs \
nhcParser/Lex.lhs \
nhcParser/LexPre.lhs \
nhcParser/LexStr.lhs \
nhcParser/HS.lhs \
nhcParser/MkSyntax.lhs \
nhcParser/SyntaxPos.lhs \
nhcParser/Syntax.lhs \
nhcParser/Extra.lhs \
nhcParser/ScopeLib.lhs \
nhcParser/Import.lhs \
nhcParser/AttrLib.lhs \
nhcParser/Attr.lhs \
nhcParser/NHCName.lhs \
nhcParser/NameLow.lhs \
nhcParser/ParseI.lhs \
nhcParser/Tree234.lhs \
nhcParser/MergeSort.lhs \
nhcParser/StrName.lhs \
nhcParser/NameLib.lhs \
nhcParser/OsOnly.lhs \
nhcParser/Flags.lhs \
nhcParser/Fixity.lhs \
nhcParser/StrSyntax.lhs \
nhcParser/Either.lhs \
nhcParser/ListUtil.lhs \
nhcParser/NHCPackedString.lhs \
nhcParser/HbcOnly.lhs \
nhcParser/LexLow.lhs
/* Bits we don't need after all. ToDo: delete their source...
nhcParser/IName.lhs \
nhcParser/IExtract.lhs \
nhcParser/Error.lhs \
nhcParser/BindLib.lhs \
nhcParser/BindI.lhs
*/
#define GHCISRCS_LHS \
interpreter/ToPrefix.lhs \
interpreter/UnsafeCoerce.lhs \
interpreter/Dynamic.lhs \
interpreter/Interpreter.lhs \
interpreter/MkInterface.lhs \
interpreter/GHCIMonad.lhs \
interpreter/FullEnv.lhs \
interpreter/Command.lhs \
interpreter/GHCIFlags.lhs \
interpreter/GHCInterface.lhs \
interpreter/GHCI.lhs \
interpreter/GHCICore.lhs \
interpreter/Dld.lhs
/* ToDo: mkworld-ify */
DLD_DIR = ./dld
DLD_LIB = $(DLD_DIR)/libdld.a
DLD_INCLUDE = $(DLD_DIR)/dld.h
DLD_OBJS_O = \
dld/dld.o \
dld/find_exec.o \
dld/define.o \
dld/get_func.o \
dld/get_symbol.o \
dld/list_undef.o \
dld/mk_dummy.o \
dld/ref.o \
dld/ul_file.o \
dld/ul_symbol.o \
dld/remove.o \
dld/error.o
#endif /* BuildGHCI */
#define BACKSRCS_LHS \
stgSyn/CoreToStg.lhs \
stgSyn/StgSyn.lhs \
stgSyn/StgFuns.lhs \
stgSyn/StgUtils.lhs \
stgSyn/StgLint.lhs \
\
simplStg/SatStgRhs.lhs \
......@@ -404,17 +250,17 @@ simplStg/StgSATMonad.lhs \
simplStg/StgSAT.lhs \
simplStg/SimplStg.lhs \
\
absCSyn/AbsCUtils.lhs \
absCSyn/AbsCSyn.lhs \
absCSyn/CLabel.lhs \
absCSyn/Costs.lhs \
absCSyn/HeapOffs.lhs \
absCSyn/AbsCFuns.lhs \
absCSyn/PprAbsC.lhs \
\
codeGen/CodeGen.lhs \
codeGen/ClosureInfo.lhs \
codeGen/SMRep.lhs \
codeGen/CgConTbls.lhs \
codeGen/CgCompInfo.lhs \
codeGen/CgMonad.lhs \
codeGen/CgUsages.lhs \
codeGen/CgHeapery.lhs \
......@@ -434,36 +280,30 @@ codeGen/CgUpdate.lhs
distributed C files, which do not have a native-code
generator in them
*/
#define __omit_ncg_maybe -DOMIT_NATIVE_CODEGEN=1
#define NATIVEGEN_SRCS_LHS /*none*/
# define __omit_ncg_maybe -DOMIT_NATIVE_CODEGEN=1
# define NATIVEGEN_SRCS_LHS /*none*/
#else
#define __omit_ncg_maybe /*none*/
#if i386_TARGET_ARCH
#define __machdep_nativegen_lhs \
# define __omit_ncg_maybe /*none*/
# if i386_TARGET_ARCH
# define __machdep_nativegen_lhs \
nativeGen/I386Desc.lhs \
nativeGen/I386Code.lhs \
nativeGen/I386Gen.lhs
#define __ghci_machdep_nativegen_lhs \
nativeGen/I386Code.lhs
#endif
#if sparc_TARGET_ARCH
#define __machdep_nativegen_lhs \
# endif
# if sparc_TARGET_ARCH
# define __machdep_nativegen_lhs \
nativeGen/SparcDesc.lhs \
nativeGen/SparcCode.lhs \
nativeGen/SparcGen.lhs
#define __ghci_machdep_nativegen_lhs \
nativeGen/SparcCode.lhs
#endif
#if alpha_TARGET_ARCH
#define __machdep_nativegen_lhs \
# endif
# if alpha_TARGET_ARCH
# define __machdep_nativegen_lhs \
nativeGen/AlphaDesc.lhs \
nativeGen/AlphaCode.lhs \
nativeGen/AlphaGen.lhs
#define __ghci_machdep_nativegen_lhs \
nativeGen/AlphaCode.lhs
#endif
# endif
#define NATIVEGEN_SRCS_LHS \
# define NATIVEGEN_SRCS_LHS \
nativeGen/AbsCStixGen.lhs \
nativeGen/AsmCodeGen.lhs \
nativeGen/AsmRegAlloc.lhs \
......@@ -477,127 +317,81 @@ __machdep_nativegen_lhs /*arch-specific ones */
#endif
#define UTILSRCS_LHS \
utils/CharSeq.lhs \
utils/Argv.lhs \
utils/Bag.lhs \
utils/Pretty.lhs \
utils/Unpretty.lhs \
utils/Maybes.lhs \
utils/Digraph.lhs \
utils/BitSet.lhs \
utils/LiftMonad.lhs \
utils/CharSeq.lhs \
utils/Digraph.lhs \
utils/FiniteMap.lhs \
utils/ListSetOps.lhs \
utils/MatchEnv.lhs \
utils/Maybes.lhs \
utils/OrdList.lhs \
utils/Outputable.lhs \
utils/FiniteMap.lhs \
utils/PprStyle.lhs \
utils/Pretty.lhs \
utils/SST.lhs \
utils/UniqFM.lhs \
utils/UniqSet.lhs \
utils/Unpretty.lhs \
utils/Util.lhs
#if BuildDataParallelHaskell != YES
#define DPH_SRCS_LHS /*none*/
#else
#define DPH_SRCS_LHS \
\
typecheck/TcParQuals.lhs \
deSugar/DsParZF.lhs \
deSugar/MatchProc.lhs \
prelude/ClsPid.lhs \
prelude/ClsProc.lhs \
prelude/TyPod.lhs \
prelude/TyProcs.lhs \
\
podizeCore/PodInfoTree.lhs \
podizeCore/PodInfoMonad.lhs \
podizeCore/PodInfo1.lhs \
podizeCore/PodInfo2.lhs \
podizeCore/PodizeMonad.lhs \
podizeCore/PodizePass0.lhs \
podizeCore/PodizePass1.lhs \
podizeCore/PodizePass2.lhs \
podizeCore/PodizeCore.lhs
#endif /* DPH */
#define MAIN_SRCS_LHS \
main/MkIface.lhs \
main/ErrUtils.lhs \
main/ErrsRn.lhs \
main/ErrsTc.lhs \
main/Errors.lhs \
main/MainMonad.lhs \
main/CmdLineOpts.lhs \
main/ErrUtils.lhs \
main/Main.lhs
/*
main/MkIface.lhs \
*/
#define VBASICSRCS_LHS \
prelude/PrelMods.lhs \
prelude/PrimRep.lhs \
prelude/PrimOp.lhs \
prelude/TysPrim.lhs \
prelude/TysWiredIn.lhs \
prelude/PrelVals.lhs \
prelude/PrelInfo.lhs \
\
absCSyn/CStrings.lhs \
codeGen/CgCompInfo.lhs \
coreSyn/CoreSyn.lhs \
coreSyn/CoreUnfold.lhs \
coreSyn/CoreUtils.lhs \
coreSyn/PprCore.lhs \
profiling/CostCentre.lhs \
simplCore/BinderInfo.lhs \
simplCore/MagicUFs.lhs
ALLSRCS_HS = READERSRCS_HS
ALLSRCS_LHS = /* all pieces of the compiler */ \
READERSRCS_LHS \
FRONTSRCS_LHS \
TCSRCS_LHS \
DSSRCS_LHS \
BACKSRCS_LHS \
VBASICSRCS_LHS \
NOT_SO_BASICSRCS_LHS \
UTILSRCS_LHS \
MAIN_SRCS_LHS \
UTILSRCS_LHS NATIVEGEN_SRCS_LHS DEFORESTER_SRCS_LHS SEM_STRANAL_SRCS_LHS DPH_SRCS_LHS NHCSRCS_LHS GHCISRCS_LHS
/* NB: all the ones that may be empty (e.g., DPH_SRCS_LHS)
need to be on the last line.
*/
HSCSRCS_HS = READERSRCS_HS
HSCSRCS_LHS = /* all pieces of the compiler */ \
READERSRCS_LHS \
FRONTSRCS_LHS \
RENAMERSRCS_LHS \
TCSRCS_LHS \
DSSRCS_LHS \
BACKSRCS_LHS \
MAIN_SRCS_LHS \
UTILSRCS_LHS NATIVEGEN_SRCS_LHS DEFORESTER_SRCS_LHS SEM_STRANAL_SRCS_LHS DPH_SRCS_LHS
/*
As well as the obvious inclusions, there are a few non-obvious ones
obtained from the transitive closure:
* main/Errors.lhs andmain/CmdLineOpts.lhs are actually used.
* most of the rest trickles in through the prelude.
ToDo: hack around in the prelude to avoid all this...
DSSRCS_LHS
/*
SIMPL_SRCS_LHS
BACKSRCS_LHS
*/
GHCISRCS = /* all pieces of the interpreter */ \
FRONTSRCS_LHS \
TCSRCS_LHS \
DSSRCS_LHS \
main/Errors.lhs \
main/ErrUtils.lhs \
main/ErrsRn.lhs \
main/ErrsTc.lhs \
main/CmdLineOpts.lhs \
main/MainMonad.lhs \
absCSyn/HeapOffs.lhs \
codeGen/SMRep.lhs \
codeGen/CgCompInfo.lhs \
codeGen/ClosureInfo.lhs \