1. 27 Jan, 2005 17 commits
    • simonpj's avatar
      [project @ 2005-01-27 15:51:11 by simonpj] · a4124cf4
      simonpj authored
      Add a rule for dataToTag (tagToEnum x)
      a4124cf4
    • simonmar's avatar
      [project @ 2005-01-27 14:38:29 by simonmar] · 2cf37ff9
      simonmar authored
      Fix explicit layout
      2cf37ff9
    • simonmar's avatar
      [project @ 2005-01-27 13:00:14 by simonmar] · 0287b1b5
      simonmar authored
      bootstrapping wibbles
      0287b1b5
    • simonpj's avatar
      [project @ 2005-01-27 12:57:16 by simonpj] · 988c6615
      simonpj authored
      Omit PRE_HC_OPTS and POST_HC_OPTS for hs-boot files
      988c6615
    • simonmar's avatar
      [project @ 2005-01-27 12:55:15 by simonmar] · 35c17bb1
      simonmar authored
      bootstrapping wibbles
      35c17bb1
    • simonpj's avatar
      [project @ 2005-01-27 12:47:05 by simonpj] · 01fb2681
      simonpj authored
      Extra suffix rules for hs-boot stuff; you need this to compile the new hs-boot story
      01fb2681
    • ross's avatar
      [project @ 2005-01-27 12:38:49 by ross] · 9a89def5
      ross authored
      turn -Dfoo into
      	#define foo 1
      (like C compilers do) instead of
      	#define foo
      9a89def5
    • simonpj's avatar
      [project @ 2005-01-27 12:16:51 by simonpj] · d1a59a92
      simonpj authored
      Fix handling of dependent packages without a version
      d1a59a92
    • simonmar's avatar
      [project @ 2005-01-27 11:55:37 by simonmar] · dae341f5
      simonmar authored
      Include package Cabal when linking
      dae341f5
    • simonpj's avatar
      [project @ 2005-01-27 11:51:56 by simonpj] · 56f5bc18
      simonpj authored
      Import trimming
      56f5bc18
    • simonpj's avatar
      [project @ 2005-01-27 11:50:58 by simonpj] · 281bcf70
      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].
      281bcf70
    • simonmar's avatar
      [project @ 2005-01-27 11:30:49 by simonmar] · 8826136c
      simonmar authored
      GhcBootLibs=YES when building libraries the first time.
      8826136c
    • simonmar's avatar
      [project @ 2005-01-27 11:29:03 by simonmar] · d9c3fa92
      simonmar authored
      Suppress .cmm suffix rules when $(BootingFromHc)
      d9c3fa92
    • simonmar's avatar
      [project @ 2005-01-27 11:27:22 by simonmar] · 70b1b4c5
      simonmar authored
      updates to hc-file-bundle target
      70b1b4c5
    • simonpj's avatar
      [project @ 2005-01-27 11:12:52 by simonpj] · 04864fb7
      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.
      04864fb7
    • simonmar's avatar
      [project @ 2005-01-27 10:51:06 by simonmar] · a78a1aff
      simonmar authored
      bootstrapping wibble
      a78a1aff
    • simonpj's avatar
      [project @ 2005-01-27 10:44:00 by simonpj] · 508a505e
      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.
      508a505e
  2. 26 Jan, 2005 10 commits
  3. 24 Jan, 2005 1 commit
  4. 23 Jan, 2005 6 commits
    • wolfgang's avatar
      [project @ 2005-01-23 20:34:17 by wolfgang] · 1856c4c7
      wolfgang authored
      Distinguish between rodata and relrodata (relocatable read-only data) in the
      mangler.
      By default, use $T_HDR_rodata if $T_HDR_relrodata is not defined for a
      particular platform.
      1856c4c7
    • wolfgang's avatar
      [project @ 2005-01-23 18:50:40 by wolfgang] · e171a977
      wolfgang authored
      Make the NCG distinguish between the read-only data section and the
      "relocatable read-only data" section.
      Read-only data is supposed to be _really_ read-only, whereas "relrodata"
      can have relocations, but should not be modified by the program at runtime.
      
      For Linux, put relrodata into ".data" by default, as the dynamic linker
      tends to do evil things to avoid relocating things in read-only sections.
      e171a977
    • wolfgang's avatar
      [project @ 2005-01-23 18:18:05 by wolfgang] · 3463d1d3
      wolfgang authored
      Darwin / Mac OS X:
      
      For builds with dynamic libraries, fix up dynamic library paths
      ("install names") for binaries. Otherwise, a dynamically-linked stage2 ghc
      would contain the path names of the build directories.
      3463d1d3
    • panne's avatar
      [project @ 2005-01-23 17:05:31 by panne] · fa8246c7
      panne authored
      In the installed package.conf, all includeDirs were empty, so no GHC/package
      headers were found. This commit fixes that (in a hopefully correct way).
      fa8246c7
    • krasimir's avatar
      [project @ 2005-01-23 09:41:01 by krasimir] · 220f0ae7
      krasimir authored
      Use withProgName. Without it getProgName from the executed script will return
      "<interactive>"
      220f0ae7
    • wolfgang's avatar
      [project @ 2005-01-23 06:10:15 by wolfgang] · 6f985ae8
      wolfgang authored
      Add support for the dead code stripping feature of recent Apple linkers.
      If your code is compiled using the NCG, you can now specify
      -optl-W,-dead_strip on the GHC command line when linking.
      It will have basically the same effect as using split-objs to build the
      libraries.
      
      Advantages over split-objs:
          * No evil perl script involved
          * Requires no special handling when building libraries
      
      Disadvantages:
          * The current version of Apple's linker is slow when given the
            -dead_strip flag. _REALLY_ slow.
          * Mac OS X only.
      
      This works by making the NCG emit the .subsections_via_symbols directive.
      Additionally, we have to add an extra label at the top of every info table,
      and make sure that the entry code references it (otherwise the info table
      will be considered part of the preceding entry code).
      The mangler just removes the .subsections_via_symbols directive.
      6f985ae8
  5. 22 Jan, 2005 1 commit
  6. 21 Jan, 2005 5 commits
    • sof's avatar
      [project @ 2005-01-21 19:58:51 by sof] · c7fd6356
      sof authored
      win32 only:
        Tidy up delivery and handling of console events by having the low-level
        console event handler signal the RTS thread blocked waiting for I/O.
      c7fd6356
    • panne's avatar
      [project @ 2005-01-21 18:06:26 by panne] · d9d77353
      panne authored
      * Require happy >= 1.15 for build
      * Build some needed PostScript docs
      * Merge the ghc-doc- sub-package into the ghc sub-package, it's quite
        unusual to find the docs for a package blah under
        /usr/share/doc/packages/blah-doc
      d9d77353
    • simonmar's avatar
      [project @ 2005-01-21 16:55:14 by simonmar] · 07d8f75b
      simonmar authored
      small wibble
      07d8f75b
    • simonmar's avatar
      [project @ 2005-01-21 16:32:36 by simonmar] · 7465f1dd
      simonmar authored
      Begin updating the porting instructions for GHC 6.4.  A few details
      have changed.
      7465f1dd
    • simonmar's avatar
      [project @ 2005-01-21 16:02:47 by simonmar] · 3f205c43
      simonmar authored
      Don't try to run finalizers at program exit.  This turned out to be
      hard if not impossible to do in general, so now we don't attempt it at
      all.
      
      The Main.main wrapper, previously called runIO and now called
      runMainIO, flushes stdout and stderr before exiting.  This should
      catch most cases where programs rely on Handles being flushed at
      program exit, but note that now if you simply drop a Handle in your
      program, there's no guarantee it'll be flushed on exit.  If the
      punters complain enough, I suppose we could implement a global
      Handle table and flush them all at exit... I'd rather not do this if
      possible, though.  Better to teach people to close their Handles
      properly.
      3f205c43