- 31 Jan, 2005 2 commits
-
-
simonmar authored
Move signal prototypes into RtsExternal.h
-
wolfgang authored
Reorganise handling of -fPIC flags passed to C compiler. The flags expected by gcc differ only slightly per platform (basically depending whether you are on a Mac or not), we don't need separate cases for every processor. TODO: Display an error message for platforms where -fPIC -fvia-C is not supported.
-
- 29 Jan, 2005 2 commits
- 28 Jan, 2005 11 commits
-
-
krasimir authored
- The output from uncaught exceptions handler is redirected to RTS's errorBelch. - The output from Debug.Trace is redirected to RTS's debugBelch - Usually errorBelch and debugBelch messages go to stderr except for Windows GUI applications. For GUI applications the Debug.Trace output is redirected to debug console and the exceptions message is displayed in message box.
-
ross authored
add missing underscores
-
simonpj authored
Arrange that when seeking instance decls in GHCi, in response to a :info command, we only print ones whose types are in scope unqualified. This eliminates an alarmingly long list when simply typing ':info Show', say. On the way, I reorganised a bit. GHCi printing happens by converting a TyThing to an IfaceDecl, and printing that. I now arrange to generate unqualifed IfaceExtNames directly during this conversion, based on what is in scope. Previously it was done during the pretty-printing part via the UserStyle. But this is nicer.
-
ross authored
from 6.3, generate INCLUDE instead of OPTIONS -#include and GHC_OPTIONS instead of OPTIONS.
-
simonmar authored
x-ref INCLUDE pragmas
-
simonmar authored
Document {-# INCLUDE #-}
-
simonmar authored
add an INCLUDE pragma, as a compiler-independent alternative to -#include.
-
simonmar authored
Fix -no-recomp
-
simonmar authored
Here's a file I forgot to add. NB. ghcconfig.h is now a *source file*. If you're using a linked build tree, please remove it from ghc/includes and re-link (in fact, you probabaly need a make clean in ghc/includes at least).
-
simonmar authored
Comment updates only (platform-related)
-
simonmar authored
Rationalise the BUILD,HOST,TARGET defines. Recall that: - build is the platform we're building on - host is the platform we're running on - target is the platform we're generating code for The change is that now we take these definitions as applying from the point of view of the particular source code being built, rather than the point of view of the whole build tree. For example, in RTS and library code, we were previously testing the TARGET platform. But under the new rule, the platform on which this code is going to run is the HOST platform. TARGET only makes sense in the compiler sources. In practical terms, this means that the values of BUILD, HOST & TARGET may vary depending on which part of the build tree we are in. Actual changes: - new file: includes/ghcplatform.h contains platform defines for the RTS and library code. - new file: includes/ghcautoconf.h contains the autoconf settings only (HAVE_BLAH). This is so that we can get hold of these settings independently of the platform defines when necessary (eg. in GHC). - ghcconfig.h now #includes both ghcplatform.h and ghcautoconf.h. - MachRegs.h, which is included into both the compiler and the RTS, now has to cope with the fact that it might need to test either _TARGET_ or _HOST_ depending on the context. - the compiler's Makefile now generates stage{1,2,3}/ghc_boot_platform.h which contains platform defines for the compiler. These differ depending on the stage, of course: in stage2, the HOST is the TARGET of stage1. This was wrong before. - The compiler doesn't get platform info from Config.hs any more. Previously it did (sometimes), but unless we want to generate a new Config.hs for each stage we can't do this. - GHC now helpfully defines *_{BUILD,HOST}_{OS,ARCH} automatically in CPP'd Haskell source. - ghcplatform.h defines *_TARGET_* for backwards compatibility (ghcplatform.h is included by ghcconfig.h, which is included by config.h, so code which still #includes config.h will get the TARGET settings as before). - The Users's Guide is updated to mention *_HOST_* rather than *_TARGET_*. - coding-style.html in the commentary now contains a section on platform defines. There are further doc updates to come. Thanks to Wolfgang Thaller for pointing me in the right direction.
-
- 27 Jan, 2005 22 commits
-
-
panne authored
Fixed a typo and a cut-n-pasto
-
simonpj authored
Make -no-recomp a dynamic flag
-
simonpj authored
Comments
-
simonpj authored
Remove redundant parens in pretty print
-
simonpj authored
Wibble
-
simonpj authored
Add a rule for dataToTag (tagToEnum x)
-
simonmar authored
Fix explicit layout
-
simonmar authored
bootstrapping wibbles
-
simonpj authored
Omit PRE_HC_OPTS and POST_HC_OPTS for hs-boot files
-
simonmar authored
bootstrapping wibbles
-
simonpj authored
Extra suffix rules for hs-boot stuff; you need this to compile the new hs-boot story
-
ross authored
turn -Dfoo into #define foo 1 (like C compilers do) instead of #define foo
-
simonpj authored
Fix handling of dependent packages without a version
-
simonmar authored
Include package Cabal when linking
-
simonpj authored
Import trimming
-
simonpj authored
Make sure that the interactive context can see home-package instances; I forgot to do this when making tcRnModule find the appropriate intances (TcRnDriver rev 1.91) This was causing SourceForge [ghc-Bugs-1106171].
-
simonmar authored
GhcBootLibs=YES when building libraries the first time.
-
simonmar authored
Suppress .cmm suffix rules when $(BootingFromHc)
-
simonmar authored
updates to hc-file-bundle target
-
simonpj authored
Remove redundant .hi-boot files. The earliest compiler we claim to be able to compile GHC with is GHC 5, and that needs hi-boot-5 boot files. So the plain hi-boot files are dead. Reason for removing them now is that my big commit accidentally splatted them with binary data; so if you ever want to recover them, go back one revision beore the one I'm deleting.
-
simonmar authored
bootstrapping wibble
-
simonpj authored
-------------------------------------------- Replace hi-boot files with hs-boot files -------------------------------------------- This major commit completely re-organises the way that recursive modules are dealt with. * It should have NO EFFECT if you do not use recursive modules * It is a BREAKING CHANGE if you do ====== Warning: .hi-file format has changed, so if you are ====== updating into an existing HEAD build, you'll ====== need to make clean and re-make The details: [documentation still to be done] * Recursive loops are now broken with Foo.hs-boot (or Foo.lhs-boot), not Foo.hi-boot * An hs-boot files is a proper source file. It is compiled just like a regular Haskell source file: ghc Foo.hs generates Foo.hi, Foo.o ghc Foo.hs-boot generates Foo.hi-boot, Foo.o-boot * hs-boot files are precisely a subset of Haskell. In particular: - they have the same import, export, and scoping rules - errors (such as kind errors) in hs-boot files are checked You do *not* need to mention the "original" name of something in an hs-boot file, any more than you do in any other Haskell module. * The Foo.hi-boot file generated by compiling Foo.hs-boot is a machine- generated interface file, in precisely the same format as Foo.hi * When compiling Foo.hs, its exports are checked for compatibility with Foo.hi-boot (previously generated by compiling Foo.hs-boot) * The dependency analyser (ghc -M) knows about Foo.hs-boot files, and generates appropriate dependencies. For regular source files it generates Foo.o : Foo.hs Foo.o : Baz.hi -- Foo.hs imports Baz Foo.o : Bog.hi-boot -- Foo.hs source-imports Bog For a hs-boot file it generates similar dependencies Bog.o-boot : Bog.hs-boot Bog.o-boot : Nib.hi -- Bog.hs-boto imports Nib * ghc -M is also enhanced to use the compilation manager dependency chasing, so that ghc -M Main will usually do the job. No need to enumerate all the source files. * The -c flag is no longer a "compiler mode". It simply means "omit the link step", and synonymous with -no-link.
-
- 26 Jan, 2005 3 commits