# line 8 "mkworld/only4-ghc.ljm" /* Project identification - name and version */ #ifndef ProjectName #define ProjectName The Glorious Glasgow Haskell Compilation System #endif /* ProjectVersion is something printable */ #ifndef ProjectVersion #define ProjectVersion 0.27 #endif /* A patchlevel change is something *very minor* */ #ifndef ProjectPatchLevel #define ProjectPatchLevel patchlevel 0 #endif /* GhcBuildeeVersion is something CPP-testable (ProjectVersion * 100) */ #ifndef GhcBuildeeVersion #define GhcBuildeeVersion 27 #endif # line 29 "mkworld/only4-ghc.ljm" /* state of the source world */ GHC_DRIVERSRC = $(TOP)/ghc/driver GHC_COMPILERSRC = $(TOP)/ghc/compiler GHC_RUNTIMESRC = $(TOP)/ghc/runtime GHC_LIBSRC = $(TOP)/ghc/lib GHC_INCLUDESRC = $(TOP)/ghc/includes GHC_UTILSRC = $(TOP)/ghc/utils GHC_BOOKSRC = $(TOP)/ghc/book # line 41 "mkworld/only4-ghc.ljm" #ifndef GhcIncludesDir #define GhcIncludesDir $(GHC_INCLUDESRC) #endif GHC_INCLUDES = GhcIncludesDir # line 51 "mkworld/only4-ghc.ljm" #ifndef AllProjectsGhcOpts #define AllProjectsGhcOpts /*none*/ #endif #ifndef PlatformGhcOpts #define PlatformGhcOpts /*none*/ #endif #if HaskellCompilerType == HC_CHALMERS_HBC GHC_RTS_STYLE = 'hbc' #else # if HaskellCompilerType == HC_ROJEMO_NHC GHC_RTS_STYLE = 'ghc' /* wrong, but more likely to trigger something */ # else GHC_RTS_STYLE = 'ghc' # endif #endif #ifndef ProjectGhcOpts #define ProjectGhcOpts -hi-diffs -dcore-lint -link-chk #endif /* ! ProjectGhcOpts */ #ifndef SetupGhcOpts #define SetupGhcOpts /*none*/ #endif GenerateOptionsMakeVars(GHC,OPTS,AllProjectsGhcOpts,PlatformGhcOpts,ProjectGhcOpts,SetupGhcOpts) GHCFLAGS=$(GLUED_CPP_DEFINES) $(GLUED_GHC_OPTS) # line 95 "mkworld/only4-ghc.ljm" /* build York interpreter as well as Glasgow compiler */ #ifndef BuildYorkInterpreter #define BuildYorkInterpreter NO #endif /* incorporate Semantique strictness analyser into the compiler; it analyses, but the info generated is *UNUSED* :-( */ #ifndef UseSemantiqueStrictnessAnalyser #define UseSemantiqueStrictnessAnalyser NO #endif # line 116 "mkworld/only4-ghc.ljm" /* defaults for which pieces should be installed */ /* ToDo: possibly obsolete */ #ifndef DoInstallGHCSystem #define DoInstallGHCSystem YES #endif /* DoInstallGHCSystem */ # line 124 "mkworld/only4-ghc.ljm" /* ------------------------------------------------------------------ */ /* compiler-proper subsystem: the lib/data bits are installed w/ a version number as well */ #ifndef InstBinDir_GHC # if AT_GLASGOW # define InstBinDir_GHC $(exec_prefix_GHC)/bin/`/usr/local/gnu/bin/hw_os` # else # define InstBinDir_GHC $(exec_prefix_GHC)/bin # endif #endif /* scripts are platform-independent */ #ifndef InstScriptDir_GHC #define InstScriptDir_GHC $(exec_prefix_GHC)/bin #endif /* main "internally-used-by-GHC" stuff */ #ifndef InstLibDir_GHC #define InstLibDir_GHC $(prefix_GHC)/lib/ghc/$(PROJECTVERSION)/$(HOSTPLATFORM) #endif /* "data" is defined (by WDP) to be platform-independent library stuff */ #ifndef InstDataDir_GHC #define InstDataDir_GHC $(prefix_GHC)/lib/ghc/$(PROJECTVERSION) #endif prefix_GHC = InstRootDir_GHC /* set by configure */ exec_prefix_GHC = InstBinRootDir_GHC /* ditto */ INSTBINDIR_GHC = InstBinDir_GHC INSTSCRIPTDIR_GHC = InstScriptDir_GHC INSTLIBDIR_GHC = InstLibDir_GHC INSTDATADIR_GHC = InstDataDir_GHC # line 183 "mkworld/only4-ghc.ljm" #ifndef GhcDriverInstallName #define GhcDriverInstallName ghc #endif /* ! GhcDriverInstallName */ GHC_DRIVER_INST_NAME = GhcDriverInstallName # line 197 "mkworld/only4-ghc.ljm" /* ghc: std driver for compilation system */ #ifndef GhcDriverCmd #define GhcDriverCmd $(GHC_DRIVERSRC)/ghc #endif /* macro to make sure it has been built */ #ifndef GhcDriverNeededHere #define GhcDriverNeededHere(target) \ __SomeUtilNeededHere(target,$(GHC),$(GHC_DRIVERSRC),all) #endif /* could be GHC_DRIVER, but GHC is its common name */ GHC = GhcDriverCmd # line 218 "mkworld/only4-ghc.ljm" #ifndef HsCppCmd #define HsCppCmd $(GHC_HSCPPSRC)/hscpp #endif #ifndef HsCppNeededHere #define HsCppNeededHere(target) \ __SomeUtilNeededHere(target,$(GHC_HSCPP),$(GHC_HSCPPSRC),hscpp) #endif GHC_HSCPP = HsCppCmd $(ALLPROJ_CPP_DEFINES) GHC_HSCPPSRC = $(GHC_UTILSRC)/hscpp # line 233 "mkworld/only4-ghc.ljm" #ifndef HsParserCmd #define HsParserCmd $(GHC_HSPSRC)/hsp #endif #ifndef HsParserNeededHere #define HsParserNeededHere(target) \ __SomeUtilNeededHere(target,$(GHC_HSP),$(GHC_HSPSRC),hsp) #endif /* HsParserNeededHere */ GHC_HSP = HsParserCmd GHC_HSPSRC = $(GHC_HSCSRC) # line 248 "mkworld/only4-ghc.ljm" #ifndef HsCompilerCmd #define HsCompilerCmd $(GHC_HSCSRC)/hsc #endif #ifndef HsCompilerNeededHere #define HsCompilerNeededHere(target) \ __SomeUtilNeededHere(target,$(GHC_HSC),$(GHC_HSCSRC),hsc) #endif /* HsCompilerNeededHere */ GHC_HSC = HsCompilerCmd GHC_HSCSRC = $(GHC_COMPILERSRC) # line 263 "mkworld/only4-ghc.ljm" #ifndef SysManCmd #define SysManCmd $(GHC_RUNTIMESRC)/gum/SysMan #endif #ifndef SysManNeededHere #define SysManNeededHere(target) \ __SomeUtilNeededHere(target,$(GHC_SYSMAN),$(GHC_SYSMANSRC),gum/SysMan) #endif /* SysManNeededHere */ GHC_SYSMAN = SysManCmd GHC_SYSMANSRC = $(GHC_RUNTIMESRC) # line 318 "mkworld/only4-ghc.ljm" /* NON-OPTIMISING C COMPILATION: ================================== We can use GCC 2.n for the non-optimising (normal) .hc C compilation [use it if we have it] */ #ifndef GhcUseGccForDebuggingAsm #if HaveGcc == YES #define GhcUseGccForDebuggingAsm YES #else #define GhcUseGccForDebuggingAsm NO #endif #endif #ifndef GhcDebuggingHighLevelAsmCmd #if GhcUseGccForDebuggingAsm == YES #define GhcDebuggingHighLevelAsmCmd WhatGccIsCalled #else #define GhcDebuggingHighLevelAsmCmd $(CC) #endif /* ! gcc */ #endif /* GhcDebuggingHighLevelAsmCmd */ GHC_DEBUG_HILEV_ASM = GhcDebuggingHighLevelAsmCmd # line 342 "mkworld/only4-ghc.ljm" /* OPTIMISING C COMPILATION (regs, etc): ========================== Must use GCC 2.n for this compilation [OFF by default] */ /* We have GCC, which is necessary for optimising the Haskell compiler's C output. */ #ifndef GhcUseGccForOptAsm #if HaveGcc == YES #define GhcUseGccForOptAsm YES #else #define GhcUseGccForOptAsm NO #endif #endif #ifndef GhcOptHighLevelAsmCmd #if GhcUseGccForOptAsm == YES #define GhcOptHighLevelAsmCmd WhatGccIsCalled GHC_GCC_IS_AVAILABLE = 1 #else GHC_GCC_IS_AVAILABLE = 0 #endif /* ! gcc */ #endif /* GhcOptHighLevelAsmCmd */ GHC_OPT_HILEV_ASM = GhcOptHighLevelAsmCmd