New patches: [Initial support for IHC - known as H/Direct, an IDL compiler for Haskell, over SOURCE shelarcy **20060308180901] { hunk ./Distribution/PackageDescription.hs 202 + ihcOptions :: [String], -- ^ options for ihc hunk ./Distribution/PackageDescription.hs 222 + ihcOptions = [], hunk ./Distribution/PackageDescription.hs 312 + ihcOptions = combine ihcOptions, hunk ./Distribution/PackageDescription.hs 431 + , listField "ihc-options" + showToken parseTokenQ + ldOptions (\val binfo -> binfo{ihcOptions=val}) hunk ./Distribution/PackageDescription.hs 724 + "IHC-OPTIONS: ", hunk ./Distribution/PreProcess.hs 44 - ppHappy, ppAlex, ppUnlit + ppHappy, ppAlex, ppUnlit, ppIhc hunk ./Distribution/PreProcess.hs 281 +ppIhc :: BuildInfo -> LocalBuildInfo -> PreProcessor +ppIhc bi lbi + = maybe (ppNone "ihc") pp (withIhc lbi) + where pp n = standardPP n ((hcFlags hc) ++ (ihcOptions bi)) + hc = compilerFlavor (compiler lbi) + hcFlags Hugs = ["--hugs"] + hcFlags _ = [] + hunk ./Distribution/PreProcess.hs 301 --- |Standard preprocessors: GreenCard, c2hs, hsc2hs, happy, alex and cpphs. +-- |Standard preprocessors: GreenCard, c2hs, hsc2hs, happy, alex, cpphs and ihc. hunk ./Distribution/PreProcess.hs 311 + , ("idl", ppIhc) hunk ./Distribution/Setup.hs 119 + configIhc :: Maybe FilePath, -- ^Ihc path hunk ./Distribution/Setup.hs 158 + configIhc = Nothing, hunk ./Distribution/Setup.hs 211 - | WithGreencard FilePath + | WithGreencard FilePath | WithIhc FilePath hunk ./Distribution/Setup.hs 409 + Option "" ["with-ihc"] (reqPathArg WithIhc) + "give the path to ihc", hunk ./Distribution/Setup.hs 475 + updateCfg t (WithIhc path) = t { configIhc = Just path } hunk ./Distribution/Simple/Configure.hs 166 + ihc <- findProgram "ihc" (configIhc cfg) hunk ./Distribution/Simple/Configure.hs 201 + withIhc=ihc, hunk ./Distribution/Simple/Configure.hs 230 + reportProgram "ihc" ihc hunk ./Distribution/Simple/LocalBuildInfo.hs 109 + withIhc :: Maybe FilePath, -- ^Might be the location of the Ihc executable. } Context: [export configDependency Simon Marlow **20060303155527] [comment fix Simon Marlow **20060303155516] [don't check cabal-version during parsing, it doesn't work Simon Marlow **20060303155500 because parsers are evaluated multiple times due to backtracking. ] [no need to use a verbatim copy of System.Console.GetOpt, omit if possible Simon Marlow **20060303144025] [Support for -split-objs with GHC Simon Marlow **20060302170907 New configure option: --enable-split-objs creates libraries using -split-objs with GHC (current HEAD or later only, the configure checks for version 6.5). Fixes ticket #19. ] [Initial support for JHC Einar Karttunen **20060206233543] [added some fields to test suite for duncan's mods ijones@syntaxpolice.org**20060204223256] [fixup PackageDescription test code Duncan Coutts **20060201183912 just ignore the extra ParseOk warnings field ] [ignore "x-" extension fields without a warning Duncan Coutts **20060201183145] [Make unknown fields a warning rather than an error Duncan Coutts **20060201182944 Add support for warnings to the ParseResult type. Change existing warnings from using Debug.Trace to use this new warning support. ] [fix conflict Simon Marlow **20060206095833] [push and pull all ijones@syntaxpolice.org**20060201185441] [combine GNUmakefile and Makefile Simon Marlow **20060206095400] [now build Setup.lhs instead of using runghc on it. still uses runhugs. ijones@syntaxpolice.org**20060130054810] [cabal-install uses defaultMain if it can't find Setup.lhs ijones@syntaxpolice.org**20060130050710] [cleaned up suffix handler params to hooks ijones@syntaxpolice.org**20060116064811 Summary if last few changes: I modified the hooks interface quite a bit, again. There's good news and bad news about this. The good news is that it's cleaned up and should be easier to maintain and to avoid future modifications. The bad news is that this change itself will break stuff, of course. If you have any trouble building your Setup scripts, please let me know. I really think that it was best to bite the bullet right now in one big go instead of down the road with lots of little changes. I have a lot more confidence in the hooks interface, and I don't actually expect that it'll change as often. I made the types more consistent, and made sure there are accessor functions on each of the Flags types so that if the flags types change in the future, it shouldn't break lots of code. Another piece of good / bad news is that I decided not to get rid of the pre & post hooks. They are nice for convenience and it wouldn't be nearly so easy to write hooks without them. That's bad because the interface to hooks is still pretty big, which means that there's more likelihood that it'll change in the future. Another weakness in the Hooks interface is that with command hooks (like sDistHook) it's tempting to add parameters to them; basically the stuff that we compute between the preSDist and sDist hook. I removed such params and have their values computed elsewhere. Cabal hackers, please avoid adding parameters to these command hooks if at all possible in order to keep the interface steady. If you need to compute a value to pass to these functions, compute it in the function and / or make it available as a function that someone crafting hooks can use as well, or consider whether it belongs in one of the parameters already being passed to the hooks, PackageDescription, LocalBuildInfo, UserHooks, Flags. ] [make the order of params to cmd hooks consistent ijones@syntaxpolice.org**20060116055858] [remove some flags from sdist, some cleanup ijones@syntaxpolice.org**20060116053818] [clarifying and making flags types consistent ijones@syntaxpolice.org**20060116035033] [changing tuple types to records w/ fields ijones@syntaxpolice.org**20060115234317] [moving TODO stuff to wiki ijones@syntaxpolice.org**20060115234303] [fix version number in fptools makefile to match .cabal file ijones@syntaxpolice.org**20060201183331] [Add extraGHCiLibraries to the InstalledPackageInfo and extend the parser. Duncan Coutts **20060131163640] [re-add the GNUmakefiles Simon Marlow *-20060123115236 These are now safe after we added "-f Makefile" to the make args when invoked from the GHC build system. This repo should now be useable as the main Cabal repo. ] [re-add the GNUmakefiles Simon Marlow **20060123115236 These are now safe after we added "-f Makefile" to the make args when invoked from the GHC build system. This repo should now be useable as the main Cabal repo. ] [TAG checkpoint simonmar@microsoft.com**20060113152542] Patch bundle hash: 79129e302576e57690ec9d57a0ae85986b4411d3