2 %************************************************************************
4 \section[mkworld-utils-ghc]{``Utilities'' stuff for @ghc@ project}
6 %************************************************************************
8 It's become sorta traditional to change the project-wide
9 Haskell-compiler options with @SetupHcOpts@ (rather than
13 #if GhcWithHscOptimised == YES
16 #define __hsc_opt /**/
20 #if HaskellCompilerType == HC_CHALMERS_HBC
21 #define SetupHcOpts __hsc_opt -fpbu
23 #if HaskellCompilerType == HC_GLASGOW_GHC
24 #define SetupHcOpts __hsc_opt -hi-diffs -link-chk
26 #if HaskellCompilerType == HC_ROJEMO_NHC
27 #define SetupHcOpts /*nothing*/
29 #define SetupHcOpts /*nothing*/
33 #endif /* SetupHcOpts */
36 #if HaveGcc == YES && UseGcc == YES
37 /* can cope w/ "-g -O" ...; but leave out -g to avoid bloated libs */
38 #define ProjectCcOpts -O /*-g*/
40 #define ProjectCcOpts /*-g*/
41 #endif /* Gcc whatnot */
42 #endif /* ProjectCcOpts */
44 #ifndef ProjectJmakeDefines
45 #define ProjectJmakeDefines /*none*/
49 #define MkDependHSSrc $(GHC_UTILSRC)/mkdependHS
53 #if defined(UseInstalledUtils)
54 #define MkDependHSCmd mkdependHS
56 #define MkDependHSCmd $(MKDEPENDHSSRC)/mkdependHS
58 #endif /* ! MkDependHSCmd */
60 #ifndef MkDependHSNeededHere
61 #if defined(UseInstalledUtils)
62 #define MkDependHSNeededHere(target) /**/
64 #define MkDependHSNeededHere(target) \
65 __SomeUtilNeededHere(target,$(MKDEPENDHS),$(MKDEPENDHSSRC),mkdependHS)
66 #endif /* UseInstalledUtils */
67 #endif /* MkDependHSNeededHere */
69 #ifndef UseInstalledUtils
70 MKDEPENDHSSRC = MkDependHSSrc
74 #define UnlitCmd $(GHC_UNLITSRC)/unlit
77 #ifndef UnlitNeededHere
78 #define UnlitNeededHere(target) \
79 __SomeUtilNeededHere(target,$(GHC_UNLIT),$(GHC_UNLITSRC),unlit)
80 #endif /* UnlitNeededHere */
83 GHC_UNLITSRC = $(GHC_UTILSRC)/unlit
86 #define HsTagsSrc $(GHC_UTILSRC)/hstags
88 #if defined(UseInstalledUtils)
89 #define HsTagsCmd hstags
91 #define HsTagsCmd $(HSTAGSSRC)/hstags
94 #ifndef HsTagsNeededHere
95 #if defined(UseInstalledUtils)
96 #define HsTagsNeededHere(target) /**/
98 #define HsTagsNeededHere(target) \
99 __SomeUtilNeededHere(target,$(HSTAGS),$(HSTAGSSRC),hstags)
100 #endif /* UseInstalledUtils */
101 #endif /* HsTagsNeededHere */
103 #ifndef UseInstalledUtils
104 HSTAGSSRC = HsTagsSrc
107 #ifndef AllProjectsHsTagsOpts
108 #define AllProjectsHsTagsOpts /*none*/
110 #ifndef PlatformHsTagsOpts
111 #define PlatformHsTagsOpts /*none*/
113 #ifndef ProjectHsTagsOpts
114 #define ProjectHsTagsOpts /*none*/
116 #ifndef SetupHsTagsOpts
117 #define SetupHsTagsOpts /*none*/
119 GenerateOptionsMakeVars(HSTAGS,OPTS,AllProjectsHsTagsOpts,PlatformHsTagsOpts,ProjectHsTagsOpts,SetupHsTagsOpts)
120 HSTAGSFLAGS = $(GLUED_HSTAGS_OPTS)
122 /* ugen: allegedly generally-useful util from LML distribution */
124 #if defined(UseInstalledUtils)
127 #define UgenCmd $(UGENSRC)/ugen
130 #ifndef UgenNeededHere
131 #if defined(UseInstalledUtils)
132 #define UgenNeededHere(target) /**/
134 #define UgenNeededHere(target) \
135 __SomeUtilNeededHere(target,$(UGEN),$(UGENSRC),ugen)
136 #endif /* ! UseInstalledUtils */
137 #endif /* UgenNeededHere */
139 #ifndef UseInstalledUtils
140 UGENSRC = $(GHC_UTILSRC)/ugen