Ticket #250: dump_interface_for_Execs_too.dpatch

File dump_interface_for_Execs_too.dpatch, 59.0 KB (added by guest, 5 years ago)
Line 
1
2New patches:
3
4[Simple.Haddock: always dump the haddock interface otherwise install/copy will fail
5Andrea Rossato <andrea.rossato@unibz.it>**20080227113126
6 When running "haddock --executables" no haddock interface is dumped.
7 As a consequence the successive "runhaskell Setup.hs install" or
8 "runhaskell Setup.hs copy --destdir=/path" will fail with this error
9 message:
10 Setup.lhs: dist/doc/html/pkgid/pkgid.haddock: copyFile: does not exist (No such file or directory)
11] {
12hunk ./Distribution/Simple/Haddock.hs 222
13+            haddockFile  = haddockPref pkg_descr </> haddockName pkg_descr
14hunk ./Distribution/Simple/Haddock.hs 242
15+                   , "--dump-interface=" ++ haddockFile
16}
17
18Context:
19
20[Don't yet treat package registration files as UTF8
21Duncan Coutts <duncan@haskell.org>**20080227020734
22 Though we'll probably need to do so eventually because they contain many of
23 the same fields as the .cabal files which are UTF8. This will need agreement
24 with ghc-pkg.
25]
26[Read captured process output as text
27Duncan Coutts <duncan@haskell.org>**20080227020115
28 So we get windows cr/lf conversion and don't need a special lines'
29 implementation to deal with it. I'm guessing this is the problem that
30 Satoshi Kodama encountered with ghc-6.9 on Windows.
31]
32[Fix typos reported by Satoshi Kodama
33Duncan Coutts <duncan@haskell.org>**20080227014735
34 Not applying that patch as a whole since part of it
35 needs to be done differently.
36]
37[Revert some of the UTF8 changes, use UTF8 only for files we know are UTF8
38Duncan Coutts <duncan@haskell.org>**20080227014549
39 So we use ordinary read/writeFile for ordinary text files. For console
40 output we use ordinary putStr etc and we'll just hope that haskell
41 implementations catch up and deal with that sensibly. Don't assume
42 captured program output is UTF8, use the default encoding.
43 So we use binary mode IO along with UTF8 encoding and decoding only for
44 file types that we specify to be UTF8, which are .cabal files and
45 .hs/.lhs files only.
46]
47[Add liftOption for making derived command parsers
48Duncan Coutts <duncan@haskell.org>**20080226200215
49 liftOption :: (b -> a) -> (a -> (b -> b)) -> Option a -> Option b
50 For example:
51 liftOption fst (\a (_,b) -> (a,b)) :: Option a -> Option (a,b)
52 Needed to be able to make a CommandUI (a, b) using an existing CommandUI a.
53 That's what we want to do in cabal-install where the 'install' command
54 to support all the 'configure' flags and some extra of it's own, for example
55 --dry-run and probably several more in future.
56]
57[GHC's package db files are actually ascii, not UTF8
58Duncan Coutts <duncan@haskell.org>**20080225133255
59 Because they're in Haskell Read/Show format which escapes non-ascii chars
60 in Strings.
61]
62[Check for invalid UTF8 when parsing .cabal files
63Duncan Coutts <duncan@haskell.org>**20080225132824
64 This assumes a permissive UTF8 decoder has inserted '\xfffd' as a replacement
65 character. We should check strictly for errors when we decode instead, though
66 it's nice to do that where we have some kind of error reporting infrastructure
67 which is why I've added it to the parser for the moment. The current error
68 message is not too bad, as it reports the line number.
69]
70[Don't include the version number in the xsl-stylesheets path
71Duncan Coutts <duncan@haskell.org>**20080225131838
72 This is still shockingly platform dependent. Sigh.
73]
74[Specify in the user guide that .cabal files must be valid UTF-8
75Duncan Coutts <duncan@haskell.org>**20080225131756]
76[Don't warn about missing license file for public domain packages
77Duncan Coutts <duncan@haskell.org>**20080225130228
78 Fixes ticket #247.
79 The whole concept of public domain as a license is also rather dodgy. In
80 many legal jurisdictions it has no legal meaning and where it does one
81 usually has to disclaim any copyright interest explicitly.
82]
83[help nhc98 by hinting an import decl
84Malcolm.Wallace@cs.york.ac.uk**20080225102450]
85[Switch all file read/writes and process output to use UTF8
86Duncan Coutts <duncan@haskell.org>**20080224175524
87 Added readTextFile and writeTextFile which use UTF8. rawSystemStdout now
88 assumes the programs are producing output in UTF8 encoding.
89]
90[Fix oversight in imports
91Duncan Coutts <duncan@haskell.org>**20080224014631]
92[Bump version to 1.3.6
93Duncan Coutts <duncan@haskell.org>**20080223184242
94 Due to recent api changes
95]
96[First pass at parsing .cabal files as UTF8
97Duncan Coutts <duncan@haskell.org>**20080223184025
98 Also print output and error messages etc in UTF8.
99]
100[Make the user guide docbook xml validate
101Duncan Coutts <duncan@haskell.org>**20080223183920]
102[Remove the old attic file
103Duncan Coutts <duncan@haskell.org>**20080222205939]
104[Add writeFileAtomic to and use it everywhere in place of ordinary writeFile
105Duncan Coutts <duncan@haskell.org>**20080222205735
106 It uses the renaming trick to make the write atomic.
107 Not yet tested on Windows.
108]
109[Use withTempFile for the prelude file we pass to haddock
110Duncan Coutts <duncan@haskell.org>**20080222205215]
111[Remove some more ghc pre-6.4 support and common up some showPackageId uses
112Duncan Coutts <duncan@haskell.org>**20080222174227]
113[Import ReadP qualified and factor out parseFreeText
114Duncan Coutts <duncan@haskell.org>**20080222174124]
115[Use packageId from the Package class in more places
116Duncan Coutts <duncan@haskell.org>**20080222170923
117 Using 'packageId' seems a bit clearer that it's just the PackageIdentifier
118 rather than 'package' which might indicate something containing more info.
119 contain
120]
121[Move Package class to Distribution.Package
122Duncan Coutts <duncan@haskell.org>**20080222141910]
123[Export the PackageFixedDeps class
124Duncan Coutts <duncan@haskell.org>**20080221204426
125 and make GenericPackageDescription an instance of the Package class
126]
127[Avoid a rare problem where we fail to find the haddock program
128Duncan Coutts <duncan@haskell.org>**20080221204351]
129[Remove a coule unused imports
130Duncan Coutts <duncan@haskell.org>**20080221204315]
131[more import/qualified name hints to help nhc98
132Malcolm.Wallace@cs.york.ac.uk**20080221162700]
133[Use PackageIndex in finalisePackageDescription
134Duncan Coutts <duncan@haskell.org>**20080220212741
135 rather than [PackageIdentifier]
136]
137[generalise remaining PackageIndex functions over class of pkgs with fixed deps
138Duncan Coutts <duncan@haskell.org>**20080220195143
139 Add a class for packages with fixed deps, like InstalledPackageInfo and
140 generalise the few functions that used PackageIndex InstalledPackageInfo
141 specifically to use PackageFixedDeps pkg => PackageIndex pkg
142 This will be helpful in cabal-install for configured but not-yet-installed
143 packages.
144]
145[Generalise InstalledPackageIndex over all Package instances
146Duncan Coutts <duncan@haskell.org>**20080220191031
147 New Package class of things that can be identified by a PackageIdentifier
148 so that covers at least PackageIdentifier, PackageDescription and
149 InstalledPackageInfo. Most PackageIndex operations work for any package type.
150]
151[Fix haddock markup
152Duncan Coutts <duncan@haskell.org>**20080219132543]
153[Use the InstalledPackageIndex rather than calling ghc-pkg in Haddock module
154Duncan Coutts <duncan@haskell.org>**20080219125050
155 Previously we made two calls to ghc-pkg per-dependent package which starts
156 to get very slow once you have 100's of installed packages and the package
157 you're building depends on several of them. Now we use the cached information
158 about the installed packages. Also refactored the code to generate the haddock
159 package flags so we can export it and use it elsewhere more easily.
160]
161[Add the InstalledPackageIndex to the LocalBuildInfo
162Duncan Coutts <duncan@haskell.org>**20080219124932
163 So now all the info about installed packages is available to all the
164 verious build phases.
165]
166[Detect broken and inconsistent package deps
167Duncan Coutts <duncan@haskell.org>**20080219000139
168 We now check for packages that are broken due to their dependencies having
169 been unregistered. We fail and print a fairly sensible message in this case.
170 We also check for inconsistent dependencies and give a warning saying which
171 packages are depending on inconsistent versions of a third. This is a warning
172 not an error because it does not always lead to failure. Hopefully it'll help
173 people who are otherwise just running into random compile errors.
174 This fixes ticket #220.
175]
176[Save horazontal space in the --help output by omitting options to short flags
177Duncan Coutts <duncan@haskell.org>**20080218235744
178 So instead of "-f FLAGS --flags=FLAGS" we get just "-f --flags=FLAGS"
179 This makes rather better use of 80 cols and means the flag descriptsion
180 are not squeesed into such a narrow column.
181]
182[Add warnings about missing and out-of-tree relative paths
183Duncan Coutts <duncan@haskell.org>**20080218203242]
184[Eliminate use of cpp in Distribution.Compiler
185Duncan Coutts <duncan@haskell.org>**20080218182338]
186[Fix: Distribution.Make's configure doesn't work on Windows.
187shelarcy <shelarcy@gmail.com>**20080216062433]
188[help nhc98 to disambiguate imports
189Malcolm.Wallace@cs.york.ac.uk**20080218103907]
190[Bump version to 1.3.5 due to more api changes
191Duncan Coutts <duncan@haskell.org>**20080215130513]
192[Make the GHC.Makefile private
193Duncan Coutts <duncan@haskell.org>**20080215130459]
194[Add InstalledPackageIndex type and use it in place of [InstalledPackageInfo]
195Duncan Coutts <duncan@haskell.org>**20080215124051
196 The new index module is adapted from the similar module in cabal-install but
197 with renamed functions and extended to work with full InstalledPackageInfo
198 rather than just PackageIdentifier. So the getInstalledPackages functions now
199 return an InstalledPackageIndex.
200]
201[Simplify configure code by relying on ghc >= 6.4
202Duncan Coutts <duncan@haskell.org>**20080215092628
203 We changed to require ghc >= 6.4 a while ago, this is just a simplification
204 that was missed at the time.
205]
206[Add some more common utils we'll need in a sec and make use of intercalate
207Duncan Coutts <duncan@haskell.org>**20080215092443
208 Have to define it locally since it only appeared in Data.List recently.
209]
210[getInstalledPackages now returns full InstalledPackageInfo
211Duncan Coutts <duncan@haskell.org>**20080215091536
212 rather than just PackageIdentifier. This will enable us to do lots more in
213 future, for example detecting inconsistent package depends, doing our
214 own cpp pre-processing or module chasing.
215]
216[Don't re-export Compiler from Distribution.Simple.Setup
217Duncan Coutts <duncan@haskell.org>**20080213192756]
218[Add x-* extension field parsing (trac #210)
219Brent Yorgey <byorgey@gmail.com>**20080212174138]
220[Moved --program-prefix and --program-suffix out of InstallDirs
221phigley@gmail.com**20080212042631
222 The program prefix and suffix have been moved out of InstallDirs so that InstallDirs is now all directories.  The prefix and suffix have been moved into LocalBuildInfo as stand-alone PathTemplate flags.
223]
224[Allow lower-case spellings for boolean fields.
225Thomas Schilling <nominolo@gmail.com>**20080211175117]
226[Add lots of new package checks
227Duncan Coutts <duncan@haskell.org>**20080211162831
228 Check that Setup.(l)hs exists.
229 Check for ./configure file if build-type: Configure
230 Check for duplicate modules in library and executables.
231 Check ghc-options and cc-options for -I -l -L flags that should be elsewhere
232 Check for lots of insane ghc-options that people have used in real packages.
233 Check for old ghc -f flags that correspond to extensions
234]
235[Document main-is behaviour with preprocessors
236Duncan Coutts <duncan@haskell.org>**20080211161854]
237[Bump version to 1.3.4
238Duncan Coutts <duncan@haskell.org>**20080211012054
239 Various recent api changes
240]
241[Move ppField(s) utils into ParseUtils module
242Duncan Coutts <duncan@haskell.org>**20080211004605
243 and stop exporting various internal stuff from PackageDescription.Parse
244 which was previously being used by the sanity checking code.
245]
246[Note the form of jhc --version output
247Duncan Coutts <duncan@haskell.org>**20080211004423]
248[Unify sanity and other checks and separate IO checks
249Duncan Coutts <duncan@haskell.org>**20080211003830
250 And rename from QA so we no longer pretend to assure anything :-)
251 We now distinguish different kinds of tests with a PackageCheck type so the
252 caller gets to decide which kinds of checks are relevant to the context.
253 This PackageCheck type should be extensible if we want to add more kinds or
254 more info besides a brief human readable explanation.
255]
256[Fix a bug where the destdir prefix got included in the prog prefix and suffix
257Duncan Coutts <duncan@haskell.org>**20080208192613
258 Previously all members of InstallDirs were paths so it was safe to prefix
259 them all with the destdir, but now we've also got these two non-paths, so
260 we have to not apply the prefix to them. Perhaps the program prefix and suffix
261 should just be PathTemplates on their own and not part of InstallDirs.
262 Reported by MarcWeber while hacking on Haskell packages for Nix.
263]
264[Fix --package-conf= for unregister too
265Duncan Coutts <duncan@haskell.org>**20080206142023]
266[fix --package-conf=<file> is correct when creating register.sh
267marco-oweber@gmx.de**20080205210221]
268[Replace moduleToFilePath with findFileWithExtension
269Duncan Coutts <duncan@haskell.org>**20080206014554
270 moduleToFilePath encouraged bad error handling and becuase it was specific
271 to module names it made it hard to treat modules and main.hs files uniformly.
272 This is one step towards using the same code paths for modules and main.hs
273 files so that main.hs files always work properly with pre-processors etc.
274]
275[Fix up Cabal.cabal after module renaming
276Duncan Coutts <duncan@haskell.org>**20080205195316]
277[Finish moving GenericPackageDescription into PackageDescription module
278Duncan Coutts <duncan@haskell.org>**20080205195051
279 and fix up remaing imports.
280 hcOptions is back in the PackageDescription module but with a different type.
281 GenericPackageDescription now derives Show as having the separate pretty
282 printer is inconvenient and in any case it is incomplete.
283]
284[Rearrange PackageDescription some more
285Duncan Coutts <duncan@haskell.org>**20080205194341
286 Previously we moved the types into Distribution.PackageDescription.Types.
287 Now all the remaining utils have been removed from D.PackageDescription we
288 can move D.PackageDescription.Types back to D.PackageDescription. Also move
289 D.Configuration to be D.PackageDescription.Configuration and move the types
290 used for GenericPackageDescription into D.PackageDescription and move the
291 functions that convert GenericPackageDescription -> PackageDescription into
292 the D.PackageDescription.Configuration module.
293]
294[Finish moving build path functions
295Duncan Coutts <duncan@haskell.org>**20080205192439]
296[Move cabalVersion, setupMessage and a bunch of paths into differnt modules
297Duncan Coutts <duncan@haskell.org>**20080205190230
298 New Distribution.Simple.BuildPaths module similar to the .InstallDirs module
299 to hold all the paths and filenames used during a build.
300 It's currently somewhat of a miscellaneous collection.
301]
302[nhc98 does not have System.Posix.Internals
303Malcolm.Wallace@cs.york.ac.uk**20080205120516]
304[Move PackageDescription unit tests into a dedicated module
305Duncan Coutts <duncan@haskell.org>**20080204221028
306 and make the unit test module build again.
307 The PackageDescription module no longer needs CPP.
308]
309[Split Distribution.PackageDescription into three other modules
310Duncan Coutts <duncan@haskell.org>**20080204213306
311 New D.PackageDescription.Types with the types and simple utils
312 New D.PackageDescription.Parse module for parsing and printing functions.
313 The sanity check code is moved into the existing QA module.
314 The public api of Distribution.PackageDescription remains the same.
315]
316[Rewrite the Makefile and build the user-guide using xsltproc like ghc does
317Duncan Coutts <duncan@haskell.org>**20080204172634]
318[Fudge comment indentation in unliting to work with haddock
319Duncan Coutts <duncan@haskell.org>**20080203042308
320 The rule is, if we see any bird track style code then we will indent all
321 comments by two spaces so that it should line up with the code. Otherwise
322 we use no indentation so that it'll work with latex style literate files.
323 This makes it work for takusen (once you change the '.' lines to be blank).
324]
325[Tweak the ghc-options: -O -O2 messages again
326Duncan Coutts <duncan@haskell.org>**20080201113121]
327[Fix haddock markup
328Duncan Coutts <duncan@haskell.org>**20080131193804]
329[Improve wording of -O and -O2 QA tests.
330Duncan Coutts <duncan@haskell.org>**20080131143933
331 Including a typo noted by Johan Tibell.
332]
333[Adjust unlit's behaviour on continuing comments
334Duncan Coutts <duncan@haskell.org>**20080131142901
335 This behaviour is not set in stone, there is not full agreement yet.
336 The previous code was deciding wether to continue a comment based on wether
337 the intervenienting lines were completely blank or had at least one space in.
338 The other suggestion was to use a '.' to continue a comment line.
339 Instead, this change uses a single blank line between comments to continue
340 a comment and anything else terminates it with a blank line.
341]
342[Use Setup.hs like everyone else does
343Duncan Coutts <duncan@haskell.org>**20080131115953
344 and note the issue about custom vs simple build-type for Cabal itself.
345]
346[Improve the QA messages a bit, use the same style as the sanity check messages
347Duncan Coutts <duncan@haskell.org>**20080131115739
348 Slightly more like full sentances and using '' quotes for field names etc.
349]
350[Find original sources for main-is when creating sdist
351Duncan Coutts <duncan@haskell.org>**20080131114909
352 Also add a package sanity check that main-is must specify a .hs or .lhs file.
353 So the bahaviour is now that main-is specifies the main source file, even if
354 that is generated by a pre-processor. This isn't really a change in behaviour
355 since previously if you specified main-is: main.hsc then it would try to
356 pass the .hsc file to ghc dirctly which would not work. For ticket #14 things
357 were fixed to that it would look for main.hsc if you used main-is: main.hs an
358 that file did not exist directy. This completes the other half, of actually
359 being able to make a src distribution. So this should fix bug #217.
360 Note that this still needs some work, we do not run platform-independent
361 preprocessors and put the result into the tarball for main-is files.
362 Generally, main-is has been the second class citizen compared to normal
363 modules. We should try and refactor so both use the same code paths.
364]
365[Eliminate now-redundant Bool flag on smartCopySources
366Duncan Coutts <duncan@haskell.org>**20080131114511
367 and simplfy the implementation to be a simple composition of
368 findFileWithExtension' and copyFiles with some additonal error checking.
369]
370[Stop using smartCopySources in SrcDist
371Duncan Coutts <duncan@haskell.org>**20080131114143
372 This was the old module using it in with preserveDirs = True.
373 Anyway, we should be using smartCopySources for each lib and exe, we should be
374 collecting all the files to copy together into one list, then eliminating
375 duplicates and doing a single copyFiles operation. Yes, there can be
376 duplicates because for example exes can specify the libbrary's modules or
377 even the other exe's main module as other-modules.
378]
379[findPackageDesc has to return a relative path for SrcDist
380Duncan Coutts <duncan@haskell.org>**20080131113726
381 otherwise we fail to copy the .cabal file when into the src tree
382]
383[Remove one Bool parameter to smartCopySources which was True in all uses
384Duncan Coutts <duncan@haskell.org>**20080130112842
385 The remaining Bool parameter is False for all uses except in SrcDirs
386]
387[Remove handling for .hi-boot files, which was only needed for ghc-6.2
388Duncan Coutts <duncan@haskell.org>**20080130001845
389 which we have removed support for. It is not clear if we need any similar
390 handling for .hs-boot files. These were also the only uses of smartCopySources
391 which used exitIfNone set to False.
392]
393[Remove utils testing code for functions that are being removed
394Duncan Coutts <duncan@haskell.org>**20080130000848]
395[Simplify smartCopySources using findFileWithExtension' and copyFiles
396Duncan Coutts <duncan@haskell.org>**20080130000129
397 Previously it used moduleToFilePath2 which returns all the locations in which
398 a source file is found, in different search dirs and with different extensions
399 and it just collected all these locations. This is totally bogus since we do
400 not want to copy multiple source files per-module, only one of them could have
401 been used to be pre-processed into the final source module. This is one
402 example of how almost every use of moduleToFilePath is convoluted or broken.
403 This function it still used for too many different purposes, witness the two
404 flags to customise its behaviour which at all call sites are constants.
405]
406[Add utils functions copyFiles, findFileWithExtension, findFileWithExtension'
407Duncan Coutts <duncan@haskell.org>**20080129235559
408 and rewrite findFile in a similar style. These are to help simplify and
409 replace the existing functions smartCopySources, moduleToFilePath and
410 moduleToFilePath2.
411]
412[Update testsuite for unlit changes
413Duncan Coutts <duncan@haskell.org>**20071230013843
414 Follow the H98 report and replace ">" with " " not "".
415 Output the whitespace for blank lines rather than "".
416 Adjust to changes in unlit error handling, now more explicit.
417]
418[Add Alistair Bayley's unlit test suite
419Duncan Coutts <duncan@haskell.org>**20071230013723]
420[Refactor unlit code to improve error and line pragma handling
421Duncan Coutts <duncan@haskell.org>**20071230012530
422 And to make it more like the original code that classified lines
423 separately from checking and transforming them.
424]
425[haddock: run unlit before cpp, like ghc does.
426alistair@abayley.org**20071204211356]
427[unlit preserves comments for Haddock's benefit. More complex algorithm to handle cases where we want blank lines (containing whitespace) to become comment lines in the output.
428alistair@abayley.org**20071204211550]
429[Document --program-prefix and --program-suffix
430Duncan Coutts <duncan@haskell.org>**20080130205011
431 and a couple other trivial tidyups
432]
433[Add --program-prefix and --program-suffix options to configure (#208)
434phigley@gmail.com**20080129054940]
435[Remove programatica support
436Duncan Coutts <duncan@haskell.org>**20080127171629
437 I doubt it works or that anyone uses it.
438 If anyone genuinely does use it we can add it back in cabal-install.
439]
440[Simplify findPackageDesc code, removing old checks
441Duncan Coutts <duncan@haskell.org>**20080127165139
442 It used to look for and warn about Setup.description files.
443 That's from a very very old transition which is now complete.
444 We can just ignore any files like that now.
445]
446[Add configure --package-db= flag to use specific package db
447Duncan Coutts <duncan@haskell.org>**20080113232536
448 Should allow satisfying deps from the given package db and should register
449 into that db. It is not thoroughly tested however.
450]
451[fix build for Hugs and nhc98
452Ross Paterson <ross@soi.city.ac.uk>**20080129005105]
453[rawSystemStdout': do hGetContents synchonously, to avoid a race condition
454Simon Marlow <simonmar@microsoft.com>**20080128150644]
455[PackageDescription.hs: add check for existence of license file
456Brent Yorgey <byorgey@gmail.com>**20080127031033
457 Added a check for the existence of the license file (if one is
458 specified in a license-file: field) during description file
459 sanity checking.  If a license is specified but does not exist,
460 a warning is generated.  This patch resolves issue #180.
461]
462[Tweak flags error message and use monad failure rather than error
463Duncan Coutts <duncan@haskell.org>**20080127001137]
464[fix for Trac #164: better error reporting for undefined flags
465Brent Yorgey <byorgey@gmail.com>**20080126233057]
466[Fix warnings in Distribution.Simple.hs, clean no longer takes LocalBuildInfo
467Duncan Coutts <duncan@haskell.org>**20080127000125
468 Though of course we cannot yet change the UserHooks interface so that it is
469 never given the LocalBuildInfo.
470]
471[Delete rawSystemPathExit, use rawSystemExit
472Duncan Coutts <duncan@haskell.org>**20080126235620
473 There was only one use and no point since rawSystem uses the path anyway.
474]
475[Remove the debian/ and debianTemplate/ files since they never get updated
476Duncan Coutts <duncan@haskell.org>**20080126233914
477 so they are almost certainly useless to the debian folks anyway.
478]
479[Simplify default Setup.hs example
480Duncan Coutts <duncan@haskell.org>**20080126233427
481 make it a .hs like everyone else uses
482]
483[Remove examples dir which seemed rather pointless
484Duncan Coutts <duncan@haskell.org>**20080126233308]
485[Remove TODO, all remaining items were transfered into the trac (see bug #2)
486Duncan Coutts <duncan@haskell.org>**20080126232936]
487[delete removePreprocessed function, it's unused except for cleaning jhc files
488Duncan Coutts <duncan@haskell.org>**20080126230256
489 and jhc should just be putting its generated files under dist/ anyway.
490 The latter issue is filed as bug #219.
491]
492[Check if dist/ exists before trying to delete it
493Duncan Coutts <duncan@haskell.org>**20080126223528
494 Saves printing an error message when it fails.
495]
496[Rewrite rawSystemStdout to not use runInteractiveProcess with ghc
497Duncan Coutts <duncan@haskell.org>**20080125175517
498 So it doesn't use a temp file to capture the output.
499 Since runInteractiveProcess is only available on ghc we
500 use the temp file method for other implementations.
501]
502[Add a Distribution.Setup module that re-exports Distribution.Simple.Setup
503Duncan Coutts <duncan@haskell.org>**20070920121125
504 Many Setup.hs files import Distribution.Setup so this unbreaks them.
505 It's marked DEPRECATED so will generate a warning for scripts that use it.
506 This patch is only going to the cabal-1.2 branch, not HEAD.
507]
508[Document the fact that --user now changes the default --prefix
509Duncan Coutts <duncan@haskell.org>**20080124025352
510 to $HOME/.cabal on unix and on WinXP: (not sure about vista)
511 C:\Documents And Settings\user\Application Data\cabal
512]
513[flush stdout before running subprograms
514Ross Paterson <ross@soi.city.ac.uk>**20080125102053
515 
516 This is needed to separate Cabal and subprogram output if stdout is
517 buffered (e.g. a file), especially if stdout and stderr are the same.
518]
519[Update user guide on reporting bugs and stability of cabal interfaces
520Duncan Coutts <duncan@haskell.org>**20080124201250
521 Fixes ticket #11. Though the section could do with a bit more detail.
522 It corresponds to what's on the wiki:
523 http://hackage.haskell.org/trac/hackage/wiki/StableInterfaces
524]
525[Rework withTempFile code and use System.IO.openTempFile where available
526Duncan Coutts <duncan@haskell.org>**20080123235847
527 The System.IO.openTempFile is much better because it opens the temp files
528 securely. Howver it is only available in base-2 and only of GHC. In base-3
529 it is available for all implementations. So in practice that means it's only
530 for GHC and we have to use our compatability implementation for hugs and
531 nhc98. Not sure of the status for jhc.
532]
533[bootstrapping setup does not need -cpp, all the files that need it say so.
534Duncan Coutts <duncan@haskell.org>**20080123212224]
535[Replace remaining OPTIONS pragmas with LANGUAGE + OPTIONS_GHC/JHC/NHC98
536Duncan Coutts <duncan@haskell.org>**20080123211923
537 ghc-6.4 and above recognise the OPTIONS_GHC pragma.
538 ghc-6.6 and above recognise the LANGUAGE pragma.
539 Added OPTIONS_JHC and OPTIONS_NHC pragmas with equivalant flags.
540]
541[Remove more {-# OPTIONS -cpp #-} where it was only used for empty hunit tests
542Duncan Coutts <duncan@haskell.org>**20080123211739]
543[Remove unnecessary {-# OPTIONS -cpp #-}
544Duncan Coutts <duncan@haskell.org>**20080123203454]
545[Make Data.Version parsing stricter
546Duncan Coutts <duncan@haskell.org>**20080123201930
547 Dissalows version strings like "1.05". It'd have to be "1.5" or "1.0.5".
548 That is, leading '0's in version components are no longer allowed.
549 The Version parser & pretty printer should now be exactly 1-1 and invertable.
550]
551[Make the Compat/ReadP.hs cpp conditionals be opt-in rather than opt-out.
552Duncan Coutts <duncan@haskell.org>**20080123201644
553 Previusly everyone got the compat version, except for ghc and hugs which
554 opted out. Now just nhc98 opts in.
555]
556[Remove unneeded {-# OPTIONS -fglasgow-exts #-}
557Duncan Coutts <duncan@haskell.org>**20080123201512]
558[Assuming ghc-6.4 or nhc-1.20 as a minimum allows us to remove much cpp cruft
559Duncan Coutts <duncan@haskell.org>**20080123192258]
560[check for ghc-6.4 as minimum version supported at runtime
561Duncan Coutts <duncan@haskell.org>**20080123191729]
562[Remove support for using ghc-6.2
563Duncan Coutts <duncan@haskell.org>**20080122200635
564 No longer inlcude compatability hacks and remove code that handles
565 the old style of ghc-pkg package registration files.
566]
567[Remove many Distribution.Compat modules that were only needed for ghc-6.2
568Duncan Coutts <duncan@haskell.org>**20080122194317]
569[Fix warnings in Cabal
570Ian Lynagh <igloo@earth.li>*-20080118191230]
571[Fixup breakage from previous changes
572Duncan Coutts <duncan@haskell.org>**20080121220743]
573[Fix --with-compiler / --with-hc inconsistency in ./configure flags
574Duncan Coutts <duncan@haskell.org>**20080121182948
575 setup configure takes a --with-compiler option, but used to change
576 that into a --with-hc option when calling ./configure.
577 Now that we've added autoconfUserHooks and deprecated defaultUserHooks we
578 can fix this without breaking any existing scripts. The autoconfUserHooks
579 now passes --with-compiler to ./configure and defaultUserHooks is unchanged.
580 Fixes ticket #114.
581]
582[Move chattyTry into Utils module
583Duncan Coutts <duncan@haskell.org>**20080121171031]
584[Deprecate defaultUserHooks, export autoconfUserHooks. Fix ticket #165
585Duncan Coutts <duncan@haskell.org>**20080121163411
586 Setup scripts should switch to simpleUserHooks or autoconfUserHooks.
587 autoconfUserHooks now fails if ./configure is not present.
588 defaultUserHooks does the same thing it always did.
589]
590[Remove commandAddActionWithEmptyFlags as it's redundant
591Duncan Coutts <duncan@haskell.org>**20080115120129
592 since you can get the same effect just by setting the command's default flags
593 to empty.
594]
595[Make a missing build-type a QA error
596Duncan Coutts <duncan@haskell.org>**20080121003530]
597[Improve wording in sdist QA message.
598Duncan Coutts <duncan@haskell.org>**20080121002148]
599[Update QA TODOs and remove unneded OPTIONS -cpp
600Duncan Coutts <duncan@haskell.org>**20080121002107]
601[Move the license check from a sanity check to a QA check
602Duncan Coutts <duncan@haskell.org>**20080121001722
603 Also extend the check. It's now a QA error to use a license that is empty
604 or AllRightsReserved. It's a warning to not specify a license file. It's an
605 error for the license file to be given but not exist.
606 Note that QA errors are not fatal for generating tarballs. But they will become
607 fatal errors for uploading to the public hackage server. It will still be
608 possible to use AllRightsReserved or another license on a private hackagedb.
609]
610[Run QA when running sdist
611Lennart Kolmodin <kolmodin@gentoo.org>**20080120215823
612 Code written in a session with Duncan Coutts
613]
614[Separate into two QA categories, and readjust levels
615Lennart Kolmodin <kolmodin@gentoo.org>**20080120215549
616 Much code written in a session with Duncan Coutts
617]
618[Don't fail QA if no license file is set
619Lennart Kolmodin <kolmodin@gentoo.org>**20080118194041]
620[Rename QA function for PackageDescription
621Lennart Kolmodin <kolmodin@gentoo.org>**20080117230439]
622[Fix haddock module doc for QA
623Lennart Kolmodin <kolmodin@gentoo.org>**20080117230423]
624[Implement QA for PackageDescription
625Lennart Kolmodin <kolmodin@gentoo.org>**20080117223610
626 Addresses #191 (QA) and #180 (QA for missing license).
627 This patch only adds a new exposed module, it's not yet used anywhere.
628]
629[Remove some functions that were deprecated in the last stable series
630Duncan Coutts <duncan@haskell.org>**20080120130012
631 So they should be safe to remove now.
632]
633[Inform users of max verbosity (fixes ticket 176)
634thomas.dubuisson@gmail.com*-20080113203536]
635[Ticket 176: Fix verbosity error to include the valid -v values
636agl@imperialviolet.org**20071231174709
637 
638 Fixed:
639 http://hackage.haskell.org/trac/hackage/ticket/176
640 
641 
642]
643[Ticket 201: report IO errors during clean
644agl@imperialviolet.org**20071231180516]
645[Fix warnings in Cabal
646Ian Lynagh <igloo@earth.li>**20080118191230]
647[Comment out an unused binding
648Ian Lynagh <igloo@earth.li>**20080116172204]
649[Inform users of max verbosity (fixes ticket 176)
650thomas.dubuisson@gmail.com**20080113203536]
651[Warn if a build-type is not specified. We want all packages to use this now.
652Duncan Coutts <duncan@haskell.org>**20080111023917]
653[We default configUserInstall to False so we should not set configPackageDB
654Duncan Coutts <duncan@haskell.org>**20080111023733
655 because we use the value of configUserInstall to set the default value for
656 configPackageDB, and any value the user sets will override that.
657]
658[Bump minor version number due to more minor api and behaviour changes
659Duncan Coutts <duncan@haskell.org>**20080110201117]
660[Make --user --global change the default prefix
661Duncan Coutts <duncan@haskell.org>**20080110193830
662 Previously --user and --global didn't mean what it looks like they mean,
663 instead of doing a per-user or a global installation they just meant to
664 register in the per-user or global package databases (and to allow
665 dependencies to be satisfied from the per-user or global db)
666 With this patch --user / --global means to do a per-user or global install
667 so in addition to the package db differences it also sets the default
668 installation prefix. This prefix can of course still be overridden using the
669 --prefix= flag. The global prefix is as before, the default per-user prefix
670 is $HOME/.cabal on Unix and on Windows it's something like:
671 C:/Documents And Settings/$user/Application Data/cabal
672 (using getAppUserDataDirectory "cabal"). This is the per-user prefix that
673 cabal-install currently uses. We can change it if people think it's not good.
674]
675[Un-deprecate configCompilerAux
676Duncan Coutts <duncan@haskell.org>**20080110175148
677 but make it do something sensible with the ProgramConfiguration
678]
679[Export the Flag constructors
680Duncan Coutts <duncan@haskell.org>**20080110175123]
681[Allow symbol characters (e.g '+') in the components of a build-tool name
682David Waern <davve@dtek.chalmers.se>**20080108211218]
683[Set dynlibdir to $libdir per default.
684Clemens Fruhwirth <clemens@endorphin.org>**20071228183604]
685[Use os(windows) not os(win32) in user guide configurations example
686Duncan Coutts <duncan@haskell.org>**20071228125735
687 Spotted by Spencer Janssen
688]
689[Use getTemporaryDirectory from Distribution.Compat.Direcotry
690Duncan Coutts <duncan@haskell.org>**20071228125530
691 for compatability with ghc-6.2.2
692]
693[Fix haddock parse error ($prefix -> \$prefix)
694Clemens Fruhwirth <clemens@endorphin.org>**20071227124051]
695[Rejig --list-options handling so it takes priority
696Duncan Coutts <duncan@haskell.org>**20071218191636
697 --list-options no takes priority over errors in other flags and over --help
698 this is so that it can be used consistently for command completion without
699 returning garbage (ie error messages on ill formed partial command lines
700 or producing --help output). Also make --list-options list all the common
701 options appart from itself, so that's just --help at the moment.
702]
703[Export flagToList for cabal-install to use
704Duncan Coutts <duncan@haskell.org>**20071217185359]
705[Support command completion in the Make module
706Duncan Coutts <duncan@haskell.org>**20071217185328]
707[Add correct^H^H^H^H British English spelling of optimisation
708Duncan Coutts <duncan@haskell.org>**20071217133533
709 For the --enable/disable-optimi(z|s)ation flag, allow the British English
710 spelling of the flags as an alias. The current one is still the one
711 displayed, and it does not list bith in the --help text, though the command
712 completion would list both.
713 Perhaps the default should be on the basis of the current locale :-).
714]
715[Add --list-options flag, should be useful for shell command line completion
716Duncan Coutts <duncan@haskell.org>**20071217132048
717 It applies at the top level in which case it lists the global flags and
718 the sub-commands. It applies for each sub-command in which case it lists
719 the sub-command's available flags.
720]
721[Make all command line flags and flag collection types monoids
722Duncan Coutts <duncan@haskell.org>**20071215193650
723 And specify command flags in a way that allows converting from or two strings.
724 So not only can we parse command lines into the various flag types, we can
725 convert back. This is crucial in cabal-install so that we can call Setup.hs
726 scripts with all the various args, and override certain flags in a typed way
727 rather than just representing them all as strings.
728]
729[Export Command constructor so cabal-install can make derived commands
730Duncan Coutts <duncan@haskell.org>**20071208192401
731 Also move commandHelp out of the structure into a helper function. Change
732 the type of commandOptions so it doesn't include the CommonFlag. Instead,
733 add those in whenever necessary. This makes deriving commands easier.
734 Also fix docs.
735]
736[Replace lots of configBlahDir fields with just one InstallDirs
737Duncan Coutts <duncan@haskell.org>**20071208182620
738 So instead of 10 fields like this:
739 configPrefix   :: Maybe FilePath,
740 ...
741 we have just one compound one:
742 configInstallDirs   :: InstallDirs (Maybe FilePath)
743 Now that LocalBuildInfo and cabal-install's config use InstallDirs it makes
744 converting a lot easier since we can use fmap and combineInstallDirs.
745 This should also be easier to maintain as it has significantly reduced the
746 number of places in the code you have to change when you add/change a dir.
747]
748[Merge InstallDirTemplates into InstallDirs
749Duncan Coutts <duncan@haskell.org>**20071208182334
750 This simplifies things and makes it a bit more versatile since
751 we can use things like InstallDirs (Maybe PathTemplate).
752]
753[Bump version number as we've made api changes
754Duncan Coutts <duncan@haskell.org>**20071215194028]
755[Make fromPathTemplate not drop vars
756Duncan Coutts <duncan@haskell.org>**20071215193943
757 It's useful to be able to convert String <-> PathTeplate without loosing info.
758]
759[Don't supress warnings, fix uncovered warnings
760Duncan Coutts <duncan@haskell.org>**20071208191939]
761[Move CopyDest from Setup to InstallDirs module
762Duncan Coutts <duncan@haskell.org>**20071208170913
763 It's a better place to put it and it allows Setup to use InstallDirs later
764]
765[Add more to the user guide intro trying to explain the scope and use model
766Duncan Coutts <duncan@haskell.org>**20071208161402]
767[Fix haddock markup
768Duncan Coutts <duncan@haskell.org>**20071207162314]
769[Rename interfacedir to haddockdir
770Duncan Coutts <duncan@haskell.org>**20071207142824
771 Since it really only refers to haddock interfaces, so interface is too
772 general a term. Cannot push to 1.2 branch as it changes the api.
773]
774[Add mandir support to InstallDirs
775Duncan Coutts <duncan@haskell.org>**20071207141839
776 It's not used by Cabal at all but some packages want to install man pages
777 and this should make it easier for them to figure out where to install them.
778 In particular c2hs and lhs2tex have man pages.
779]
780[Fix hscolour code so it only outputs the css once per-lib or exe
781Duncan Coutts <duncan@haskell.org>**20071207130309
782 Rather than for every module in the lib. Tidy the code up a little too.
783]
784[First go at supporting ghc-6.9's ghc-pkg list --simple-output
785Duncan Coutts <duncan@haskell.org>**20071207123107
786 We used to have to parse the human readable output from ghc-pkg list because
787 previously it was not possible to specify which package dbs to query.
788 Now the behaviour is that you specify exactly which dbs you want and you
789 only get those packages listed. For example ghc-pkg list --global lists only
790 packages from the global db. So we now use:
791 ghc-pkg list --simple-output --global
792 ghc-pkg list --simple-output --global --user
793]
794[Note what form of string we get from invoking hmake --version
795Duncan Coutts <duncan@haskell.org>**20071207122829]
796[Add -framework arguments when linking executables.
797judah.jacobson@gmail.com**20071210174056]
798[Support --hyperlink-source for Haddock >= 2.0
799David Waern <davve@dtek.chalmers.se>**20071209180555]
800[Use a default HsColour CSS if available
801Duncan Coutts <duncan@haskell.org>**20071206145937
802 Supported in HsColour 1.9 and later
803]
804[export ccLdOptionsBuildInfo helper function
805Duncan Coutts <duncan@haskell.org>**20071205194146
806 Useful in Setup.hs scripts for things like HSQL that need to
807 find CC and LD flags by calling foo-config style programs.
808 The same function is used internally for pkg-config support.
809]
810[make rawSystemStdout put its temp files in the temp dir rather than cwd
811Duncan Coutts <duncan@haskell.org>**20071202220620
812 Should fixe reported wierdness with finding program version numbers
813]
814[The NHC module now uses cpp
815Duncan Coutts <duncan@haskell.org>**20071129124745]
816[Rename defaultMain__ to defaultMainHelper
817Duncan Coutts <duncan@haskell.org>**20071121203604
818 It was a silly name.
819]
820[Bump development version number due to api change
821Duncan Coutts <duncan@haskell.org>**20071120164121
822 Since we've changed the exports of the Setup module significantly.
823 However since this is a dev series I don't think it makes sense to
824 bump the major version number as in the PVP, or we'd end up doing
825 it all the time in a development series.
826]
827[Remove unused code in Setup module
828Duncan Coutts <duncan@haskell.org>**20071120163922
829 This changes the API so cannot be pushed to the 1.2 branch.
830]
831[Use the new Command stuff for Distribution.Simple
832Duncan Coutts <duncan@haskell.org>**20071120161816]
833[Use the new Command stuff for Distribution.Make
834Duncan Coutts <duncan@haskell.org>**20071120161605]
835[Stop using deprecated setup code in SetupWrapper
836Duncan Coutts <duncan@haskell.org>**20071120161435]
837[Add Command module to exposed-modules
838Duncan Coutts <duncan@haskell.org>**20071116145234]
839[Add new Command abstraction for handling command line args
840Duncan Coutts <duncan@haskell.org>**20071116141225
841 Add instances of it for all existing Cabal commands.
842 This should makes command line handling more regular and hopefully make it
843 easier to override or make derived commands in cabal-install.
844 So far we're only adding code, not modifying existing stuff except renaming
845 some existing internal functions so they do not clash with the new code.
846]
847[Add emptyPFEFlags and emptySDistFlags for consistency
848Duncan Coutts <duncan@haskell.org>**20071116135625]
849[Simplify parameters to defaultMain__
850Duncan Coutts <duncan@haskell.org>**20071116132323
851 Don't use maybe, just have the callers pass the defaults instead.
852 Eliminate the Maybe PackageDescription parameter and instead just have
853 the called override the readDesc in the UserHooks.
854 This simplifies defaultMainWorker too as it can always just use readDesc.
855]
856[Make scratchdir into a proper configure flag
857Duncan Coutts <duncan@haskell.org>**20071116131604
858 rather than using the flag extension mechanism.
859 It was the old flag using it and I'm about to replace that whole system.
860]
861[Refactor: move UserHooks into it's own module
862Duncan Coutts <duncan@haskell.org>**20071114150659]
863[Tidy up args in the pfe, clean, haddock and hscolour default hooks
864Duncan Coutts <duncan@haskell.org>**20071114150131
865 Don't pass unnecessary args and inline trivial definitions
866]
867[Partial implementation of installing for nhc98
868Duncan Coutts <duncan@haskell.org>**20071127174132
869 Doesn't install into the right place by default yet.
870]
871[Library archive creation for nhc98
872Duncan Coutts <duncan@haskell.org>**20071127174017
873 So far only for vanilla not profiling libs.
874]
875[Escape some special characters
876Ian Lynagh <igloo@earth.li>**20071126163253]
877[Fix a broken link
878Ian Lynagh <igloo@earth.li>**20071126163137]
879[Escape some special characters in the haddock docs
880Ian Lynagh <igloo@earth.li>**20071126155145]
881[Fix what looks like a doc braino
882Ian Lynagh <igloo@earth.li>**20071126154824]
883[Put nhc98 .hi files in the target dir rather than the src dir
884Duncan Coutts <duncan@haskell.org>**20071127003800
885 So they end up next to the .o files under dist/ just like for ghc.
886]
887[Workaround import bug in nhc98
888Duncan Coutts <duncan@haskell.org>**20071123210009
889 Cabal can now build using itself and nhc98
890]
891[Add support for building libs and exes with nhc98 via hmake
892Duncan Coutts <duncan@haskell.org>**20071123205750
893 Doesn't do installation yet or check for existence of dependent packages.
894]
895[FIX BUILD with GHC 6.2: getTemporaryDirectory wasn't available
896Simon Marlow <simonmar@microsoft.com>**20071123093121]
897[Do proper pre-processing for Haddock 2
898David Waern <davve@dtek.chalmers.se>**20071109162557
899 Besides pre-processing, this patch adds include paths and output paths
900 to the ghc flags passed to Hadddock.
901]
902[Import changelog changes from the 1.2 branch
903Duncan Coutts <duncan@haskell.org>**20071116145738]
904[Export PreProcessor constructor and mkSimplePreProcessor
905Duncan Coutts <duncan@haskell.org>**20071116145327
906 Otherwise it is impossible to declare new pre-processors in Setup.hs files
907]
908[Fix finding ghc's ld.exe on windows.
909Duncan Coutts <duncan@haskell.org>**20071120101110
910 It looks like it had worked but the ld -x test broke that too. Grr.
911]
912[Fix configure --interfacedir=
913Duncan Coutts <duncan@haskell.org>**20071114191550
914 bug #178
915]
916[Fix haddock interface file location used when registering inplace packages
917Ian Lynagh <igloo@earth.li>**20071110171424
918 This fixes inter-package doc links when building GHC.
919]
920[Add extensions that ghc-6.6 supports
921Duncan Coutts <duncan@haskell.org>**20071109142250]
922[The extension is NoMonoPatBinds not MonoPatBinds
923Duncan Coutts <duncan@haskell.org>**20071109142217]
924[Add language extensions introduced in GHC 6.8
925Duncan Coutts <duncan@haskell.org>**20071108185612]
926[Make the ld -x test use the temp dir rather than dist dir
927Duncan Coutts <duncan@haskell.org>**20071108141349
928 Should fix cabal-install.
929]
930[fix compilation with GHC 6.2.x
931Simon Marlow <simonmar@microsoft.com>**20071105113004]
932[Install the haddock interface file to the right place
933Ian Lynagh <igloo@earth.li>**20071030170254]
934[Add an interfacedir configure flag, for where to put haddock insterface files
935Ian Lynagh <igloo@earth.li>**20071029174908]
936[put the binary-dist copy in the right place
937Simon Marlow <simonmar@microsoft.com>**20071026132515]
938[fix $(TOP)
939Simon Marlow <simonmar@microsoft.com>**20071026101915]
940[fix XML (at least, makes it work here)
941Simon Marlow <simonmar@microsoft.com>**20071026101907]
942[no longer need to pass --allow-missing-html to haddock
943Ross Paterson <ross@soi.city.ac.uk>**20071026084124
944 
945 This option only affects Haddock if it is invoked with --use-package,
946 and Cabal no longer uses that option, as it now gets the arguments for
947 --read-interface from ghc-pkg directly (cf patch "rejig location of
948 package interfaces for haddock").
949]
950[no longer need to pass --ghc-pkg to haddock
951Ross Paterson <ross@soi.city.ac.uk>**20071026073126
952 
953 Haddock only runs ghc-pkg if invoked with --use-package, and Cabal no
954 longer uses that option, as it now gets the arguments for --read-interface
955 from ghc-pkg directly (cf patch "rejig location of package interfaces
956 for haddock").
957]
958[fix help text (--PROG-arg is now --PROG-option)
959Ross Paterson <ross@soi.city.ac.uk>**20071026001045]
960[Fix a bug in the Unlit pre-processor
961David Waern <davve@dtek.chalmers.se>**20071024181908
962 With this patch, unlit can handle line pragmas with filenames that contain
963 spaces.
964]
965[Adjust verbosity of a step in configure
966Duncan Coutts <duncan@haskell.org>**20071024160758]
967[Compile a .c rather than a .hs file to make a .o file in ld -x configure test
968Duncan Coutts <duncan@haskell.org>**20071024150505
969 Since when bootstrapping ghc we're not in any position to compile .hs files
970 that easily.
971]
972[Create the dist/ dir early in the configuration process
973Duncan Coutts <duncan@haskell.org>**20071024133554]
974[Create temp files in dist, since it is now guaranteed to exist
975Duncan Coutts <duncan@haskell.org>**20071024102850]
976[Regenerate GHC/Makefile.hs from GHC/Makefile.in
977Duncan Coutts <duncan@haskell.org>**20071023183804]
978[Only use ld -x on systems where ld supports that.
979Duncan Coutts <duncan@haskell.org>**20071023183738
980 Hopefully this fixes it for both ordinary builds and via ghc makefiles.
981]
982[pass cpp-options to cpphs
983Ross Paterson <ross@soi.city.ac.uk>**20071023184210]
984[Refuse to run any commands if the .cabal has been modified
985Simon Marlow <simonmar@microsoft.com>**20071023093111
986 See GHC bug #1372
987 This is a consistency check, intended to prevent this class of build
988 failures:
989 
990    * Package P is updated, its version number is bumped, the
991      new version is compiled and installed.
992 
993    * Package Q depends on P.  Q is modified to use the new P, and Q's
994      .cabal file is updated with changes to the build-depends field to
995      depend on the new version of P.
996 
997    * The user has an old build of Q.  They pull the changes to Q and
998      'setup build' without cleaning or re-configuring.  Build errors
999      ensue, because the code of Q depends on changes to P's API, and
1000      we're still building against the old P.
1001 
1002 Note that you can't get segfaults this way, only build errors.
1003 
1004 This also relies on some new consistency checking in GHC 6.8 to work
1005 properly.  If the user re-configures their Q build and then issues
1006 'setup build' without cleaning, GHC must now realise that the package
1007 flags have changed, and re-compile all the affected Q modules.  GHC
1008 6.6 would not do this, but 6.8 does.
1009]
1010[Add support for Haddock 2.0
1011David Waern <davve@dtek.chalmers.se>**20071021231415]
1012[Be explicit about the base version dependency
1013Duncan Coutts <duncan@haskell.org>**20071023122417
1014 don't just leave it up to the default search order
1015]
1016[typo in comment
1017Ross Paterson <ross@soi.city.ac.uk>**20071022091235]
1018[Correct the spelling of mingw32 in os alias list
1019Duncan Coutts <duncan@haskell.org>**20071018195641
1020 Doh!
1021]
1022[refinement of fix for #1785: don't use xargs' -s option at all
1023Simon Marlow <simonmar@microsoft.com>**20071019124522]
1024[FIX GHC bug #1785: use 2048 as the maximum command-line size
1025Simon Marlow <simonmar@microsoft.com>**20071018140500
1026 Apparently Solaris sets a limit of 2048 here
1027]
1028[don't fail if xxx_hsc_make.c is gone
1029Ross Paterson <ross@soi.city.ac.uk>**20071018164245
1030 
1031 The non-GHC hsc2hs deletes it even if the compilation fails.
1032]
1033[Use cpp-options rather than abusing ghc-options
1034Duncan Coutts <duncan@haskell.org>**20071017164914]
1035[Add a "cpp-options:" field and use it for pre-processing .hs .hsc .chs files
1036Duncan Coutts <duncan@haskell.org>**20071017164747
1037 This is for pre-processing Haskell modules, not for C code. We already have
1038 cc-options for that purpose. Up 'til now people have been abusing ghc-options
1039 for this purpose. Even Cabal itself was guilty of doing that.
1040]
1041[Figure out if hsc2hs is using gcc or ghc as it's C compiler
1042Duncan Coutts <duncan@haskell.org>**20071017143108
1043 and pass the appropriate flags on the basis of knowing that.
1044 This is a hack.
1045 What we should do longer term is make hsc2hs always use gcc as it's C compiler
1046 and have Cabal figure out the right flags to pass it, rather than using ghc
1047 to pass on the appropriate flags to gcc.
1048]
1049[Change the handling of cpp & ghc flags for hsc2hs
1050Duncan Coutts <duncan@haskell.org>**20071016231652
1051 The hsc2hs that comes with ghc uses ghc as the C compiler. This means we must
1052 escape the real cc flags. It also means we can ask ghc to add extra include
1053 dirs that we might need to find includes of dependent packages. This is a bit
1054 of a hack. In the longer term it'd be better for Cabal to collect the include
1055 dirs and cc options of dependent packages and to pass them explicitly itself.
1056]
1057[Improve error messages for failed sanity checks.
1058Thomas Schilling <nominolo@gmail.com>**20070925144955]
1059[Translate flat files into sectionized files, by duplicating global
1060Thomas Schilling <nominolo@gmail.com>**20070925144921
1061 dependecies into each non-empty section.  The previous solution dumped
1062 them into the library section, even if it would have been empty
1063 otherwise.
1064]
1065[Move ghcVerbosity function into GHC module to share code
1066Duncan Coutts <duncan@haskell.org>**20071014165730]
1067[Note current development version number in release notes
1068Duncan Coutts <duncan@haskell.org>**20071012121835]
1069[Update the TODO list, mostly removing things.
1070Duncan Coutts <duncan@haskell.org>**20071012121702
1071 Most of these are duplicated by Trac bugs.
1072 We should try and get rid of this TODO file completely and just use Trac.
1073]
1074[Add logging functions notice, info, debug functions and use them consistently
1075Duncan Coutts <duncan@haskell.org>**20071012113237
1076 We previously had this kind of code all over the place:
1077 > when (verbosity >= verbose)
1078 >      (putStrLn "some message")
1079 We now replace that with:
1080 > info verbosity "some message"
1081 Much nicer.
1082]
1083[When parsing ghc-pkg output, only look at the first package.conf file for GlobalPackageDB and SpecificPackageDB, and all package.conf files for UserPackageDB.
1084bjorn@bringert.net**20071016095254
1085 Before, we would consider user packages when fulfilling dependencies
1086 for global installs. ghc-pkg will refuse to install packages globally if they
1087 use user packages. Thus, without this patch, global installs can fail when you have user packages installed.
1088]
1089[Pass -c (silent create) to ar when verbosity < normal.
1090bjorn@bringert.net**20071013220906]
1091[Change --verbosity= option of SetupWrapper (cabal-setup) to --verbose=, since that is what the rest of Cabal uses.
1092bjorn@bringert.net**20071013215617]
1093[Pass -w -v0 to ghc when compiling Setup.{lhs,hs} in SetupWrapper when verbosity == silent.
1094bjorn@bringert.net**20071013214820]
1095[Update documentation on configurations
1096Duncan Coutts <duncan@haskell.org>**20071012015338
1097 Describe the new syntax and make variuous changes to the
1098 description of the meaning.
1099]
1100[Use -O2 for compiling .c files when we configure --enable-optimization
1101Duncan Coutts <duncan@haskell.org>**20071011223607
1102 Seems a reasonable default behaviour.
1103]
1104[parameterise InstalledPackageInfo over the type of module names
1105Simon Marlow <simonmar@microsoft.com>**20071003114947
1106 This is useful in GHC, we can instantiate InstalledPackageInfo to
1107 ModuleName and avoid lots of String<->FastString conversions.
1108]
1109[Remove commented-out code.
1110bjorn@bringert.net**20071006083615
1111 Push to 1.2.
1112]
1113[Rename parseDescription to parsePackageDescription.
1114bjorn@bringert.net**20071006083354
1115 This should be pushed to cabal-1.2 to make cabal-install work with 1.2.
1116]
1117[Bump version number to 1.3
1118bjorn@bringert.net**20071005105412]
1119[Expose parseDescription.
1120bjorn@bringert.net**20071005104554]
1121[Fix GenericPrackageDescription pretty printing to make it parsable. It still does not include all information.
1122bjorn@bringert.net**20071005102555]
1123[Haddock comment for the available dependencies argument to finalizePackageDescription.
1124bjorn@bringert.net**20071004134544]
1125[Add extra-libs to shared library linking
1126Clemens Fruhwirth <clemens@endorphin.org>**20070927123923]
1127[Actually -stubdir only works well in ghc-6.8 due to -I search dir mess
1128Duncan Coutts <duncan@haskell.org>**20070926131843
1129 In ghc-6.6 the Foo/Bar.hc files only #include "Bar_stub.h" rather than
1130 #include "Foo/Bar_stub.h". This means when we set the stubdir so that the
1131 _stub.h files don't sit next to the .hs file then the include search path
1132 is not right to find the _stub.h file. In ghc-6.8 this is fixed so that
1133 it adds the -stubdir path to the include search path when calling gcc.
1134]
1135[The -stubdir flag is supported in ghc-6.6 not just 6.6.1
1136Duncan Coutts <duncan@haskell.org>**20070926114223]
1137[Add -package-name to GHC invocation when linking DSOs
1138Clemens Fruhwirth <clemens@endorphin.org>**20070926090025]
1139[Be more fuzzy with os, arch and impl matching in conditions. Fixes bug #158.
1140Duncan Coutts <duncan@haskell.org>**20070925132608
1141 Do all the comparisons case insensitively and add some OS aliases so that
1142 if os(windows)  works if the System.Info.os is actually "mingw32".
1143]
1144[Don't generate links when dependent docs not installed. Fixes bug #157.
1145Duncan Coutts <duncan@haskell.org>**20070924142520
1146 Generates a warning rather than failing as before.
1147]
1148[Fix warnings
1149Ian Lynagh <igloo@earth.li>**20070923122921]
1150[Fix pre-processing for executables
1151Duncan Coutts <duncan@haskell.org>**20070922105414
1152 The pre-processed files should go into the exe's build dir, not the
1153 lib's build dir. Also pre-process main modules, fixing bug #14.
1154]
1155[Add a boring file
1156Ian Lynagh <igloo@earth.li>**20070913203550]
1157[Remove some now-unecessary cleaning that causes problems for haskell-src
1158Ian Lynagh <igloo@earth.li>**20070920203257
1159 The code that removes .hs files in the source tree generated from .y files
1160 had a comment:
1161     XXX: This is actually no longer necessary, but we keep it, so that
1162     clean works correctly on packages built with an older version of Cabal
1163 This was causing problems for source distributions that include such
1164 generated files (including haskell-src in extralibs).
1165]
1166[Move expensive conviguration actions inside branch where they're used
1167Duncan Coutts <duncan@haskell.org>**20070917085834
1168 We only need to configure the compiler and resolve any "Cabal-Version:"
1169 dependency when we're actually going to compile the Setup.hs program.
1170 We can otherwise save time by not calling ghc and ghc-pkg unnecessarily.
1171 (I only noticed this because I've got >150 registered packages which
1172 causes ghc and ghc-pkg to be very slow to start.)
1173]
1174[Note in .cabal file that we're using a custom build-type
1175Duncan Coutts <duncan@haskell.org>**20070917033959]
1176[Pass on all the cabal-setup options to cabal, not just unrecognised ones
1177Duncan Coutts <duncan@haskell.org>**20070917025121
1178 So for example -v and -w get passed on rather than swallowed by cabal-setup
1179 itself.
1180]
1181[Put setup program and setup .o/.hi files into dist/setup
1182Duncan Coutts <duncan@haskell.org>**20070917024907
1183 That way they get cleaned automatically and do not clutter the top dir.
1184]
1185[Correct the verbosity range in the "--help" text
1186Duncan Coutts <duncan@haskell.org>**20070917024416
1187 The correct range in 0--3, not 0--2 or 0--5
1188]
1189[look in odir for source and .hs files, not buildDir lbi
1190Duncan Coutts <duncan@haskell.org>**20070917145030
1191 odir = buildDir lbi for the lib case, which is why it worked most of the time
1192 in testing but in the exe case it's a different dir.
1193]
1194[Put _stub.{c|h} files under dist/ so they'll get cleaned. Fixes bug #154.
1195Duncan Coutts <duncan@haskell.org>**20070917123042
1196 Only used with ghc-6.6 and later which supports the -stubdir flag.
1197 With earlier ghc versions the files still end up in the src dirs and so do not
1198 get cleaned.
1199]
1200[Fix haddockDir
1201Ian Lynagh <igloo@earth.li>**20070912133051]
1202[Add htmlDirTemplate to inplaceDirs
1203Ian Lynagh <igloo@earth.li>**20070912125749]
1204[Add a --htmldir flag
1205Ian Lynagh <igloo@earth.li>**20070912122145]
1206[Don't forcibly append "pkgName (package pkg_descr)" to htmldir
1207Ian Lynagh <igloo@earth.li>**20070911192814]
1208[TAG 2007-09-06
1209Ian Lynagh <igloo@earth.li>**20070906212150]
1210[use OPTIONS instead of OPTIONS_GHC for now, the latter doesn't work with GHC 6.2.x
1211Simon Marlow <simonmar@microsoft.com>**20070912105243]
1212[Don't create empty data dirs. Fixes bug #153.
1213Duncan Coutts <duncan@haskell.org>**20070912113803
1214 Patch contributed by Sven Panne.
1215]
1216[Use confgurations to help build Cabal for ghc-6.2.x
1217Duncan Coutts <duncan@haskell.org>**20070912112934
1218 Replacing a long-standing comment telling people how to do it manually.
1219]
1220[warning police
1221Simon Marlow <simonmar@microsoft.com>**20070907140731]
1222[Update D.S.GHC/Makefile.hs
1223Clemens Fruhwirth <clemens@endorphin.org>**20070906213507]
1224[Add shared library building to GHC module (also via Makefile)
1225Clemens Fruhwirth <clemens@endorphin.org>**20070906213132]
1226[fix type clash: Data.Version -> Distribution.Version
1227Malcolm.Wallace@cs.york.ac.uk**20070906163051]
1228[fix broken #ifdefs for nhc98
1229Malcolm.Wallace@cs.york.ac.uk**20070906161553]
1230[spell nhc98-options correctly
1231Malcolm.Wallace@cs.york.ac.uk**20070906150411]
1232[Fix various mispellings of nhc98.
1233Malcolm.Wallace@cs.york.ac.uk**20070906143959]
1234[nhc-options should be spelled nhc98-options
1235Malcolm.Wallace@cs.york.ac.uk**20070906143536]
1236[TAG 1.2.0
1237Duncan Coutts <duncan@haskell.org>**20070906121830]
1238Patch bundle hash:
12393ba976c4794ff9be9b567e2cbf87094296032de4