13 years agoremove unnecessary cruft
Simon Marlow [Fri, 22 Jun 2007 07:56:02 +0000 (07:56 +0000)]
remove unnecessary cruft

13 years agoFIX BUILD: all builds need --template, not just Windows
Simon Marlow [Fri, 22 Jun 2007 07:54:44 +0000 (07:54 +0000)]
FIX BUILD: all builds need --template, not just Windows

13 years agoignore all but the last --template option
Simon Marlow [Fri, 22 Jun 2007 07:54:17 +0000 (07:54 +0000)]
ignore all but the last --template option

13 years agoUnbreak the stage-2 compiler (record-type changes) [Thu, 21 Jun 2007 17:01:31 +0000 (17:01 +0000)]
Unbreak the stage-2 compiler (record-type changes)

13 years ago-fglasgow-exts implies -X=GADTs [Thu, 21 Jun 2007 16:21:52 +0000 (16:21 +0000)]
-fglasgow-exts implies -X=GADTs

13 years agoFIX read040: patterns with type sig on LHS of do-binding [Thu, 21 Jun 2007 14:37:21 +0000 (14:37 +0000)]
FIX read040: patterns with type sig on LHS of do-binding

f () = do { x :: Bool <- return True; ... }

For some reason the production for 'pat' required 'infixexp' on the
LHS of a do-notation binding.  This patch makes it an 'exp', which
thereby allows an expression with a type sig.

Happily, there are no new shift-reduce errors, so I don't think this
will break anything else.

13 years agoAnother wibble to the head-exploded error message (suggested by David Roundy) [Thu, 21 Jun 2007 14:11:44 +0000 (14:11 +0000)]
Another wibble to the head-exploded error message (suggested by David Roundy)

13 years agoUse the correct flag for controlling scoped type variables in an instance decl [Thu, 21 Jun 2007 14:11:14 +0000 (14:11 +0000)]
Use the correct flag for controlling scoped type variables in an instance decl

13 years agoImprove 'my head exploded' error message [Thu, 21 Jun 2007 13:16:50 +0000 (13:16 +0000)]
Improve 'my head exploded' error message

13 years agoFIX BUILD: add missing prime! [Thu, 21 Jun 2007 13:16:25 +0000 (13:16 +0000)]
FIX BUILD: add missing prime!

13 years agoFIX BUILD on Windows: horrible hack to work around make(?) bug
Simon Marlow [Thu, 21 Jun 2007 14:45:19 +0000 (14:45 +0000)]
FIX BUILD on Windows: horrible hack to work around make(?) bug

13 years agoyet more fixes: Cygwin broke this time
Simon Marlow [Thu, 21 Jun 2007 14:06:53 +0000 (14:06 +0000)]
yet more fixes: Cygwin broke this time

13 years agofix bugs with hsc2hs-inplace
Lemmih [Thu, 21 Jun 2007 13:28:25 +0000 (13:28 +0000)]
fix bugs with hsc2hs-inplace

13 years agomk/ is optional
Lemmih [Thu, 21 Jun 2007 13:07:27 +0000 (13:07 +0000)]
mk/ is optional

13 years agofurther fixes to the inplace scripts
Lemmih [Thu, 21 Jun 2007 13:06:57 +0000 (13:06 +0000)]
further fixes to the inplace scripts

13 years agouse a binary for hsc2hs-inplace too
Simon Marlow [Thu, 21 Jun 2007 12:14:26 +0000 (12:14 +0000)]
use a binary for hsc2hs-inplace too

13 years agoFix problems with new inplace stuff on Cygwin
Simon Marlow [Thu, 21 Jun 2007 11:41:47 +0000 (11:41 +0000)]
Fix problems with new inplace stuff on Cygwin

13 years agoFIX BUILD: can't build the makefiles during make boot
Simon Marlow [Thu, 21 Jun 2007 09:51:54 +0000 (09:51 +0000)]
FIX BUILD: can't build the makefiles during make boot

13 years agoclean up lib/{GNUmakefile,Makefile.local}
Simon Marlow [Wed, 20 Jun 2007 13:28:09 +0000 (13:28 +0000)]
clean up lib/{GNUmakefile,Makefile.local}

13 years agodefault_target should be "all", not "build"
Simon Marlow [Wed, 20 Jun 2007 13:20:01 +0000 (13:20 +0000)]
default_target should be "all", not "build"

13 years agoadd comment
Simon Marlow [Wed, 20 Jun 2007 13:19:49 +0000 (13:19 +0000)]
add comment

13 years agoFix a problem with being included too early
Simon Marlow [Wed, 20 Jun 2007 12:22:24 +0000 (12:22 +0000)]
Fix a problem with being included too early

13 years agoUse setup makefile + make by default to build libraries
Simon Marlow [Wed, 20 Jun 2007 12:20:09 +0000 (12:20 +0000)]
Use setup makefile + make by default to build libraries

The advantages of this are
  (a) it's a step closer to getting -j working again (make -j works in
      an individual library, but not in libraries/ yet).
  (b) it's easier to hack on libraries: make dist/build/Foo.o
  (c) it's a step closer to getting HC bootstrapping again

The build system creates <lib>/GNUmakefile as part of 'make boot'.
This was chosen so as not to interfere with existing Makefiles, but
it's a bit of a hack.  (previously I used CabalMakefile, but that
means adding -f CabalMakefile each time you run make, and that's a

13 years agoUse a real binary instead of scripts for ghc-inplace
Simon Marlow [Thu, 21 Jun 2007 10:13:24 +0000 (10:13 +0000)]
Use a real binary instead of scripts for ghc-inplace
Fixes various problems with getting the scripts right on Windows.
Binaries are universally executable by /bin/sh, cmd.exe and rawSystem,
so this allows us to remove some platform-specific hacks.

13 years agoAdd several new record features
Lemmih [Thu, 21 Jun 2007 09:15:52 +0000 (09:15 +0000)]
Add several new record features

1. Record disambiguation (-fdisambiguate-record-fields)

In record construction and pattern matching (although not
in record updates) it is clear which field name is intended
even if there are several in scope.  This extension uses
the constructor to disambiguate.  Thus
C { x=3 }
uses the 'x' field from constructor C (assuming there is one)
even if there are many x's in scope.

2. Record punning (-frecord-puns)

In a record construction or pattern match or update you can
omit the "=" part, thus
C { x, y }
This is just syntactic sugar for
C { x=x, y=y }

3.  Dot-dot notation for records (-frecord-dot-dot)

In record construction or pattern match (but not update)
you can use ".." to mean "all the remaining fields".  So

C { x=v, .. }

means to fill in the remaining fields to give

C { x=v, y=y }

(assuming C has fields x and y).  This might reasonably
considered very dodgy stuff.  For pattern-matching it brings
into scope a bunch of things that are not explictly mentioned;
and in record construction it just picks whatver 'y' is in
scope for the 'y' field.   Still, Lennart Augustsson really
wants it, and it's a feature that is extremely easy to explain.

I thought of using the "parent" field in the GlobalRdrEnv, but
that's really used for import/export and just isn't right for this.
For example, for import/export a field is a subordinate of the *type
constructor* whereas here we need to know what fields belong to a
particular *data* constructor.

The main thing is that we need to map a data constructor to its
fields, and we need to do so in the renamer.   For imported modules
it's easy: just look in the imported TypeEnv.  For the module being
compiled, we make a new field tcg_field_env in the TcGblEnv.
The important functions are

There is still a significant infelicity in the way the renamer
works on patterns, which I'll tackle next.

I also did quite a bit of refactoring in the representation of
record fields (mainly in HsPat).***END OF DESCRIPTION***

Place the long patch description above the ***END OF DESCRIPTION*** marker.
The first line of this file will be the patch name.

This patch contains the following changes:

M ./compiler/deSugar/Check.lhs -3 +5
M ./compiler/deSugar/Coverage.lhs -6 +7
M ./compiler/deSugar/DsExpr.lhs -6 +13
M ./compiler/deSugar/DsMeta.hs -8 +8
M ./compiler/deSugar/DsUtils.lhs -1 +1
M ./compiler/deSugar/MatchCon.lhs -2 +2
M ./compiler/hsSyn/Convert.lhs -3 +3
M ./compiler/hsSyn/HsDecls.lhs -9 +25
M ./compiler/hsSyn/HsExpr.lhs -13 +3
M ./compiler/hsSyn/HsPat.lhs -25 +63
M ./compiler/hsSyn/HsUtils.lhs -3 +3
M ./compiler/main/DynFlags.hs +6
M ./compiler/parser/Parser.y.pp -13 +17
M ./compiler/parser/RdrHsSyn.lhs -16 +18
M ./compiler/rename/RnBinds.lhs -2 +2
M ./compiler/rename/RnEnv.lhs -22 +82
M ./compiler/rename/RnExpr.lhs -34 +12
M ./compiler/rename/RnHsSyn.lhs -3 +2
M ./compiler/rename/RnSource.lhs -50 +78
M ./compiler/rename/RnTypes.lhs -50 +84
M ./compiler/typecheck/TcExpr.lhs -18 +18
M ./compiler/typecheck/TcHsSyn.lhs -20 +21
M ./compiler/typecheck/TcPat.lhs -8 +6
M ./compiler/typecheck/TcRnMonad.lhs -6 +15
M ./compiler/typecheck/TcRnTypes.lhs -2 +11
M ./compiler/typecheck/TcTyClsDecls.lhs -3 +4
M ./docs/users_guide/flags.xml +7
M ./docs/users_guide/glasgow_exts.xml +42

13 years agoRemove the unused HsExpr constructor DictPat
Lemmih [Mon, 18 Jun 2007 12:46:05 +0000 (12:46 +0000)]
Remove the unused HsExpr constructor DictPat

13 years agoFix a bug in MatchCon, and clarify what dataConInstOrigArgTys does
Lemmih [Thu, 7 Jun 2007 21:38:37 +0000 (21:38 +0000)]
Fix a bug in MatchCon, and clarify what dataConInstOrigArgTys does

There was an outright bug in MatchCon.matchOneCon, in the construction
of arg_tys.  Easily fixed.  It never showed up becuase the arg_tys are
only used in WildPats, and they in turn seldom have their types looked
(except by hsPatType).  So I can't make a test case for htis.

While I was investigating, I added a bit of clarifation and
invariant-checking to dataConInstOrigArgTys and dataConInstArgTys

13 years agoDo not perform a worker/wrapper split for a NOINLINE function
Lemmih [Thu, 7 Jun 2007 21:35:23 +0000 (21:35 +0000)]
Do not perform a worker/wrapper split for a NOINLINE function

This came up in an email exchange with Duncan Coutts in May 2007.
If a function is marked NOINLINE there is really no point in
doing a worker/wrapper split, because the wrapper will never
be inlined.

13 years agoFix Trac #1402: typo in specialiser
Lemmih [Thu, 7 Jun 2007 18:55:34 +0000 (18:55 +0000)]
Fix Trac #1402: typo in specialiser

This patch fixes a plain bug in the specialiser (rhs_bndrs instead
of rhs_ids) which made GHC crash in obscure cases.

It exposed a case in which we might not do all possible specialisation;
see Note [Specialisation shape].  It's not an important case, but I've
added a warning in DEBUG mode.

Trac #1402.  Test is spec003.hs

13 years agoWibble: make -fno-implicit-prelude work [Thu, 21 Jun 2007 07:24:56 +0000 (07:24 +0000)]
Wibble: make -fno-implicit-prelude work

13 years agoRemove an incorrect claim that [t| ... |] isn't implemented yet
Ian Lynagh [Thu, 21 Jun 2007 00:31:03 +0000 (00:31 +0000)]
Remove an incorrect claim that [t| ... |] isn't implemented yet

13 years agoMake building haddock docs opt-in rather than opt-out
Ian Lynagh [Wed, 20 Jun 2007 23:59:09 +0000 (23:59 +0000)]
Make building haddock docs opt-in rather than opt-out

13 years agoDon't assume that the main repo is called "ghc" in darcs-all
Ian Lynagh [Wed, 20 Jun 2007 23:40:07 +0000 (23:40 +0000)]
Don't assume that the main repo is called "ghc" in darcs-all
Fixes working in branches where that isn't true.

13 years agoTrivial fix to clear Trac #1386 [Wed, 20 Jun 2007 16:58:36 +0000 (16:58 +0000)]
Trivial fix to clear Trac #1386

13 years agoWibbles in flaggery, concerning backward compatibility with -f flags [Wed, 20 Jun 2007 16:58:01 +0000 (16:58 +0000)]
Wibbles in flaggery, concerning backward compatibility with -f flags

13 years agoImplement -X=GADTs and -X=RelaxedPolyRec [Wed, 20 Jun 2007 16:33:59 +0000 (16:33 +0000)]
Implement -X=GADTs and -X=RelaxedPolyRec

Two new -X flags, one for GADTs and one for relaxed polymorphic recursion

This also fixes a rather confusing error message that the Darcs folk
tripped over.

13 years agoUse -X for language extensions [Wed, 20 Jun 2007 16:26:56 +0000 (16:26 +0000)]
Use -X for language extensions

We've often talked about having a separate flag for language extensions,
and now we have one. You can say


as you like.  These replace the "-f" flags with similar names (though
the -f prefix will serve as a synonym for -X for a while).

There's an optional "=", and the flag is normalised by removing hyphens
and lower-casing, so all the above variants mean the same thing.

The nomenclature is intended to match the LANGUAGE pramgas, which are
defined by Cabal.  So you can also say

{-# LANGUAGE ImplicitParams #-}

But Cabal doesn't have as many language options as GHC does, so the -X
things are a superset of the LANGUAGE things.

The optional "=" applies to all flags that take an argument, so you can,
for example, say


I hope that's ok.  (It's an unforced change; just fitted in.)

I hope we'll add more -X flags, to replace the portmanteau -fglasgow-exts
which does everything!

I have updated the manual, but doubtless missed something.

13 years agoUnused import [Wed, 20 Jun 2007 16:13:41 +0000 (16:13 +0000)]
Unused import

13 years agoturning back on case liberation when using hpc [Wed, 20 Jun 2007 15:02:44 +0000 (15:02 +0000)]
turning back on case liberation when using hpc

13 years agoremove debugging code accidentally left in
Simon Marlow [Wed, 20 Jun 2007 12:57:42 +0000 (12:57 +0000)]
remove debugging code accidentally left in

13 years agoUse .NOTPARALLEL for the libraries Makefile
Ian Lynagh [Wed, 20 Jun 2007 12:07:23 +0000 (12:07 +0000)]
Use .NOTPARALLEL for the libraries Makefile

13 years agoImprove the handling of deriving, in error cases [Wed, 20 Jun 2007 10:28:28 +0000 (10:28 +0000)]
Improve the handling of deriving, in error cases

I'd been too ambitious with error handling for 'deriving', and got it
entirely wrong.  This fixes it.  See extensive
Note [Exotic derived instance contexts]
in TcSimplify.  (Most of the extra lines are comments!)

13 years agoMore refactoring in TcSimplify [Wed, 20 Jun 2007 09:36:46 +0000 (09:36 +0000)]
More refactoring in TcSimplify

This re-jig tides up the top-level simplification, and combines in one
well-commented function, approximateImplications, the rather ad-hoc
way of simplifying implication constraints during type inference.

Error messages get a bit better too.

13 years agoFix egregious sharing bug in LiberateCase [Wed, 20 Jun 2007 07:56:48 +0000 (07:56 +0000)]
Fix egregious sharing bug in LiberateCase

Andy Gill writes: consider the following code

       f = g (case v of
                V a b -> a : t f)

where g is expensive. Liberate case will turn this into

       f = g (case v of
               V a b -> a : t (letrec f = g (case v of
                                             V a b -> a : f t)
                                in f)
Yikes! We evaluate g twice. This leads to a O(2^n) explosion
if g calls back to the same code recursively.

This may be the same as Trac #1366.

13 years agoTurning off case liberation when using the hpc option, for now [Wed, 20 Jun 2007 06:49:43 +0000 (06:49 +0000)]
Turning off case liberation when using the hpc option, for now

Consider the following code

     f = g (case v of
              V a b -> a : t f)

where g is expensive. Liberate case will turn this into

     f = g (case v of
             V a b -> a : t (letrec f = g (case v of
                                           V a b -> a : f t)
                              in f)

Yikes! We evaluate g twice. This leads to a O(2^n) explosion
if g calls back to the same code recursively.

This happen sometimes in HPC, because every tick is a liberate-able case,
but is a general problem to case liberation (I think).

13 years agoAdd --core-only flag to push-all
Ian Lynagh [Tue, 19 Jun 2007 20:05:46 +0000 (20:05 +0000)]
Add --core-only flag to push-all

13 years agoAdd a push-all script
Ian Lynagh [Tue, 19 Jun 2007 19:28:20 +0000 (19:28 +0000)]
Add a push-all script

13 years agoImprove misleading warning (Trac #1422) [Tue, 19 Jun 2007 16:53:54 +0000 (16:53 +0000)]
Improve misleading warning (Trac #1422)

13 years agoFix a bug in the handling of implication constraints (Trac #1430) [Tue, 19 Jun 2007 16:26:13 +0000 (16:26 +0000)]
Fix a bug in the handling of implication constraints (Trac #1430)

Trac #1430 showed up quite a nasty bug in the handling of implication
constraints when we are *inferring* the type of a function.
See Note [Inference and implication constraints]:

  We can't (or at least don't) abstract over implications.  But we might
  have an implication constraint (perhaps arising from a nested pattern
  match) like
   C a => D a
  when we are now trying to quantify over 'a'.  Our best approximation
  is to make (D a) part of the inferred context, so we can use that to
  discharge the implication. Hence getImplicWanteds.

My solution is not marvellous, but it's better than before.  I transferred
function getDefaultableDicts from Inst to TcSimplify (since it's only
called there).  Many of the remaining 50 new lines are comments.  But
there is undoubtedly more code than before (sigh).

Test is tc228.

13 years agoComments only [Tue, 19 Jun 2007 16:26:03 +0000 (16:26 +0000)]
Comments only

13 years agoRemove erroneous requirement to import Control.Monad.Fix when using mdo [Tue, 19 Jun 2007 08:46:34 +0000 (08:46 +0000)]
Remove erroneous requirement to import Control.Monad.Fix when using mdo

See Trac #1426

13 years agoFirst cut at documentation for HPC option in GHC [Tue, 19 Jun 2007 05:56:54 +0000 (05:56 +0000)]
First cut at documentation for HPC option in GHC

13 years agoBuild package ndp if present
Manuel M T Chakravarty [Tue, 19 Jun 2007 01:15:10 +0000 (01:15 +0000)]
Build package ndp if present

13 years agotypo
Simon Marlow [Mon, 18 Jun 2007 11:18:17 +0000 (11:18 +0000)]

13 years agoMore debugger output order consistency
Ian Lynagh [Mon, 18 Jun 2007 10:28:50 +0000 (10:28 +0000)]
More debugger output order consistency

13 years agoSeveral changes to the code dealing with newtypes in :print
Pepe Iborra [Sun, 17 Jun 2007 19:34:35 +0000 (19:34 +0000)]
Several changes to the code dealing with newtypes in :print

I simplified the code, killed some unreachable blocks, and renamed it so that it corresponds more accurately with what is explained in the technical report

Also, fixed a bug related to newtypes in the pretty printer

13 years agoRemove now non-existant "Breakpoints" entry from
Pepe Iborra [Wed, 13 Jun 2007 09:21:02 +0000 (09:21 +0000)]
Remove now non-existant "Breakpoints" entry from

13 years agoSort names before printing them in the debugger so output order is consistent
Ian Lynagh [Sun, 17 Jun 2007 21:52:05 +0000 (21:52 +0000)]
Sort names before printing them in the debugger so output order is consistent

13 years agoUse %d rather than %zd on Windows
Ian Lynagh [Sat, 16 Jun 2007 19:37:45 +0000 (19:37 +0000)]
Use %d rather than %zd on Windows

13 years agoAdd missing quotes in generated script
Ian Lynagh [Fri, 15 Jun 2007 18:45:27 +0000 (18:45 +0000)]
Add missing quotes in generated script

13 years agoFix size mismatch errors in mkDerivedConstants.c
Ian Lynagh [Fri, 15 Jun 2007 18:23:37 +0000 (18:23 +0000)]
Fix size mismatch errors in mkDerivedConstants.c

13 years agoworkaround for #1421 (Solaris linker being picky about .size)
Simon Marlow [Thu, 14 Jun 2007 09:57:27 +0000 (09:57 +0000)]
workaround for #1421 (Solaris linker being picky about .size)

13 years agoI didn't quite fix #1424 completely - hopefully this gets it right
Simon Marlow [Wed, 13 Jun 2007 14:45:05 +0000 (14:45 +0000)]
I didn't quite fix #1424 completely - hopefully this gets it right

13 years agoFIX #1424: x86_64 NCG generated wrong code for foreign call with >8 double args
Simon Marlow [Wed, 13 Jun 2007 14:24:31 +0000 (14:24 +0000)]
FIX #1424: x86_64 NCG generated wrong code for foreign call with >8 double args
I guess we have a missing test... I'll add one

13 years agoanother fix for -hb: we appear to be freeing the hash table and arena twice
Simon Marlow [Wed, 13 Jun 2007 11:15:52 +0000 (11:15 +0000)]
another fix for -hb: we appear to be freeing the hash table and arena twice

13 years agoFIX #1418 (partially)
Simon Marlow [Wed, 13 Jun 2007 10:29:28 +0000 (10:29 +0000)]
FIX #1418 (partially)
When the con_desc field of an info table was made into a relative
reference, this had the side effect of making the profiling fields
(closure_desc and closure_type) also relative, but only when compiling
via C, and the heap profiler was still treating them as absolute,
leading to crashes when profiling with -hd or -hy.

This patch fixes up the story to be consistent: these fields really
should be relative (otherwise we couldn't make shared versions of the
profiling libraries), so I've made them relative and fixed up the RTS
to know about this.

13 years agoshould be using GET_CON_DESC() to get the constructor name
Simon Marlow [Wed, 13 Jun 2007 09:52:01 +0000 (09:52 +0000)]
should be using GET_CON_DESC() to get the constructor name

13 years agowarning police
Simon Marlow [Wed, 13 Jun 2007 09:51:44 +0000 (09:51 +0000)]
warning police

13 years agoUse $(if...) to get lazy tests instead of if..endif in a few places
Simon Marlow [Wed, 13 Jun 2007 08:51:38 +0000 (08:51 +0000)]
Use $(if...) to get lazy tests instead of if..endif in a few places
This means it should be possible to set GhcUnregisterised=YES in and the rest of the settings should follow automatically
(GhcWithNativeCodeGen, SplitObjs, GhcWithSMP).

13 years agoTweak banner printing 2007-06-12
Ian Lynagh [Tue, 12 Jun 2007 21:07:38 +0000 (21:07 +0000)]
Tweak banner printing
* -{short,long}-ghci-banner are now dynamic options, so you can put
  ":set -short-ghci-banner" in .ghci
* The -v2 banner information now always tells you what compiler booted GHC,
  and what stage the compiler is. Thus we no longer assume that stage > 1
  iff GHCI is defined.

13 years agoFIX #1378 Add option for a shorter banner on GHCi startup [Fri, 1 Jun 2007 05:36:44 +0000 (05:36 +0000)]
FIX #1378 Add option for a shorter banner on GHCi startup

Add -short-ghci-banner and -long-ghci-banner.  The default is long, which is
the current behavior.  The short banner prints a one-line introduction with
only the version, web site, and ":? for help" message.

13 years agoWindows bindist tweaking
Ian Lynagh [Sat, 9 Jun 2007 15:14:38 +0000 (15:14 +0000)]
Windows bindist tweaking

13 years agoFix the ghc package in bindists
Ian Lynagh [Sat, 9 Jun 2007 13:43:02 +0000 (13:43 +0000)]
Fix the ghc package in bindists

13 years agoFix up whitespace
Ian Lynagh [Sat, 9 Jun 2007 11:22:35 +0000 (11:22 +0000)]
Fix up whitespace

13 years agoFix bindists on Windows
Ian Lynagh [Sat, 9 Jun 2007 11:19:20 +0000 (11:19 +0000)]
Fix bindists on Windows

13 years agoInstall the RTS from a bindist correctly
Ian Lynagh [Tue, 5 Jun 2007 13:39:56 +0000 (13:39 +0000)]
Install the RTS from a bindist correctly

13 years agoOnly add the extra Windows libraries if we are on Windows
Ian Lynagh [Mon, 4 Jun 2007 13:47:14 +0000 (13:47 +0000)]
Only add the extra Windows libraries if we are on Windows

13 years agoFollow Cabal change; .setup-config is now dist/setup-config
Ian Lynagh [Mon, 4 Jun 2007 13:46:45 +0000 (13:46 +0000)]
Follow Cabal change; .setup-config is now dist/setup-config

13 years agoCopy more of base's hacks into installPackage; *sigh*
Ian Lynagh [Sat, 2 Jun 2007 19:56:51 +0000 (19:56 +0000)]
Copy more of base's hacks into installPackage; *sigh*

13 years agoHack libsubdir so that it does the right thing on both Windows and non-Windows
Ian Lynagh [Sat, 2 Jun 2007 19:38:26 +0000 (19:38 +0000)]
Hack libsubdir so that it does the right thing on both Windows and non-Windows

13 years agoRemove now-unused files
Ian Lynagh [Sat, 2 Jun 2007 12:11:59 +0000 (12:11 +0000)]
Remove now-unused files

13 years agoFix creation
Ian Lynagh [Sat, 2 Jun 2007 12:10:17 +0000 (12:10 +0000)]
Fix creation

13 years agoExplicitly set datadir
Ian Lynagh [Sat, 2 Jun 2007 01:51:01 +0000 (01:51 +0000)]
Explicitly set datadir
Cabal defaults to the value we want on Linux, but uses
"C:\\Program Files\\Common Files" on Windows.

13 years agoFix a -- that somehow turned into a ----
Ian Lynagh [Fri, 1 Jun 2007 22:43:01 +0000 (22:43 +0000)]
Fix a -- that somehow turned into a ----

13 years agoFix creation of hsc2hs-inplace.bat
Ian Lynagh [Fri, 1 Jun 2007 22:33:55 +0000 (22:33 +0000)]
Fix creation of hsc2hs-inplace.bat

13 years agoghc-pkg-inplace now has .bat extension on Windows
Ian Lynagh [Fri, 1 Jun 2007 21:49:53 +0000 (21:49 +0000)]
ghc-pkg-inplace now has .bat extension on Windows

13 years agoAdd omitted files (mk/{install,recurse}.mk)
Ian Lynagh [Fri, 1 Jun 2007 21:05:55 +0000 (21:05 +0000)]
Add omitted files (mk/{install,recurse}.mk)

13 years agoFix bindist creation
Ian Lynagh [Fri, 1 Jun 2007 19:06:59 +0000 (19:06 +0000)]
Fix bindist creation
Bindists should now work again, when doing "make install" at least.
"make in-place" is probably still broken.

13 years agoRework the build system a bit
Ian Lynagh [Thu, 31 May 2007 14:35:05 +0000 (14:35 +0000)]
Rework the build system a bit
Key changes:
* Always build as if BIN_DIST is 1. BIN_DIST is thus removed.
* Libraries are configured with prefix set to $$topdir rather than $(prefix)

13 years agoMake package.conf files a bit more readable
Ian Lynagh [Wed, 30 May 2007 14:46:33 +0000 (14:46 +0000)]
Make package.conf files a bit more readable

13 years agoAdding new ffi calls into the Hpc rts subsystem [Tue, 12 Jun 2007 07:46:55 +0000 (07:46 +0000)]
Adding new ffi calls into the Hpc rts subsystem

foreign import ccall unsafe hs_hpc_write :: CString -> IO ()
foreign import ccall unsafe hs_hpc_read  :: CString -> IO ()

These write a Hpc description of the state of the world to a file,
or read a description into the current Hpc tickbox subsystem.

13 years agodon't add -threaded in stage2/3 if we didn't build the threaded RTS
Simon Marlow [Tue, 12 Jun 2007 08:17:03 +0000 (08:17 +0000)]
don't add -threaded in stage2/3 if we didn't build the threaded RTS

13 years agofix compile error in the !GHCI_TABLES_NEXT_TO_CODE case
Simon Marlow [Tue, 12 Jun 2007 07:46:57 +0000 (07:46 +0000)]
fix compile error in the !GHCI_TABLES_NEXT_TO_CODE case

13 years agoFix PPC Mac OS X memory access problem in SMP.h (#1362)
Thorkil Naur [Fri, 18 May 2007 16:59:57 +0000 (16:59 +0000)]
Fix PPC Mac OS X memory access problem in SMP.h (#1362)

13 years agoUsing blacklist of places not to cover, rather than reverse-engineer deriving. [Sat, 9 Jun 2007 00:00:21 +0000 (00:00 +0000)]
Using blacklist of places not to cover, rather than reverse-engineer deriving.

13 years agoNot adding ticks to compiler generated derived code. [Fri, 8 Jun 2007 22:40:16 +0000 (22:40 +0000)]
Not adding ticks to compiler generated derived code.

13 years agoFix worker/wrapper ids for newtype instances
Manuel M T Chakravarty [Fri, 8 Jun 2007 06:10:46 +0000 (06:10 +0000)]
Fix worker/wrapper ids for newtype instances
- mkDataConIds forced an algebraic worker/wrapper on newtype instances (not
  on vanilla newtypes).  I am not sure where this came from (from code I
  wrote or from the recent restructuring of MkIds), but its not the right
  thing to do.  In particular, it requires newtype instances to have con_info
  labels in the generated code, which makes no sense.
- Worker construction for newtypes is smart enough that it will construct the
  right signature for newtype instances (ie, one that mentions the family
  type constructor, not the instance tycon).

13 years agoFix deriving of indexed data types
Manuel M T Chakravarty [Fri, 8 Jun 2007 04:44:00 +0000 (04:44 +0000)]
Fix deriving of indexed data types
- Fix typo introduced when moving deriving-specific code from TcEnv to TcDeriv
- Thanks to Roman for the bug report

13 years agoAdd instructions for adding a library to a build tree
Ian Lynagh [Thu, 7 Jun 2007 13:55:46 +0000 (13:55 +0000)]
Add instructions for adding a library to a build tree

13 years agoDon't suggest -fno-monomorphism-restriction if it's already set [Wed, 6 Jun 2007 13:34:37 +0000 (13:34 +0000)]
Don't suggest -fno-monomorphism-restriction if it's already set

This patch implements the suggestion in Trac #1398.  It's obviously
stupid to suggest -fno-monomorphism-restriction if the user is already
using it.

(Maybe another suggestion would be good, but this one clearly bogus.)