
Looks good to me. Moving post-conditions into the type is a Good Idea (tm). [cleared for apply -- duncan? ;) ] On 16 aug 2007, at 02.39, Esa Ilari Vuokko wrote:
Hi,
I went hunting the few last warnings I see on Cabal build; In Configuration.hs, resolveWithFlags, env has no case for ConfVar's Impl. I started adding signatures, and then it occured to me, is there actually two types of ConfVar?
One that is one flag. data ConfFlag = Flag String
And one that has the other cases as well data ConfVar = OS String | Arch String | Impl String VersionRange | ConfFlag ConfFlag
That leads to changing some d -> Maybe Bool to d -> Either d2 Bool and so on. Does this sound sensible? This is what the main part (Split ConfVar) of the patch bundle does.
I tested by compiling Cabal's setup with changes, and compiling Cabal afterwards. I realize this isn't good enough test case; But it appears that the test in Configuration.hs aren't run; Maybe I am missing something with my fix-tests patch or running "make tests" doesn't work (possibly only under msys shell)?
Best regards, Esa
Thu Aug 16 03:20:09 FLE Daylight Time 2007 Esa Ilari Vuokko
* Make 'make tests' runnable again Thu Aug 16 03:31:05 FLE Daylight Time 2007 Esa Ilari Vuokko
* Split ConfVar into ConfFlag and ConfVar New patches:
[Make 'make tests' runnable again Esa Ilari Vuokko
**20070816002009] { hunk ./Distribution/Simple/Register.hs 52 - hunitTests + hunitTests, installedPkgConfigFile hunk ./tests/ModuleTest.hs 56 -import Distribution.Compiler (CompilerFlavor(..), Compiler(..)) +import Distribution.Compiler (CompilerFlavor(..), Compiler(..), compilerVersion) } [Split ConfVar into ConfFlag and ConfVar Esa Ilari Vuokko
**20070816003105] { hunk ./Distribution/Configuration.hs 82 +-- | A @ConfFlag@ represents an user-defined flag +data ConfFlag = ConfFlag String + deriving Eq + hunk ./Distribution/Configuration.hs 89 - | Flag String + | Flag ConfFlag hunk ./Distribution/Configuration.hs 96 - show (Flag f) = "flag(" ++ f ++ ")" + show (Flag (ConfFlag f)) = "flag(" ++ f ++ ")" hunk ./Distribution/Configuration.hs 120 - -> (c -> Maybe Bool) -- ^ (partial) variable assignment - -> (Condition c, [c]) + -> (c -> Either d Bool) -- ^ (partial) variable assignment + -> (Condition d, [d]) hunk ./Distribution/Configuration.hs 125 - Var v -> maybe (Var v) Lit (i v) + Var v -> either Var Lit (i v) hunk ./Distribution/Configuration.hs 155 - (Condition ConfVar, [String]) + (Condition ConfFlag, [String]) hunk ./Distribution/Configuration.hs 159 - interp (OS name) = Just $ name == os - interp (Arch name) = Just $ name == arch - interp (Impl i vr) = Just $ impl == i && implVer `withinRange` vr - interp _ = Nothing - flags = [ fname | Flag fname <- fvs ] + interp (OS name) = Right $ name == os + interp (Arch name) = Right $ name == arch + interp (Impl i vr) = Right $ impl == i && implVer `withinRange` vr + interp (Flag f) = Left f + flags = [ fname | ConfFlag fname <- fvs ] hunk ./Distribution/Configuration.hs 194 - flagCond = string "flag" >> sp >> inparens flagIdent >>= return . Var . Flag + flagCond = string "flag" >> sp >> inparens flagIdent >>= return . Var . Flag . ConfFlag hunk ./Distribution/Configuration.hs 331 - env _ (OS o) = Just $ o == os - env _ (Arch a) = Just $ a == arch - env flags (Flag n) = lookup n flags + env flags flag@(ConfFlag n) = maybe (Left flag) Right . lookup n $ flags hunk ./Distribution/Configuration.hs 354 - (v -> Maybe Bool) + (v -> Either v Bool) hunk ./Distribution/Configuration.hs 392 - [ (CNot (Var (Flag "a")), + [ (CNot (Var (Flag (ConfFlag "a"))), hunk ./Distribution/Configuration.hs 395 - , (CAnd (Var (Flag "b")) (Var (Flag "c")), + , (CAnd (Var (Flag (ConfFlag "b"))) (Var (Flag (ConfFlag "c"))), hunk ./Distribution/Configuration.hs 407 - (CAnd (Var (Flag "debug")) (Var (OS darwin))) + (CAnd (Var (Flag (ConfFlag "debug"))) (Var (OS darwin))) hunk ./Distribution/Configuration.hs 435 -test_simpCondTree = simplifyCondTree (flip lookup flags) tstTree +test_simpCondTree = simplifyCondTree env tstTree hunk ./Distribution/Configuration.hs 437 - flags = [(Flag "a",False), (Flag "b",False), (Flag "c", True)] + env x = maybe (Left x) Right (lookup x flags) + flags = [(mkFlag "a",False), (mkFlag "b",False), (mkFlag "c", True)] + mkFlag = Flag . ConfFlag } Context:
[Fix Paths_pkg.hs generation Esa Ilari Vuokko
**20070814204557] [Warning police: Add type signatures and rename arg Esa Ilari Vuokko **20070814160830] [Warning police: Remove unused statement and import Esa Ilari Vuokko **20070814143057] [Warning police: provide fallback pattern match Esa Ilari Vuokko **20070814143008] [Reorder, make explicit and beautify imports Esa Ilari Vuokko **20070814142000] [Refactor the code for managing installation directories Duncan Coutts **20070814092320 New types for the collection of installation directory templates and a separate type for the collection of actual real install FilePaths. The templates are represented with a PathTemplate adt. Dir templates can now be relative to each other, eg $htmldir to $docdir Default install dir templates are now specified compactly in one place. Adding new dirs should be considerably simpler than previously. This patch should not actualy change where anything is installed. ] [ghc only supports the -x flag in 6.6 and above Duncan Coutts **20070814090557] [update ghc-pkg field parse error message Duncan Coutts **20070812170800] [Clean up import ordering and format Esa Ilari Vuokko **20070811113227] [Explicit imports Esa Ilari Vuokko **20070811111518] [Use existing parsers to handle ghc-pkg field output Esa Ilari Vuokko **20070809041153] [Never generate empty language extension flags Duncan Coutts **20070808235240 Needed because some compilers support some language extensions by default so need no flag to turn those extensions on. ] [Cabal now depends on teh containers package Ian Lynagh **20070801235622] [fix build with GHC 6.2.x Simon Marlow **20070809102844] [Parse the output of ghc --supported-languages correctly Magnus Jonsson **20070808204523] [Oops, fix deprecated Distribution.Extension module Duncan Coutts **20070807172125 it no longer exports the internal per-compiler extension to flags functions as they are no longer exist and the equivalents are internal. ] [remove unused local vars Duncan Coutts **20070807171235] [Add compilerExtensions field to Compiler and make each compiler fill it in Duncan Coutts **20070807170653 It's just a list of supported extensions and the corresponding compiler flags. For most compilers this is currently just a static list. For ghc 6.7 and above we query ghc to find the list of language extensions it supports. In each case the code has moved out into the compiler-specific modules and the core code treats it generically. The extensionsToFlags function has been split into two: extensionsToFlags which now returns the flags for the supported extensions and unsupportedExtensions which does what it says it does. This is because the two roles of the previous function were always used separately, never together. ] [Use String rather than importing a module just to misuse a String type alias Duncan Coutts **20070807170526] [Add a little documentation. Thomas Schilling **20070807162023] [Fix error message. Thomas Schilling **20070807162001] [Fix translation of deprecated fields. Add test case. Thomas Schilling **20070807161837] [Warn if no Cabal-version field is specified, but new syntax is used. Thomas Schilling **20070806235131 This isn't quite exact. Ideally, we'd like to have something like isEmptyRange (specified-range && >= 1.2) but implementing isEmptyRange is non-trivial, so we'll go with this imperfect solution until we need that feature elsewhere. ] [Re-enable and update unit tests. Thomas Schilling **20070807000155] [Cosmetic cleanup (fix line length) Thomas Schilling **20070806235644] [No longer fail to parse packages without any library or executable Thomas Schilling **20070806235404 sections. Issue a warning instead. (The previous error message "Unexpected end of file" was not very helpful.) ] [Allow querying for the wildcard version range. Thomas Schilling **20070806234707] [Split up make target for documentation generation. Allows to build Thomas Schilling **20070803200533 the user's guide separately from the Haddock documentation. ] [Remove more os-specific cppery Duncan Coutts **20070807115707 The only difference for this one was / vs \\ path separators ] [Remove use of cpp in Distribution.System Duncan Coutts **20070807111837 base it off of the System.Info.os string rather than cpp defs ] [Make things build with ghc-6.6.x rather than just ghc HEAD Duncan Coutts **20070807111724 filepath-1.0 does not export dropDrive ] [Ask the compiler what languages it supports, when possible Ian Lynagh **20070805171323] [Pattern match on an OS datatype rather than using ifdef everywhere Ian Lynagh **20070805130347] [Add StandaloneDeriving extension Ian Lynagh **20070804192416] [extensionToGHCFlag is now version dependent, and uses -XFoo flags for >=6.7 Ian Lynagh **20070804191833] [Add TypeFamilies extension Ian Lynagh **20070804184959] [Don't complain about AllRightsReserved licenses Duncan Coutts **20070804125110 That can be done in hackage when people try to upload. Fixes bug #127. ] [Add setup register --gen-pkg-config flag for distros that want that. Duncan Coutts **20070804115512 It generates the actual file to be passed to the compiler's package program. This is obviously compiler-specific. ] [Correct the location of the haddock dir in inplace registrations Duncan Coutts **20070804115428] [normalise the input and output file names when pre-processing Duncan Coutts **20070804013029 eg so we don't call cpp with ././src/blah -o ./dist/blah since those ././ can end up in error messages. ] [Put the generated haddock-prolog file under dist Duncan Coutts **20070804004848] [Try and simplify cleaning by always removing dist Duncan Coutts **20070804004643 so we don't have to individually track all the files we create we still have to delete a few files outside of the build dir sadly the configuration is still preserved if you specify --save-configure ] [Remove compilerBinaryName, use compilerId instead Duncan Coutts **20070804004524] [Move compiler-specific code for configurion into compiler modules Duncan Coutts **20070803213321 There's slightly more code overally but it's no longer incomprehensible because it's not all mixed together for all the different compilers. ] [Clean up rather un-sbstract use of Compiler in configure Duncan Coutts **20070803205901] [-Wall police Duncan Coutts **20070802194000] [Change Compiler's compilerVersion fild to compilerId Duncan Coutts **20070802193400 Of type PackageIdentifier rather than Version. ] [Remove Distribution.Simple.Configure.findProgram as it's no longer used Duncan Coutts **20070802194230] [Put the haddock and hscolour version numbers in the global ProgramConfiguration Duncan Coutts **20070802185614 We do this during the configure step and then later we don't have to run haddock & hscolour again to find out their version numbers. This also eliminates some annoying module interdependencies. Eventually the Program abstraction ought to include the ability for programs to discover their own version numbers so it can be done more modularly. ] [Alter version parse error message to make it clearer Duncan Coutts **20070802181620] [Add version field to Program and add findProgram(AndVersion) utilities Duncan Coutts **20070802172941 findProgram and findProgramAndVersion construct Program values The latter makes it easier to parse output of --version calls. The idea is that we should carry the version number along with the program if we know it, so we can later decide version-dependent args without having to do more IO to find the program version, eg see use_optP_P & haddockVersion. ] [Tidy some imports/exports Duncan Coutts **20070802003250] [Remove redundant configure flags, missed bits of previous refactoring. Duncan Coutts **20070802003154] [Make the Compiler abstraction use the Program abstraction Duncan Coutts **20070801205428 So out with compilerPath :: FilePath, in with compilerProg :: Program Similarly for compilerPkgTool. Lots of knock-on changes due to this, including converting many more uses of rawSystemExit to rawSystemProgram. ] [Simplify rawSystemProgram using programPath Duncan Coutts **20070801200247] [Add programPath :: Program -> FilePath Duncan Coutts **20070801200139 At the moment it's a partial function, but we should change that by having a distinction between an abstract program and a configured program. ] [Clean up cpphs/ghc -cpp preprocessor code Duncan Coutts **20070801135256 Now better separated and uses Program better. Also no longer needs internal lookupProgram' utils function. ] [Clean up calling of ar, make it use Program abstraction Duncan Coutts **20070801021526] [Make all the pre-processors use the Program abstraction Duncan Coutts **20070801021049] [Improve hangling of the title and prolog for haddock docs Duncan Coutts **20070804021538 Only include ": " in the title if it has a synopsis to use as subtitle Use the description as the prolog, or if that's empty we use the synopsis. Do the same for executables, fixing bug #142. ] [Less confusing haddock command output when there are no libs in the package Duncan Coutts **20070804013133 It says: No documentation was generated as this package does not contain a library. Perhaps you want to use the haddock command with the --executables flag. ] [Add message saying where haddock docs got put Duncan Coutts
**20070804010016 And make the similar message for sdist respect the verbosity ] [Make the writing registration script message less silly Duncan Coutts **20070804002353] [Fix haddock markup for finalizePackageDescription Duncan Coutts **20070804001745] [Change error message for tabs used as indentation to something more Thomas Schilling **20070803213331 helpful. ] [Fix import path to HUnit. Thomas Schilling **20070803200829] [Fix printing of 'impl' checks. Thomas Schilling **20070803200622] [Disallow tabs .cabal files with new syntax Thomas Schilling **20070803181244] [Fix tab in Cabal.cabal. Thomas Schilling **20070803175701] [Add impl(...) conditional to configurations. Thomas Schilling **20070802010527 You can now use expressions like impl( ghc >= 6.6.1 ) in conditionals in .cabal files. ] [Add documentation for Cabal Configurations. Thomas Schilling **20070803125632] [Move the SetupWrapper module under Distribution.Simple Duncan Coutts **20070803012304 It's really a wrapper around the simple build system. ] [Cleanup. fix line length Thomas Schilling **20070801221329] [Fix name of flag in error message Duncan Coutts **20070802172141] [Add readVersion convenience function to Distribution.Version Duncan Coutts **20070802171703 So it's merely readVersion :: String -> Maybe Version Having to use readP_to_S parseVersion all over the place is annoying. ] [extraArgs should override args in command lines Duncan Coutts **20070801023042 besides, the order was inconsistent within the same function between the UserSpecified and FoundOnSystem cases. ] [FIX compilation with GHC 6.2.x Simon Marlow **20070801095523] [Move the haddock code out into it's own module Duncan Coutts **20070731183410 It removes about 250 loc from Distribution.Simple ] [-Wall police Duncan Coutts **20070731173626] [Fix order of warnings. Thomas Schilling **20070730225311] [Add line numbers to unknown fields error message. Thomas Schilling **20070730225256] [Display a more helpful error message, when unknown fields are Thomas Schilling **20070730224026 noticed. ] [Fix self-compile warnings. Thomas Schilling **20070730220537] [Fix haddock markup Ian Lynagh **20070729233545 I haven't checked that it looks right, but it is now accepted by haddock. ] [Pass ghc -package flags when using it as a C compiler in GHCMakefile Ian Lynagh **20070729152803 This means we get the CPP include directories included. ] [Add a missing case in updateCfg Ian Lynagh **20070729105910] [Resolve conflicts Ian Lynagh **20070729105854] [Fix conflicts. Fix for changed argument to 'preprocessSources'. Thomas Schilling **20070728223322] [Rename field. Thomas Schilling **20070728223102] [Change HUnit module path to Test.HUnit (the default now). Thomas Schilling **20070728221453] [Add note to 'clean' that it could be simpler, but for compatibility Thomas Schilling **20070728221342 reasons isn't (for now). ] [Let sdist command run the preprocessors itself. This way we don't Thomas Schilling **20070728221237 have to put stuff into the source tree. ] [Store resolved package description in local build info. Thomas Schilling **20070728221102 The clean and sdist commands need to use a flattened representation of the original description. Note the notes for flattenPackageDescription for some problems with this approach. ] [Export 'flattenPackageDescription'. Thomas Schilling
**20070728215155] [Minor documentation fix. Thomas Schilling **20070728214859] [Modify test case. Thomas Schilling **20070728214825] [Add function 'flattenPackageDescription'. Thomas Schilling **20070728214746] [Avoid reporting the same missing dependecy twice. Thomas Schilling **20070728214645] [Add documentation Thomas Schilling **20070728214541] [Add documentation Thomas Schilling **20070728214444] [Add/Fix test cases Thomas Schilling **20070728214410] [Minor. Moved some code. Thomas Schilling **20070719222541] [Add function 'ignoreCondition'. Thomas Schilling **20070719222444] [Re-enable and extend test case. Thomas Schilling **20070719222341] [Filter duplicate dependencies. Thomas Schilling **20070719222233] [Adopt new CondTree data structure. Thomas Schilling **20070719125305 'finalizePackageDescription' now also takes dependencies of executables into account. ] [Change CondTree data structure to something more flexible. Thomas Schilling
**20070719124655 This also requires some interface changes. ] [Add simpler representation of a .cabal file with conditions. Thomas Schilling
**20070717203942] [Preprocessor output never gets written back to the source dir. Thomas Schilling **20070717174026 'preprocessSources' now gets an additional flag to determine whether to process all sources (for building) or only platform independent ones (for sdist). ] [Add resolved package description to 'LocalBuildInfo'. Thomas Schilling
**20070716204325] [Fix removed import by importing a required accessor only. Thomas Schilling **20070716204238] [Add tags target to generate a tags file using 'hasktags'. (Unix only) Thomas Schilling **20070716203015] [Rename 'PreparedPackageDescription' to 'GenericPackageDescription' Thomas Schilling **20070716200427] [Remove unused dependency. Thomas Schilling **20070716200215] [Move configured_cabal to 'dist' directory. Thomas Schilling **20070716154146] [Bugfix by Ian Lynagh: Cabal can't have a Cabal-Version header; it breaks bootstrapping Thomas Schilling **20070716151535] [Partial bugfix to allow traditional .cabal files without a library but Thomas Schilling **20070628112301 global build dependencies. The correct solution is to add global dependencies to each executable and implement dependency resolution for executables. The current workaround is to add the dependencies to the library, but disable building of the library. ] [Take advantage of configurations to build Cabal itself and fix bootstrapping problem. Thomas Schilling
**20070628081438] [Re-add configurations module to .cabal file. (Got removed on update.) Thomas Schilling **20070623204706] [Properly fix tests. Thomas Schilling **20070623203939] [Disable (comment out) tests for now. Break due to changed interface. Thomas Schilling **20070623203121] [Fix typo. Thomas Schilling **20070623202333] [Add proper handling of configurations to configure command. Thomas Schilling **20070623202017] [Fix warnings. Thomas Schilling **20070623201723] [Adjust to new package reading interface. Thomas Schilling **20070623201546] [Downcase flagnames. Re-add config flags (were removed due to update). Thomas Schilling **20070623201455] [Fix warnings. Thomas Schilling **20070623201254] [Fix warnings, add documentation and changes in response to some Thomas Schilling **20070623201135 interface changes. ] [Make explicit that reading package descriptions isn't supported here, ATM. Thomas Schilling **20070623200701] [Fixed warning Thomas Schilling **20070623200522] [Fixed warnings, added documentation, and changed os and arch names to Thomas Schilling **20070623200453 simple strings. ] [Add helpers for reading and writing the file to hold a configured cabal-file. Thomas Schilling **20070618195710] [Add commandline support for specifying defaults for flags. Thomas Schilling **20070618195449] [Compatibility parsing and working configurations. Thomas Schilling **20070618195329] [Pretty printing of conditions and CondTrees. Non-dependency Thomas Schilling **20070614125031 information of CondTrees is now a modifier. Move CondTree resolution functionality. ] [Prototypical configurations Thomas Schilling **20070613184332] [add line numbers to all field times Thomas Schilling **20070613173548] [add flag as a section Thomas Schilling **20070613172416] [added docs Thomas Schilling **20070613172309] [fixed typo Thomas Schilling **20070613172230] [Abstracted variables out of conditions. Generalized simplification Thomas Schilling **20070613172114 function to accept an arbitrary partial assignment of these variables. ] [Added Configuration parsing and simplification. Thomas Schilling **20070529210344] [Extended low-level parsing routines to also allow labelled blocks and if-blocks. Thomas Schilling **20070529205958] [Added documentation. Thomas Schilling **20070528211221] [Use the right output directory when building C sources for executables Duncan Coutts **20070726213309] [Use our own GetOpt if __GLASGOW_HASKELL__ >= 606 only Ian Lynagh **20070724213112 Used to be if __GLASGOW_HASKELL__ >= 604, but the 6.4 branch had a bug which looks likely to be the cause of GHC build failures we're seeing: - procNextOpt (NonOpt x) RequireOrder = ([],x:rest,us,[]) + procNextOpt (NonOpt x) RequireOrder = ([],x:rest, [],[]) ] [-Wall police Duncan Coutts **20070724172023] [Update user guide about haddock --css --hyperlink-source -- hscolour-css Duncan Coutts **20070724160742 The haddock --css flag is new. The old --hscolour=[path] flag got split into two flags: --hyperlink-source and --hscolour-css=path ] [Remove a couple bits of unused code and imports Duncan Coutts **20070724110732] [use nhc-Options rather than deprecated nhc98-Options Duncan Coutts **20070724110703] [Hugs build: track change to install-includes Ross Paterson **20070724101816] [Rename --hscolour to --hyperlink-source and add haddock --css flag Duncan Coutts **20070723190026 So now --hyperlink-source controles wether or not we run hscolour and get haddock to link to the sources. The new flag --hscolour-css can be used to override the css file that hscolour uses. Also, the new flag --css can override the css file that haddock uses. ] [Merges from hscolour patch and make it work with haddock-0.8 Duncan Coutts **20070723180602 Some minor changes due to changes since the hscolour patch was written. Make it work with haddock-0.8 by using %{MODULE} rather than %{FILE} and generate output file names to match (ie not using the original file extension, just using the module name for the output file). ] [HsColour support Roberto Zunino **20070530194747 Integration of Cabal, HsColour, and Haddock. (Also fixes bug #102) ] [Remove ContextStack extension Ian Lynagh **20070709132341 Seems to be based on GHC's -fcontext-stack flag, which takes an integer argument. ] [Remove InlinePhase extension Ian Lynagh **20070708172919 As far as I can tell (a) The -finline-phase flag stopped actually being accepted by GHC sometime between GHC 4.08.2 and GHC 5.04.3 (b) It took an Int argument ] [Add KindSignatures extension Ian Lynagh **20070708120616] [Add the MagicHash extension Ian Lynagh **20070708111043] [TAG 2007-06-29 Ian Lynagh **20070629112545] [get the stub object files right Simon Marlow **20070626145413] [remove $(LIB) before calling ar Simon Marlow **20070626140543] [makefile: fix up the way we find _stub.o objects Simon Marlow **20070622152042] [makefile: replace backslashes with forward slashes for Windows simonpj@microsoft.com**20070621133101] [update output Ross Paterson **20070620152404] [break up the long string literal Ross Paterson **20070620152103 This makes the output work with implementations (like Hugs) that impose a limit on the size of string literals. ] [update Simon Marlow
**20070620091950] [include Makefile.local if it exists; allows local customization Simon Marlow **20070620091946] [clean up .hi-boot and .o-boot Simon Marlow **20070620091843] [add a "DO NOT EDIT" notice to the top of Cabal-generated Makefiles Simon Marlow **20070620091759] [Fix warning Ian Lynagh **20070615183346] [report non-option arguments as errors (fixes #90 and #113) Ross Paterson **20070607082326 Formerly, non-option arguments to all commands were silently ignored. Now setup halts with an error message in this case. ] [Fix error message regression Simon Marlow
**20070606142650 Passing a non-existent program for --with-hc-pkg used to say this:
$ ./Setup configure --with-hc-pkg=foo Configuring QuickCheck-2.0... /bin/sh: foo: command not found Setup: executing external program failed: "foo" --global list
tmp23634
Now it is rather less useful:
$ ./setup configure --with-hc-pkg=foo configure: Reading installed packages... zsh: 23596 exit 127 ./setup configure --with-hc-pkg=foo
This patch restores the old behaviour, slightly improved:
$ ./Setup --with-hc-pkg=foo configure configure: Reading installed packages... Setup: executing external program failed (exit 127) : foo --global list ] [don't pass unrecognized arguments to ./configure Ross Paterson
**20070605231500 They are now reported as errors. To pass them to configure, use the new --configure-option flag.
Non-option arguments are still ignored (#90 and #113), as with all of the other commands. ] [Add and use createDirectoryIfMissingVerbose Ian Lynagh
**20070602002507 rather than createDirectoryIfMissing ] [Overwrite .installed-pkg-config if it exists when registering Ian Lynagh **20070530150838] [add --cpphs-options Ross Paterson *-20070115141053] [add --cpphs-options Ross Paterson **20070115141053] [implement --configure-option and --ghc-option (#139) Ross Paterson **20070604114851 Added options used for building in the GHC tree:
setup configure --configure-option=STR setup build --ghc-option=STR setup makefile --ghc-option=STR
These were formerly scattered across Setup.hs files. ] [warning police on SetupWrapper Ross Paterson
**20070603104827] [trim imports Ross Paterson **20070603104802] [include preprocessed modules in setup haddock (fixes #138) Ross Paterson **20070602195508] [move dotfiles into dist Ross Paterson **20070602175348 .setup-config -> dist/setup-config .installed-pkg-config -> dist/installed-pkg-config .inplace-pkg-config -> dist/inplace-pkg-config ] [mark mkGHCMakefile.sh and GHCMakefile.in as source files Ross Paterson
**20070601155538 so that they'll be included in source distributions of this package. ] [cope with ghc-pkg returning multiple values for a field Ross Paterson **20070601155450] [Close the handle of temporary files before removing them Ian Lynagh **20070529192852 The removal fails on Windows if we don't, giving unhelpful errors like Setup.exe: .\tmp3660: removeFile: permission denied (Permission denied) ] [add nhc98-options: field to .cabal file Malcolm.Wallace@cs.york.ac.uk**20070528122833] [Fix warnings in Paths_* autogenerated module Ian Lynagh **20070527220538] [Fix quoting when doing gen-script of ' in descriptions Ian Lynagh **20070526154747 It used to turn into '', which just disappears. Now it turns into '\''. ] [Add Distribution.Simple.GHCMakefile to Exposed-Modules Ian Lynagh **20070526153905] [old nhc98 Makefiles now obsolete Malcolm.Wallace@cs.york.ac.uk**20070525133004] [Remove package.conf.in and GHC bits of Makefile (used in the old build system) Ian Lynagh **20070524142725] [avoid overflowing the argument limit when building a split-objs lib Simon Marlow **20070524134817] [Improvements for 'setup makefile' Simon Marlow **20070524132736 - now the makefile can build the library too; so 'setup build' isn't required (unless there are post-build steps). This will be necessary for bootstrapping GHC from .hc files, where we'll be using Makefiles generated by 'setup makefile' to build the libraries.
- the Makefile tempate is in a text file, processed into a .hs file by a small script (mkGHCMakefile.sh). This is run by hand for now, and I've included the generated module, so there shouldn't be any problems with building Cabal.
- some cleanup and refactoring in Distribution.Simple.GHC ] [fix cut&pasto Simon Marlow
**20070520185605] [generalise type of xargs Simon Marlow **20070520185556] [We now depend on process Ian Lynagh **20070523181444] [We now depend on pretty, directory and old-time Ian Lynagh **20070522133304] [Pass rawSystemStdout verbosity, not verbose Ian Lynagh **20070523212145] [fix compilation with GHC 6.2.x Simon Marlow **20070523083703] [now needs -package filepath Malcolm.Wallace@cs.york.ac.uk**20070522085446] [Dumping Distribution.Compat.FilePath in favor of System.FilePath Pepe Iborra **20070521125919 sorry folks, Compat.FilePath is gone ] [Get right the verbosity correspondence for GHC Pepe Iborra
**20070521124306 GHC has more verbosity levels than Distribution.Verbosity, this patch gives a more accurate correspondence ] [portability fix Ross Paterson
**20070521113908] [custom show'ers for Verbosity Pepe Iborra **20070520233520] [Export simpleUserHooks Ian Lynagh **20070518152026] [FIX BUILD with GHC 6.2.x Simon Marlow **20070516103919] [Small tidyup Ian Lynagh **20070515151409] [cope with pre-requisite packages with empty haddock fields (like rts) Ross Paterson **20070515150935] [Put some comments in about what the verbosity stuff means Ian Lynagh **20070515125013] [rejig location of package interfaces for haddock Ross Paterson **20070515110833 Formerly, setup haddock invoked haddock with a --use-package option for each prerequisite package, causing haddock to invoke ghc-pkg to get the haddock-interfaces and haddock-html fields for each package. The former is accurate, but the latter is not what you want if your documentation is to be placed on the web.
Now setup haddock invokes ghc-pkg itself, but if the --html-location option is given, its argument is expanded for each package and used instead of the haddock-html field. The results are then assembed as --read-interface options for haddock. For example,
setup haddock '--html-location=http://hackage.haskell.org/ packages/archive/$pkg/latest/doc/html'
generates HTML documentation with hyperlinks pointing at the pages on HackageDB. ] [Fix warnings Ian Lynagh
**20070514173011] [Fix warnings Ian Lynagh **20070514171124] [Fix a warning Ian Lynagh **20070514170157] [Fix warnings Ian Lynagh **20070514165951] [Compile with -Wall Ian Lynagh **20070514161917] [Make a proper verbosity type, rather than using Int values Ian Lynagh **20070514165514 Hopefully this will make it easier to get better verbosity consistency. We could, by changing only Distribution.Verbosity, use "type Verbosity = Int" for now to give users of the library a chance to catch up, but the upcoming Cabal release seems like a good opportunity to cram in as much of the interface-changing stuff that we want to do as we can. I think the added benefit of a slow switch would be very low indeed. ] [separate build and output directory for Hugs build Ross Paterson
**20070513001502 Hugs requires a separate directory for the output files from the directory containing the preprocessed files. The --scratchdir option now sets the former (and thus has an effect only for Hugs).
This repairs the Hugs build. ] [non-GHC version of rawSystemStdout Ross Paterson
**20070513001017] [remove copy of cabal-install library Ross Paterson **20070501160347] [Use Control.Exception even for nhc98 now. Malcolm.Wallace@cs.york.ac.uk**20070504144146] [remove cabal-install and cabal-setup from Makefile Duncan Coutts **20070503220644 These are no longer in the tree, they have their own repos now. ] [Fix more verbosity settings of messages Duncan Coutts **20070503213124] [Fix import of IO.try Duncan Coutts **20070503205024 Hopefully System.IO.Error exists for nhc98 too. ] [For nhc98, restore 'systemGetStdout' under the name 'rawSystemStdout' :-) Malcolm.Wallace@cs.york.ac.uk**20070503145457 This should now be equivalent in functionality to what was previously removed. ] [Hack around non-portable System.Process stuff for nhc98. Malcolm.Wallace@cs.york.ac.uk**20070503142544 This is enough to permit Cabal to compile again, but it certainly won't run. ] [Fix a couple verbosity settings Duncan Coutts **20070502211900 Showing what files are copied should only be shown at verbosity level 2 and above. The default verbosity level is 1. Similarly, creating the hidden package registration file should not be shown at the default verbosity level. ] [fix installIncludeFiles again. Bertram Felgenhauer **20070502182917 the include file directory must be created for ghc, otherwise package registration will fail. sigh. ] [nhc98 does not have Control.Exception Malcolm.Wallace@cs.york.ac.uk**20070502122017] [fix Haddock syntax error Simon Marlow **20070502093700] [Add test case for platform dependent and independent generated sources Duncan Coutts **20070501142716 The c2hs .hs files should go in dist/build while the happy .hs source should remain in the src dir and end up in the sdist tarball. ] [fix installIncludeFiles thinko Bertram Felgenhauer **20070501131608 due to the newly added guard, the "Can't happen" is no longer true. ] [Do not delete platform independent pre-processed sources during sdist Duncan Coutts **20070501142419 Since only platform independent pre-processed sources are now left in the src dirs we don't have to delete any pre-processed sources and can just inlcude them all into the src tarball. Ideally we'd track this slightly better in future, it's not nice to be keeping any generates sources in the src dirs, they should be considered read-only. ] [Leave platform independent pre-processed sources in the src dir Duncan Coutts **20070501142323 Only put platform dependent ones into dist/build ] [Record if pre-processors are platform independent Duncan Coutts **20070501142147 PreProcessor is now a record with a couple fields. Quite a few knock-on changes due to changing this data type. ] [call c2hs using the more detailed info Duncan Coutts **20070422102617 we use --output-dir=dist/base and --output=<file relative to the search dir it was found in>.hs This actually depends on a patch in c2hs to make it treat --output- dir in the way we want. That patch will be forthcomming soonish. But the point is: c2hs --output-dir=dist/base --output=Foo/Bar.hs src/Foo/Bar.chs will generate dist/base/Foo/Bar.hs and also dist/base/Foo/Bar.h but inside the .hs file it'll reference Foo/Bar.h so when we compile the .hs file we have to -Idist/base Clear as mud? ] [Generalise PreProcessors to take more detailed args Duncan Coutts **20070422100558 Most pre-processors just need the full source file and target file names. More complicated ones where the generated files have to embed links to each other need more information. For example c2hs generates .hs file that reference generated .h files. These links should be relative to the dist/build dir and not to the top of the source tree, since we do not want to add -I. to the includes search path. We only want to use -Idist/build, hence the embeded links must be relative to that. Therefor c2hs needs to know the base output directory as well as the name of the file relative to that. So we add a new type PreProcessorFull that has this extra info and a function simplePP :: :: PreProcessor -> PreProcessorFull for the common case of most existing pre-processors that do not need this extra info. This patch doesn't actually change the c2hs stuff, that comes next. ] [Put pre-processed source into the dist/build dir rather than src dirs Duncan Coutts **20070422095631 This is generally just a nicer thing to do, we should probably aim to not write any files into the source tree at all. The main change is in the preprocessModule function. It now takes an extra arg which is the destination directory. For now I'm passing the buildDir, but we could consider putting pre-processed files into a separate fir from where the .o and .hi files end up. To work out the correct destination file we need to know not only the source file but which of the search dirs it was found in, since the relative file name will be the name of the source file relative to the search dir it was found in, not the name relative to the top of the source tree. This is so that we will be able to find the pre-processed .hs file just by adding dist/build to the sources search path when we compile (eg with -i for ghc). This almost certainly breaks the sdist thing where pre-processed files get included into the tarball. So that'll need looking at. ] [update documentation for install-headers: field Bertram Felgenhauer **20070420131524] [install headers for all compilers Bertram Felgenhauer **20070420123527 This patch moves the installation of header files from Distribution.Simple.GHC to Distribution.Simple.Install. This is required for the header files to be usable for preprocessing Haskell code in other packages. ] [don't automatically include install-include: headers into compilations via C Bertram Felgenhauer **20070420123418 This way it's possible to install header files that are meant for preprocessing Haskell code, or header files that are meant to be indirectly included by others. ] [Don't overwrite existing makefiles Duncan Coutts **20070430203552 Patch contributed by Bryan O'Sullivan ] [Fix openTempFile so it works on windows with ghc at least Duncan Coutts **20070430185744 It's still a hack. The right solution is to proerly implement openTempFile in base for all Haskell impls, not just GHC. ] [Use rawSystem not system for capturing output of commands Duncan Coutts **20070430184046 For example we were using a wrapper around 'system' to find the haddock version. This invokes the system command interpreter and passes the command to run as an argument. If the command has spaces in it and is not properly escaped then everything goes wrong. This happens for example on windows when haddock and other programs are kept under "Program Files". So the right thing to do is never to use system, but always rawSystem since then there are no escaping issues. This patch replaces a couple function systemCaptureStdout and systemGetStdout with rawSystemStdout which now lives in Distribution.Simple.Utils.
This also uses some rather nasty code to get the output of a command. It really really should not be this hard to do portably. To work around the fact that we cannot use runInteractiveProcess we instead have to create a temporary file. This also turns out to be a hack because the 'standard' openTempFile is not implemented except by GHC, so we now have a hacky version living in Distribution.Compat.TempFile just waiting for the standard openTempFile to be made properly portable, or for us to get some System.Process function that does what we want. ] [Fix the verbosity level for printing executed commands Duncan Coutts
**20070430155054 Since 1 is the default verbosity level we should only print commands at level 2 and above. ] [initialBuildSteps should not actually build. Bryan O'Sullivan **20070424183841] [pretend that Cabal can build with nhc98 Malcolm.Wallace@cs.york.ac.uk**20070424104244] [minor tweaks to nhc98 branches of case distinctions Malcolm.Wallace@cs.york.ac.uk**20070212171419] [minor clarifications in doc of package descriptions Ross Paterson **20070423093806] [Fix for older GHCs, which exported a System.IO.try Ian Lynagh **20070419002443] [work around missing Control.Exception for nhc98 Malcolm.Wallace@cs.york.ac.uk**20070418230821] [Remove unnecessary import Ian Lynagh **20070418114407] [Fix imports Ian Lynagh **20070418110139] [Change variable name to match type change Ian Lynagh **20070418104811] [Fix Cabal's Setup.lhs after Maybe UserHooks / UserHooks change Duncan Coutts **20070418034619] [Behave the same on Windows and non-Windows Ian Lynagh **20070417230311] [Stop having hooks return an ExitCode that we then ignore Ian Lynagh **20070417225657] [Small tidyup Ian Lynagh **20070417225031] [Stop pretending we might not have any UserHooks Ian Lynagh **20070417224220] [Be better about exiting if a command we run fails Ian Lynagh **20070417222257] [Suggest that missing deps need to be downloaded and installed from hackage Ian Lynagh **20070417210158] [Make contents of SrcDist more useful to outside users. Bryan O'Sullivan **20070415060916 This change simply splits sdist into three functions.
The normal sdist function remains unchanged from the caller's perspective, but it now consists of two phases, each an exported function. The source tree is prepared by prepareTree, and the archive is created by createArchive.
This lets the cabal-rpm tool prepare a source tree and insert a few extra files into it before generating a tarball.
... in the HUnit package, claiming that it had a comment next to a
] [setup makefile: handle hs-source-dirs Simon Marlow
**20070416140205 but only if there's a single entry for now. ] [setup makefile: use -p option to mkdir when making object directories Simon Marlow **20070416134720 I had a feeble attempt to avoid needing this originally, using $ (sort ...) to create parents before children, but sometimes the parents aren't in the list, so it doesn't work. mkdir's -p option is POSIX, and I found it on all the platforms I checked (Linux, Solaris, Darwin, FreeBSD). ] [a couple of fixes to 'setup makefile' Simon Marlow **20070416133307 Put the -package-name flag at the beginning of GHC_OPTS, allowing it to be overriden later (as we do in the base package, for example). Also, add -split-objs if necessary. ] [remove illegal literal tabs in strings (again) Malcolm.Wallace@cs.york.ac.uk**20070416101220] [add missing support for .hs-boot/.lhs-boot with 'setup makefile' Simon Marlow **20070413152244] [Pass all the Cc/Ld flags to hsc2hs Ian Lynagh **20070413131318] [REINSTATE: Fix C/Haskell type mismatches Malcolm.Wallace@cs.york.ac.uk**20070412130607 This patch was previously applied and then rolled back. This new version imports System.Posix.Types.CPid correctly for nhc98. ] [Fix -Wall warnings Ian Lynagh **20070411004954] [-Wall fixes Ian Lynagh **20070411003509] [Remove duplicate import Ian Lynagh **20070410170930] [remove illegal tab chars in string literals Malcolm.Wallace@cs.york.ac.uk**20070410085626] [Use Distribution.Compat.FilePath.pathSeparator in Distribution.SetupWrapper, instead of having a local copy. bjorn@bringert.net**20070409165203] [Fix C/Haskell type mismatches Ian Lynagh *-20070404003510] [Rejig the adjacent checking in the unlitter Ian Lynagh **20070407173415 We were rejecting # 1 "foo" program line. Now we treat anything cpp inserts as being blank. ] [parse (but don't pass on) options for ./configure Ian Lynagh **20070406153622] [Remove cabal-{builder,install,setup,upload} (now in separate repos) Ian Lynagh **20070405194729] [Add 'setup makefile' command Simon Marlow **20070309155022 'setup makefile' generates a Makefile that performs the steps necessary to compile the Haskell sources to object code. This only works for libraries, and only with GHC right now. Instead of simply 'setup build', you can do this:
$ ./setup makefile $ make $ ./setup build
where './setup makefile' does the preprocessing and generates a Makefile tailored to the current package. 'make' will build all the Haskell code to object files, and 'setup build' will build any C code and the library archives.
The reason for all this is that you can say 'make -j' and get a parallel build, or you can say
make dist/build/Foo.o EXTRA_HC_OPTS=-keep-s-file
to compile a single file with extra options. ] [make Setup suitable for building the libraries with GHC Ian Lynagh
**20061112214536] [Expose Distribution.Compat.ReadP Ian Lynagh **20061112214447] [Fix C/Haskell type mismatches Ian Lynagh **20070404003510] [Use rawSystemPath for calling tar rather than system Duncan Coutts **20070327110606 Means we get -v verboe output and better error messages if the command is not found. ] [Check the return value of tar Bryan O'Sullivan **20070326234148] [Fixed and improved Haddock comments sven.panne@aedion.de**20070322164427] [If we export ParseResult, we should export PError and PWarning, too sven.panne@aedion.de**20070322164340] [remove Makefile.inc (only affects nhc98) Malcolm.Wallace@cs.york.ac.uk**20070320120844] [Fixes compiling an executable for profiling with template haskell. Judah Jacobson **20070314012802] [rejig handling of continuation lines (fixes Cabal #118) Ross Paterson **20070311154610 Also avoids quadratic behaviour on long fields. ] [add Distribution.SetupWrapper to exposed-modules Simon Marlow
**20070309122146] [Tweaks to make Cabal play nicer with haddock Ian Lynagh **20070308155718 The path for the html docs now includes the package name at the end, which works nicer for multiple packages sharing a contents/index.
Use --ghc-pkg when available (in haddock darcs only currently) to tell haddock which ghc-pkg to use.
Use --allow-missing-html when available (in haddock darcs only currently) to tell haddock not to worry if it can't find the HTML for packages we depend on. This is necessary when haddocking a group of packages before moving them all into place. ] [Cope with ghc-pkg telling us packages are broken Ian Lynagh
**20070307193131] [Tell GHC to use .hs mode when we want it to cpp something for us Ian Lynagh **20070307143612] [Add parentheses so expressions are parsed correctly Ian Lynagh **20070307131941] [minor refactoring Ross Paterson **20070301002731] [fix \begin{code typo Ross Paterson **20070301002557] [document the --with-compiler / --with-hc inconsistency Ross Paterson **20070225115601] [Clarify documentation on --with-compiler and --with-hc-pkg simonpj@microsoft.com**20070221110452] [minor markup tweaks Ross Paterson **20070218104622] [This usePackages stuff is haddock-specific so name it as such Duncan Coutts **20070213201434] [{en,dis}able-use-packages, -optP-P only if haddock<0.8 Conal Elliott **20070204061106] [cabal-upload: Added command-line options for username, password, checking instead of uploading. Added ability to get login from file, and to get password from the terminal. Added still unused verbosity options. Bumped version number to 0.2. bjorn@bringert.net**20070212232920] [exclude Setup.lhs Ross Paterson **20070212193608 This was generating a useless Main entry in the lib doc index. (good for STABLE) ] [Add recent Cabal modules to nhc98 build system. Malcolm.Wallace@cs.york.ac.uk**20070212171106] [Compatibility with Haskell'98. Malcolm.Wallace@cs.york.ac.uk**20070212170804 Import Distribution.Compat.Exception instead of Control.Exception. Fix illegal indentation of cascaded do-blocks. ] [add --enable-optimization/--disable-optimization config options (on by default) Ross Paterson
**20070212004513] [cabal-upload: nicer output. bjorn@bringert.net**20070206154619] [Send Accept header. bjorn@bringert.net**20070206153521] [Allow uploading multiple packages. bjorn@bringert.net**20070206153406] [Changed HTTP dependency to >= 1.0. bjorn@bringert.net**20070206153054] [cabal-upload: Removed build-simple since hackage doesn't seem to accept it for non-lib packages. bjorn@bringert.net**20070206133616] [Added URL for cabal-upload wiki page. bjorn@bringert.net**20070206132142] [Added usage message to cabal-upload. bjorn@bringert.net**20070206131408] [Added a small hacky first version of cabal-upload. bjorn@bringert.net**20070206112237] [cabal-setup doesn't need -cpp Ross Paterson **20070115154724] [Refactorings only Simon Marlow **20070114203741 Here are a batch of refactorings to clean up parsing and parts of the simple build system. This patch originated in a patch sent to cabal-devel@haskell.org with an intial implementation of configurations. Since then we decided to go a different route with configurations, so I have separated the refactoring from the configurations patch. At this point, 2 tests fail for me, but I get the same 2 failures without this patch. ] [pass arguments through when performing the setup actions ourselves Ross Paterson
**20070113133211] [separate option for the compiler for Setup.hs Ross Paterson **20070113133000 This need not be the same compiler as used to build the package ] [Ignoring user packages when installing locally doesn't make sense. Lemmih
**20070112150318] [cabal-install now caches downloaded packages in the directory for the package, and with .tar.gz extension. bjorn@bringert.net**20070112143527] [cabal-install.cabal: Added build-type field. Change hs-source-dir to hs-source-dirs (hs-source-dir has been deprecated for some time). bjorn@bringert.net**20070112131959] [cabal-install --user now keeps package cache and package list in ~/.cabal-install bjorn@bringert.net**20070112131301] [fix ghc-options (not a listField) bjorn@bringert.net**20070112124938] [add a Build-Type field, and use it in setupWrapper Ross Paterson **20070111233018 As discussed on the libraries list (Nov 2006), add a field Build-Type which can be used to declare that this package uses one of the boilerplate setup scripts. This allows setupWrapper (used by cabal-setup and cabal-install) to bypass the setup script in this case and perform the setup actions itself. ] [remove a use of null+head Ross Paterson
**20070111182430] [remove two fromJust's Ross Paterson **20070111182401] [pass CABAL_VERSION to Hugs Ross Paterson **20070111182216] [cabal-install now puts the package list in /var/lib/cabal-install and the tarballs in /var/cache/cabal-install by default. Added command-line options for changing those. bjorn@bringert.net**20070111190452] [Track verbosity argument changes Ian Lynagh **20070111180601] [Testsuite quietening Ian Lynagh **20070111175329] [cabal-install: Output usage info for the right command when pasrsing the package name arguments fails. bjorn@bringert.net**20070111164924] [SetupWrapper now passes verbosity to other functions, as required by Igloo's patch. bjorn@bringert.net**20070111161651] [Make cabal-install use setupWrapper (the library version of cabal- setup). bjorn@bringert.net**20070111160535] [Moved the cabal-setup code to Distribution.SetupWrapper, so that cabal-install can use it. CabalSetup.hs now just calls the setupWrapper function. bjorn@bringert.net**20070111130506] [Quieten the testsuite more Ian Lynagh **20070111155957] [Pass verbosity info down to warn Ian Lynagh **20070111154526] [Derive Show on various datatypes Ian Lynagh **20070111140220] [Give feedback in runTests.sh Ian Lynagh **20070111132654] [Be less verbose at verbosity level 1 Ian Lynagh **20070111131228] [Fix warning Ian Lynagh **20070111130928] [No need for -fno-warn-unused-matches any more Ian Lynagh **20070111130824] [Always pass Hooks around, not Maybe Hooks Ian Lynagh **20070111124234] [Make Makefile use the right ghc/ghc-pkg Ian Lynagh **20070111122833] [Add -Wall to GHCFLAGS Ian Lynagh **20070111102742] [Updated cabal-install test scripts to use the main Cabal repo. bjorn@bringert.net**20070111111727] [Added cabal-install test scripts. bjorn@bringert.net**20070110184835] [Added cabal-install Makefile. bjorn@bringert.net**20070110184754] [Added HTTP package code used by cabal-install. bjorn@bringert.net**20070110184545] [Imported all the cabal-install sources. bjorn@bringert.net**20070110183142] [Added cabal-install dep on regex-compat. bjorn@bringert.net**20070110180020] [Removed old CabalInstall.hs (it has moved to cabal-install/src in one of the pataches I pulled in). bjorn@bringert.net**20070110174435] [Pulling in cabal-install: changed default Hackage DB URL. bjorn@bringert.net**20070110173825] [Pulling cabal-with-install into Cabal: cabal-install.cabal changes. bjorn@bringert.net**20070110172811] [Pulling changes from cabal-with-install: Multiple repositories. bjorn@bringert.net**20070110164852 Original patch: Sat Sep 2 00:13:40 CEST 2006 Paolo Martini * Multiple repositories. ] [Pulling changes from cabal-with-install: Stripping off the dependencies, only HTTP left bjorn@bringert.net**20070110164556 Original patch: Sun Aug 20 19:01:03 CEST 2006 Paolo Martini * Stripping off the dependencies, only HTTP left ] [Resolve Makefile conflict from importing Cabal-with-install patches. bjorn@bringert.net**20070110163852] [a program to test download & install a bunch of cabal packages ijones@syntaxpolice.org**20061114063409] [added --inplace trick to cabal build so that cabal-install can build on machines without cabal. ijones@syntaxpolice.org**20060922034620] [First attempt to make a new repository (url in the configuration) Paolo Martini **20060820180342] [Tarball index format support Paolo Martini **20060816223509] [Quieten a test Ian Lynagh **20070110175223] [Pass 0 verbosity on to GHC when building Ian Lynagh **20070110174050] [More verbosity tweaking Ian Lynagh **20070110172956] [Rejig verbosity levels a bit; 1 is now the default (was 0) Ian Lynagh **20070110165149] [Make system tweaks to avoid cabal thinking it isn't bootstrapped when running the testsuite Ian Lynagh **20070110162940] [Typo Ian Lynagh **20070110154617] [Refer to the right variables Ian Lynagh **20070110151326] [Give unrecognised flags more clearly Ian Lynagh **20070110144650] [Beautify Ian Lynagh **20070110143711] [Retab Ian Lynagh **20070110143103] [Remove some chatter from the test scripts Ian Lynagh **20070110142756] [Eliminate more warnings Ian Lynagh **20070110142114] [More -Wall clean fixes Ian Lynagh **20070110135838] [Improve cleaning Ian Lynagh **20070110134230] [-Wall clean fixes Ian Lynagh **20070110125523 This patch is sponsored by Hac 07. Have you hacked a lambda today? ] [Fix non-fatal problem with 'setup haddock' for an exe package Simon Marlow
**20070109133751 For some unknown reason, we were passing --use-package=P to haddock, where P is the name of the current executable package. This can never work, since P is not a library and will not be installed. Fortunately Haddock ignores the error and continues anyway. ] [Set the Cabal version when building via the fptools build system sven.panne@aedion.de**20070106152814
Without this patch, Cabal is effectively "version-less" and all .cabal files with a version requirement are unusable. Therefore I think that this patch (or at least something equivalent) should be pushed to the 6.6.1 branch, too. ] [added --save-configure flag to clean. got some complaints that there was no way to avoid reconfiguring after a clean. now if you use --save-configure, you should be able to. ijones@syntaxpolice.org**20061219152204] [tiny mod to License comments ijones@syntaxpolice.org**20061219060021] [improving help output ijones@syntaxpolice.org**20061219055849 As suggested by Claus Reinke in this ticket: http://hackage.haskell.org/trac/hackage/ticket/105 ] [fix ./Setup unregister --help, which was giving the help for register Simon Marlow
**20061215165000] [Fix the links in the user guide to the API docs Duncan Coutts *-20061129131633] [Fix the links in the user guide to the API docs Duncan Coutts **20061129131633] [haddock comments for SrcDist.hs ijones@syntaxpolice.org**20061127041303] [some haddock comments for LocalBuildInfo.hs ijones@syntaxpolice.org**20061127040916] [a little comment for JHC.hs ijones@syntaxpolice.org**20061127040026] [some comments for Install.hs ijones@syntaxpolice.org**20061127035919] [some comments for Hugs.hs ijones@syntaxpolice.org**20061127035310] [haddock comments for GHC and GHCPackageConig ijones@syntaxpolice.org**20061127034617] [some comments for Configure.hs ijones@syntaxpolice.org**20061127033157] [some comments for Build.hs ijones@syntaxpolice.org**20061127032409] [minor comments and cleanup for Setup.hs ijones@syntaxpolice.org**20061127031744] [some haddock explanation of preprocessors ijones@syntaxpolice.org**20061127031055] [some comments for Package.hs ijones@syntaxpolice.org**20061127025108] [haddockizing some comments from Make.hs ijones@syntaxpolice.org**20061127024142] [adding comments to Program.hs ijones@syntaxpolice.org**20061127022353] [comments for the Program module ijones@syntaxpolice.org**20061127002749] [don't return an error code just because there's no library to register ijones@syntaxpolice.org**20061124144831] [Purely cosmetic; have '--<FOO>-args' use ARGS on their RHS rather than PATH in usage output sof@galois.com**20061121195844] [parse executable field as a token (as documented), rather than free text Ross Paterson **20061120093400] [trim trailing spaces (including CRs) from all input lines Ross Paterson **20061120092526] [help nhc98 find the import of programLocation Malcolm.Wallace@cs.york.ac.uk**20061117144001] [sdist: make it work on Windows platforms by simplifying 'tar' invocation. Hopefully not at the cost of other plats (i.e., as-yet untested there..)" sof@galois.com**20061117014832] [build: consult and use any user-provided settings for 'ld' and 'ar' sof@galois.com**20061117014622] [defaultUserHooks.sDistHook: pass in optional LBI to SrcDist.sdist sof@galois.com**20061117014448] [defaultProgramConfiguration: add 'ld' and 'tar' entries sof@galois.com**20061117014318] [revise Paths module for the Hugs target Ross Paterson **20061108223349 When targetting Hugs, the Paths module now uses prefix-independent paths relative to the location of the Main module of the program, on all platforms.
For the Hugs target, this replaces the code using GetModuleFileNameA(), which never worked. Behaviour under GHC should be unchanged. ] [Hugs: fix location of installed package info Ross Paterson
**20061021144613] [Fix escaping of ' chars in register.sh script. Duncan Coutts **20061016215459] [Tidy up command comments Duncan Coutts **20061013211158] [Fix getDataDir etc. when bindir=$prefix Simon Marlow **20061013100941] [Update text on the front page: packages can now overlap in GHC 6.6 Simon Marlow **20061012114601 ] [New unlit code "ported" from cpphs-1.2 Lennart Kolmodin
**20061009192609] [Share one more place where the cabal version is defined. Duncan Coutts **20061010140027] [Fix spelling error in error message. Duncan Coutts **20061010140013] [Centeralise the places that know that Cabal version number Duncan Coutts **20061010135918] [Remove spurious debug message. Duncan Coutts **20061010125643] [Bump to next unstable development version Duncan Coutts **20061010125602] [Make cabal know it's own version number correctly Duncan Coutts **20061010130939 This is an unpleasent way of doing it. Will have to fix once and for all in the next version. ] [TAG 1.1.6 Duncan Coutts **20061009123801] [Bum version to 1.1.6 release Duncan Coutts **20061009123733] [Add note about unix dep for ghc-6.2 Duncan Coutts **20061009123632] [Update README, changelog and releaseNotes Duncan Coutts **20061009123558] [TAG 1.1.5.9.4 Duncan Coutts **20061007141722] [Bump version to 1.1.5.9.4 Duncan Coutts **20061007141412] [Only use -package-name with the package's version number for ghc-6.4 Duncan Coutts **20061007123309 This change was added for ghc-6.6 but broke packages for ghc-6.2.2. ] [Make the configure step respect the HC makefile var Duncan Coutts **20061007113643] [Have the default make target be build rather than test Duncan Coutts **20061007113556 This is more normal. ] [Read the buildinfo for the haddock step. Duncan Coutts **20061005212138 In particular this means we pick up any cc-options that are needed for preprocessing the source before haddock reads it. This fixes the haddock build step for many of the packages in the ghc-extralibs collection. ] [Use pragma OPTIONS rather than OPTIONS_GHC for compatability with ghc 6.2.x Duncan Coutts **20061005211937] [TAG 1.1.5.9.3 Duncan Coutts **20060911223941] [Bump version for 3rd 1.1.6 release candidate Duncan Coutts **20060911223908] [Make Distribution.Compat.FilePath public and Distribution.Compat.ReadP private Duncan Coutts **20060911222733 Ideally all the Distribution.Compat.* modules would be private, however there is currently no sensible alternative to the FilePath module and hiding it at this stage breaks packages. ] [Use slightly simpler way of getting GHC version. Duncan Coutts **20060823105956 ghc has supported --numeric-version for ages. ] [Be cleverer about guessing hc-pkg name and location. Duncan Coutts **20060823105412 So it now works if you say: ./setup configure --with-compiler=ghc-6.5 ie specifying a path-relative name rather than an absolute path. We then look for hc-pkg in the same dir as where we found the compiler. If the compiler appears to have a version suffix then we additionally and preferentially look for hc-pkg with that same version suffix. (I'm not sure that bit works if you've got a .exe suffix, perhaps a windows person could try it / take a look) ] [CabalSetup: reuse './setup' if it's newer than the setup script. Lemmih **20060926231910] [Fix the combination of --enable-library-profiling and --enable- split-objs Lemmih **20060926231658] [clarification of the way --inplace works ijones@syntaxpolice.org**20060922042102] [cleanups to user's guide Ross Paterson **20060910144428 * markup fixes * spelling * id's for some elements to avoid warnings * mention the use of Description field by setup haddock * clean up --hoogle description ] [Check exit codes! Duncan Coutts
**20060908173615 Cabal was not noticing haddock failing. That's bad. ] [Use {-# OPTIONS_GHC -cpp #-} so that runghc Setup.lhs works. Duncan Coutts **20060908153717] [TAG 1.1.5.9.2 Duncan Coutts **20060906234045] Patch bundle hash: c1e1073b196e5d904420bb7fb0f4bd6c3fa650bc