Ways and Build Tags for Optimisation

I'd like to include three different flavours of my HBase package, with these combinations of optimisation and profiling: release: optimised (with -O -fvia-C) profiling: optimised and profiled quick: neither The release and profiling flavours take forever to compile, so it's useful to have a "quick" flavour to speed up the development cycle. The trouble is, any Haskell program using the release flavour of HBase also compiles very slowly, even if it itself does not use -O. If nothing else, this may be due to the huge interface file for the root import: $ ls -Al HBase.*hi -rw-r--r-- 1 ashley ashley 2117554 May 28 04:04 HBase.hi -rw-r--r-- 1 ashley ashley 2119865 May 28 08:15 HBase.p_hi -rw-r--r-- 1 ashley ashley 72669 May 28 16:20 HBase.q_hi So what I'd like to do is include the "quick" version with suffices .q_hi and .q_o within the "hbase" package, just as profiling has .p_hi and .p_o. However, simply using -hisuf and -osuf seems not to be sufficient to force GHC to use those suffices when looking for files within HBase. I looked in fptools/ghc/compiler/main/DriverState.hs to see how GHC does this sort of thing for profiling: the file speaks of "ways" and "build tags" but I can't find any reference to these in the GHC manual. How would I use one of the "user ways"? -- Ashley Yakeley, Seattle WA
participants (1)
-
Ashley Yakeley