Ian Lynagh [Wed, 16 Jul 2008 19:28:36 +0000 (19:28 +0000)]
Fix the build with GHC 6.4.2
Ian Lynagh [Wed, 16 Jul 2008 15:04:41 +0000 (15:04 +0000)]
Get building GHC itself with Cabal more-or-less working
Installing and bindist creation don't work, but they were already broken.
Only tested validating with one setup.
Manuel M T Chakravarty [Tue, 15 Jul 2008 05:27:51 +0000 (05:27 +0000)]
Fix for 1st half of #2203
Manuel M T Chakravarty [Mon, 14 Jul 2008 09:45:24 +0000 (09:45 +0000)]
Fix check of rhs of type family instances (#2157)
Simon Marlow [Mon, 14 Jul 2008 15:34:11 +0000 (15:34 +0000)]
FIX BUILD on Windows
Simon Marlow [Mon, 14 Jul 2008 13:28:08 +0000 (13:28 +0000)]
remove what looks like a cut-and-pasto
Simon Marlow [Mon, 14 Jul 2008 11:10:07 +0000 (11:10 +0000)]
fix #2434: we weren't waiting long enough for the signal
Simon Marlow [Mon, 14 Jul 2008 08:36:54 +0000 (08:36 +0000)]
Make showSDoc and printDoc use the same default width (100)
For some reason they were different (100/120), which made some tests
produce different output when I moved from showSDoc to printDoc for
error messages.
Simon Marlow [Fri, 11 Jul 2008 15:27:03 +0000 (15:27 +0000)]
FIX #2322: add exceptions for more functions in math.h
Simon Marlow [Fri, 11 Jul 2008 15:11:46 +0000 (15:11 +0000)]
FIX #2248
Unconditionally add .exe to the output executable name when using
--make on Windows, and no -o option was given.
Simon Marlow [Fri, 11 Jul 2008 15:11:35 +0000 (15:11 +0000)]
add a comment to the effect that printDoc prints FastStrings in UTF-8
Simon Marlow [Fri, 11 Jul 2008 15:11:16 +0000 (15:11 +0000)]
FIX #2302: print FastStrings in UTF-8 in error messages
This is all a bit of a mess, but can hopefully be improved when we get
encoding/decoding support in Handles.
Simon Marlow [Fri, 11 Jul 2008 13:43:01 +0000 (13:43 +0000)]
FIX #2278: don't complain if the -odir directory doesn't exist
we'll create it anyway
Ian Lynagh [Sun, 13 Jul 2008 16:53:05 +0000 (16:53 +0000)]
If HADDOCK_DOCS is YES, then fail the build early if we couldn't find haddock
This fixes trac #2266.
Ian Lynagh [Sun, 13 Jul 2008 12:13:09 +0000 (12:13 +0000)]
Fix some build problems when GHCI is not definde
Ian Lynagh [Sat, 12 Jul 2008 20:37:25 +0000 (20:37 +0000)]
Add PostfixOperators flag for (e op) postfix operators; fixes trac #1824
-fglasgow-exts also turns it on.
Ian Lynagh [Sat, 12 Jul 2008 17:06:38 +0000 (17:06 +0000)]
Remove the hack to avoid darcs-all operating on bootstrapping directories
We no longer create those directories
Ian Lynagh [Sat, 12 Jul 2008 13:43:46 +0000 (13:43 +0000)]
Teach installPackage about --distpref and --enable-shell-wrappers
Ian Lynagh [Fri, 11 Jul 2008 21:43:58 +0000 (21:43 +0000)]
Handle passing hsc2hs to Cabal better
If it has been built then we pass it, even if we are still using the
bootstrapping compiler.
Ian Lynagh [Fri, 11 Jul 2008 21:16:15 +0000 (21:16 +0000)]
Move installPackage out into its own cabal package under utils/
Ian Lynagh [Fri, 11 Jul 2008 15:14:48 +0000 (15:14 +0000)]
Split up Cabal configure flag variables for more flexibility
Ian Lynagh [Fri, 11 Jul 2008 12:31:51 +0000 (12:31 +0000)]
Move -fno-cse flags from Makefile into pragmas
These are needed for GLOBAL_VAR's to work properly
Ian Lynagh [Fri, 11 Jul 2008 13:14:21 +0000 (13:14 +0000)]
Remove the need for undecidable instances in LazyUniqFM
Simon Marlow [Fri, 11 Jul 2008 12:17:39 +0000 (12:17 +0000)]
add "ghc-pkg dump" (fixes #2201)
Simon Marlow [Fri, 11 Jul 2008 12:01:53 +0000 (12:01 +0000)]
small improvement to an error message
Simon Marlow [Fri, 11 Jul 2008 12:00:46 +0000 (12:00 +0000)]
#2371: try to explain the difference between :module and :load
Simon Marlow [Fri, 11 Jul 2008 10:18:39 +0000 (10:18 +0000)]
FIX #2381, and improve the fix for #1565
Ian Lynagh [Thu, 10 Jul 2008 19:06:14 +0000 (19:06 +0000)]
Change pragma order to stop GHC 6.4 getting confused
Ian Lynagh [Thu, 10 Jul 2008 16:30:48 +0000 (16:30 +0000)]
-H80m isn't allowed in an options pragma. Just remove it for now.
Ian Lynagh [Thu, 10 Jul 2008 14:11:29 +0000 (14:11 +0000)]
Remove a commented-out flag
Ian Lynagh [Thu, 10 Jul 2008 14:10:32 +0000 (14:10 +0000)]
Remove an HPUX-only flag which has no comment explaining its purpose
It's probably to work around a long-dead bug
Ian Lynagh [Thu, 10 Jul 2008 14:07:57 +0000 (14:07 +0000)]
Move more flags from the Makefile into pragmas
Ian Lynagh [Thu, 10 Jul 2008 13:52:13 +0000 (13:52 +0000)]
Move the definition of NONEXISTENT into the central cabal-flags.mk
Ian Lynagh [Thu, 10 Jul 2008 13:49:28 +0000 (13:49 +0000)]
Define CABAL in mk/cabal-flags.mk, rather than everywhere we use it
Ian Lynagh [Thu, 10 Jul 2008 13:47:48 +0000 (13:47 +0000)]
Typo fixed
Ian Lynagh [Thu, 10 Jul 2008 13:46:56 +0000 (13:46 +0000)]
Remove a redundant comment
Ian Lynagh [Thu, 10 Jul 2008 13:26:54 +0000 (13:26 +0000)]
Remove remnants of javaGen
Ian Lynagh [Thu, 10 Jul 2008 13:24:17 +0000 (13:24 +0000)]
Remove some remnants of ilxgen
Ian Lynagh [Thu, 10 Jul 2008 13:21:07 +0000 (13:21 +0000)]
Remove a comment for GHC <= 4.08
Ian Lynagh [Thu, 10 Jul 2008 13:15:28 +0000 (13:15 +0000)]
Remove .hi-boot-[56] stuff from the Makefile
Ian Lynagh [Thu, 10 Jul 2008 13:09:25 +0000 (13:09 +0000)]
Remove a flag that a comment claims is for GHC < 5
Ian Lynagh [Thu, 10 Jul 2008 12:59:48 +0000 (12:59 +0000)]
We can now unconditionally use -fno-warn-orphans
...which is good, as the conditional test was broken anyway!
Ian Lynagh [Thu, 10 Jul 2008 12:54:22 +0000 (12:54 +0000)]
Move another flag from the Makefile into a pragma
Ian Lynagh [Thu, 10 Jul 2008 12:48:27 +0000 (12:48 +0000)]
Move some flags from the Makefile into module pragmas
Ian Lynagh [Thu, 10 Jul 2008 12:41:41 +0000 (12:41 +0000)]
Move "main/BinIface_HC_OPTS += -O" into a pragma in iface/BinIface.hs
I assume that we still want this, despite it having been disconnected
when the module was moved.
Ian Lynagh [Thu, 10 Jul 2008 12:36:55 +0000 (12:36 +0000)]
Remove an ancient commented out "parser/Parser_HC_OPTS += -fasm"
Simon Marlow [Thu, 10 Jul 2008 15:14:06 +0000 (15:14 +0000)]
add threadStatus# primop, for querying the status of a ThreadId#
Simon Marlow [Thu, 10 Jul 2008 11:52:21 +0000 (11:52 +0000)]
oops, fix more register clobberage
fixes crash with -threaded -debug for me
Simon Marlow [Wed, 9 Jul 2008 13:54:47 +0000 (13:54 +0000)]
rts_evalStableIO: start the new thread in blocked mode
Simon Marlow [Wed, 9 Jul 2008 13:53:37 +0000 (13:53 +0000)]
add new primop: asyncExceptionsBlocked# :: IO Bool
Ian Lynagh [Wed, 9 Jul 2008 13:57:22 +0000 (13:57 +0000)]
ObjectIO is no longer an extralib
Ian Lynagh [Wed, 9 Jul 2008 12:55:54 +0000 (12:55 +0000)]
Remove all references to -mno-cygwin
We shouldn't need it, as we don't call cygwin's gcc, and it was causing
problems with the nightly builders passing it to GHC.
Simon Marlow [Wed, 9 Jul 2008 11:08:30 +0000 (11:08 +0000)]
#1205: ':load foo.hs' in GHCi always compiles to bytecode
So now
:load foo.hs loads bytecode for foo.hs, even if foo.o exists
:load foo is just shorthand for :load foo.hs
:load M loads a module M, as object code if possible
(no change here)
:set -fobject-code
:load foo.hs loads foo.hs as object code; an existing foo.o
can be used.
This turned out to be very straightforward: when building the
ModSummary for a file (summariseFile) we just ignore the object file
unless -fobject-code is on.
Simon Marlow [Wed, 9 Jul 2008 10:21:43 +0000 (10:21 +0000)]
add -fwarn-dodgy-foreign-imports (see #1357)
From the entry in the User's guide:
-fwarn-dodgy-foreign-imports causes a warning to be emitted for
foreign imports of the following form:
foreign import "f" f :: FunPtr t
on the grounds that it probably should be
foreign import "&f" f :: FunPtr t
The first form declares that `f` is a (pure) C function that takes no
arguments and returns a pointer to a C function with type `t`, whereas
the second form declares that `f` itself is a C function with type
`t`. The first declaration is usually a mistake, and one that is hard
to debug because it results in a crash, hence this warning.
Simon Marlow [Wed, 9 Jul 2008 09:12:52 +0000 (09:12 +0000)]
Treat the Unicode "Letter, Other" class as lowercase letters (#1103)
This is an arbitrary choice, but it's strictly more useful than the
current situation, where these characters cannot be used in
identifiers at all.
In Haskell' we may revisit this decision (it's on my list of things to
discuss), but for now this is an improvement for those using caseless
languages.
Simon Marlow [Wed, 9 Jul 2008 08:49:16 +0000 (08:49 +0000)]
FIX part of #2301, and #1619
2301: Control-C now causes the new exception (AsyncException
UserInterrupt) to be raised in the main thread. The signal handler
is set up by GHC.TopHandler.runMainIO, and can be overriden in the
usual way by installing a new signal handler. The advantage is that
now all programs will get a chance to clean up on ^C.
When UserInterrupt is caught by the topmost handler, we now exit the
program via kill(getpid(),SIGINT), which tells the parent process that
we exited as a result of ^C, so the parent can take appropriate action
(it might want to exit too, for example).
One subtlety is that we have to use a weak reference to the ThreadId
for the main thread, so that the signal handler doesn't prevent the
main thread from being subject to deadlock detection.
1619: we now ignore SIGPIPE by default. Although POSIX says that a
SIGPIPE should terminate the process by default, I wonder if this
decision was made because many C applications failed to check the exit
code from write(). In Haskell a failed write due to a closed pipe
will generate an exception anyway, so the main difference is that we
now get a useful error message instead of silent program termination.
See #1619 for more discussion.
Simon Marlow [Wed, 9 Jul 2008 08:31:28 +0000 (08:31 +0000)]
Fix some random register clobbering in takeMVar/putMVar
This showed up as a crash in conc032 for me.
Simon Marlow [Tue, 8 Jul 2008 11:04:30 +0000 (11:04 +0000)]
ANSI-ise a function declaration
Simon Marlow [Tue, 8 Jul 2008 11:04:10 +0000 (11:04 +0000)]
remove old #ifdef SMP bits
Ian Lynagh [Tue, 8 Jul 2008 22:40:05 +0000 (22:40 +0000)]
Fix build; Opt_LinkHaskell98 is now Opt_AutoLinkPackages
Ian Lynagh [Tue, 8 Jul 2008 16:56:54 +0000 (16:56 +0000)]
Extend the flag for not automatically linking haskell98
It now also doesn't automatically link base and rts either.
We need this when we've done a build, so base and rts are in the
package.conf, but we've then cleaned the libraries so they don't
physically exist any more.
Ian Lynagh [Tue, 8 Jul 2008 15:00:59 +0000 (15:00 +0000)]
Remove all .hi-boot-6 files
From 6.4 onwards we use .(l)hs-boot instead.
Spotted by Max Bolingbroke.
Ian Lynagh [Tue, 8 Jul 2008 14:27:52 +0000 (14:27 +0000)]
Add some missing deps in libraries/Makefile
Ian Lynagh [Tue, 8 Jul 2008 00:27:17 +0000 (00:27 +0000)]
Get rid of compat/
Compat.Unicode is not utils/Unicode in the compiler.
We build the hpc package with the stage1 compiler.
Nothing else in the compat package was still used.
Ian Lynagh [Mon, 7 Jul 2008 10:38:16 +0000 (10:38 +0000)]
Add a comment in validate saying where the hpc HTML is put
Simon Marlow [Mon, 7 Jul 2008 09:58:36 +0000 (09:58 +0000)]
FIX #1736, and probably #2169, #2240
appendStringBuffer was completely bogus - the arguments to copyArray
were the wrong way around, which meant that corruption was very likely
to occur by overwriting the end of the buffer in the first argument.
This definitely fixes #1736. The other two bugs, #2169 and #2240 are
harder to reproduce, but we can see how they could occur: in the case
of #2169, the options parser is seeing the contents of an old buffer,
and in the case of #2240, appendStringBuffer is corrupting an
interface file in memory, since strng buffers and interface files are
both allocated in the pinned region of memory.
simonpj@microsoft.com [Mon, 7 Jul 2008 10:32:01 +0000 (10:32 +0000)]
Fix Trac #2414: occurrs check was missed
This is an embarassing one: a missing occurs check meant that a type-incorrect
program could leak through. Yikes!
(An indirect consequence of extra complexity introduced by boxy types. Sigh.)
Merge to 6.8.4 if we release it.
simonpj@microsoft.com [Mon, 7 Jul 2008 10:31:45 +0000 (10:31 +0000)]
White space only
simonpj@microsoft.com [Mon, 7 Jul 2008 10:31:10 +0000 (10:31 +0000)]
White space only
simonpj@microsoft.com [Mon, 7 Jul 2008 10:29:41 +0000 (10:29 +0000)]
Fix Trac #2386: exceesive trimming of data types with Template Haskell
See Note [Trimming and Template Haskell] in TidyPgm.
Merge to 6.8.4 if we ever release it.
Ian Lynagh [Sat, 5 Jul 2008 21:41:04 +0000 (21:41 +0000)]
Add hsc2hs.wrapper
Ian Lynagh [Sat, 5 Jul 2008 18:58:29 +0000 (18:58 +0000)]
Fix hsc2hs finding its template file on Windows
Ian Lynagh [Sat, 5 Jul 2008 16:31:13 +0000 (16:31 +0000)]
On cygwin, convert happy's path to a native path
Ian Lynagh [Sat, 5 Jul 2008 16:21:54 +0000 (16:21 +0000)]
On cygwin, convert Haddock's path to a native path
Ian Lynagh [Sat, 5 Jul 2008 15:55:59 +0000 (15:55 +0000)]
On cygwin, convert alex's path to a native path
Ian Lynagh [Sat, 5 Jul 2008 15:50:25 +0000 (15:50 +0000)]
libffi now doesn't have an artificial make boot/all split
Ian Lynagh [Sat, 5 Jul 2008 15:32:45 +0000 (15:32 +0000)]
Need to make all in gmp, not boot
Ian Lynagh [Sat, 5 Jul 2008 14:03:54 +0000 (14:03 +0000)]
gmp didn't really fit into the make boot/all cycle, so don't try to force it
Now we just run make in it at the start of the stage1 build
Ian Lynagh [Sat, 5 Jul 2008 13:42:08 +0000 (13:42 +0000)]
Build hsc2hs with Cabal
This is very rough around teh edges at the moment.
Ian Lynagh [Sat, 5 Jul 2008 13:41:15 +0000 (13:41 +0000)]
Add a flag to disable linking with the haskell98 package
Ian Lynagh [Sat, 5 Jul 2008 12:14:26 +0000 (12:14 +0000)]
Use the last compiler if more than one is specified
Ian Lynagh [Fri, 4 Jul 2008 23:33:43 +0000 (23:33 +0000)]
Improve error messages from pwd
Ian Lynagh [Fri, 4 Jul 2008 22:22:06 +0000 (22:22 +0000)]
In utils/hsc2hs, add LICENSE and hsc2hs.cabal from the standalone repo
Ian Lynagh [Fri, 4 Jul 2008 22:10:26 +0000 (22:10 +0000)]
Remove fgl from the libraries Makefile
It's no longer an extralib
Ian Lynagh [Fri, 4 Jul 2008 15:27:13 +0000 (15:27 +0000)]
Tell the bootstrapping Cabal where ghc-pkg is
Simon Marlow [Fri, 4 Jul 2008 14:46:26 +0000 (14:46 +0000)]
FIX #2398: file locking wasn't thread-safe
Simon Marlow [Fri, 20 Jun 2008 13:52:58 +0000 (13:52 +0000)]
Remove out of date comments and point to the commentary
The wiki commentary is now the official description of recompilation
checking.
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance
Ian Lynagh [Thu, 3 Jul 2008 22:46:33 +0000 (22:46 +0000)]
Remove Cabal modules from compat
We now get them from the bootstrapping package.conf instead
Ian Lynagh [Thu, 3 Jul 2008 19:25:40 +0000 (19:25 +0000)]
Fix trac #2307: conflicting functional dependencies
We were accepting some instances that should have been rejected as
their fundep constraints were violated. e.g. we accepted
class C a b c | b -> c
instance C Bool Int Float
instance C Char Int Double
Ian Lynagh [Thu, 3 Jul 2008 19:10:31 +0000 (19:10 +0000)]
If we know where alex, haddock and happy are then tell Cabal; fixes trac #2373
Ian Lynagh [Thu, 3 Jul 2008 15:46:47 +0000 (15:46 +0000)]
Don't clean bootstrapping bits when cleaning libraries
Ian Lynagh [Thu, 3 Jul 2008 14:10:16 +0000 (14:10 +0000)]
More libraries/Makefile fixes
Ian Lynagh [Thu, 3 Jul 2008 13:26:14 +0000 (13:26 +0000)]
Shove the GHC path through cygpath -m
Ian Lynagh [Thu, 3 Jul 2008 13:24:37 +0000 (13:24 +0000)]
Tweak the configure script Windows-specific bits
Ian Lynagh [Thu, 3 Jul 2008 13:17:25 +0000 (13:17 +0000)]
Use cygpath -m, rather than fudging it ourselves with sed
Ian Lynagh [Thu, 3 Jul 2008 12:45:53 +0000 (12:45 +0000)]
Fix build on Windows
Ian Lynagh [Thu, 3 Jul 2008 16:14:57 +0000 (16:14 +0000)]
Include ghc.spec in tarballs; patch from, and fixes, trac #2390
Ian Lynagh [Thu, 3 Jul 2008 13:40:03 +0000 (13:40 +0000)]
Add a program for describing unexpected tests in testlog
This goes through the testlog and spits out any sections that contain
"unexpected".
Ian Lynagh [Thu, 3 Jul 2008 00:13:00 +0000 (00:13 +0000)]
Teach cabal-bin how to build Setup programs
We now build a copy of Cabal and put it in a bootstrapping package.conf.
We also make boot in libraries much earlier in the build process, so we
can use cabal-bin for more stuff in the future.
Ian Lynagh [Wed, 2 Jul 2008 15:59:37 +0000 (15:59 +0000)]
Wibble cabal-bin's error message
We don't need to put the program name in it, as that happens automatically