1. 29 Jan, 2005 1 commit
  2. 28 Jan, 2005 2 commits
    • ross's avatar
      [project @ 2005-01-28 16:28:56 by ross] · 550efe6e
      ross authored
      from 6.3, generate INCLUDE instead of OPTIONS -#include and GHC_OPTIONS
      instead of OPTIONS.
      550efe6e
    • simonmar's avatar
      [project @ 2005-01-28 12:55:17 by simonmar] · 153b9cb9
      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.
      153b9cb9
  3. 27 Jan, 2005 1 commit
  4. 24 Jan, 2005 1 commit
  5. 06 Jan, 2005 3 commits
  6. 05 Jan, 2005 3 commits
  7. 13 Aug, 2004 1 commit
  8. 12 Aug, 2004 1 commit
  9. 29 Jun, 2004 1 commit
    • panne's avatar
      [project @ 2004-06-29 17:14:01 by panne] · b1d4bb55
      panne authored
      Workaround for hbc: It compiles matching against 0-ary constructors in
      list comprehensions into wrong code, e.g.
      
         [ () | True <- [False] ]
      
      results in something like
      
         Error: No match in I4680Pinteractive
      
      when issued in hbi.
      b1d4bb55
  10. 27 Jun, 2004 1 commit
  11. 11 Jun, 2004 2 commits
  12. 03 Mar, 2004 1 commit
  13. 15 Feb, 2004 1 commit
    • panne's avatar
      [project @ 2004-02-15 12:20:26 by panne] · f0444935
      panne authored
      I'm giving up here: The various quoting-related changes in rawSystem &
      friends make it impossible to pass $(exeext) with double quotes via
      cpp to Main.hs in a backwards-compatible way, so we revert to a cruel
      hack here.  >:-(  Improvements are highly welcome...
      f0444935
  14. 09 Feb, 2004 2 commits
  15. 07 Feb, 2004 1 commit
    • panne's avatar
      [project @ 2004-02-07 16:37:06 by panne] · 5cb4bb13
      panne authored
      Simplifications + small steps towards a stand-alone hsc2hs:
      
       * Replaced Config module by a simple CPP macro
       * Don't #include configuration header
       * Bumped version number
       * Warning police
      5cb4bb13
  16. 01 Oct, 2003 1 commit
    • sof's avatar
      [project @ 2003-10-01 16:45:10 by sof] · ca9945d0
      sof authored
      outCLine: Use "#line n <filename>", not "# n <filename>". The latter
                isn't ISO (and causes breakage when compiling output with
      	  MSVC.)
      ca9945d0
  17. 27 Aug, 2003 1 commit
  18. 20 May, 2003 1 commit
  19. 21 Feb, 2003 1 commit
  20. 11 Feb, 2003 1 commit
    • sof's avatar
      [project @ 2003-02-11 04:32:06 by sof] · 2ae353a8
      sof authored
      Tighten up prev commit:
      - win32: only add default --template=... option if the template file
        exists.
      - if user has supplied --cc=.., use it as a default for 'ld'.
      2ae353a8
  21. 07 Feb, 2003 1 commit
    • sof's avatar
      [project @ 2003-02-07 21:55:36 by sof] · e1618c1f
      sof authored
      - default linker is now 'ghc' (i.e., consistent with the default compiler.)
      - new option, -v/--verbose, which makes the tool less inscrutable about what
        external commands it actually ends up exec'ing.
      - under Win32, try locating the default 'ghc' to run by looking in the dir
        where 'hsc2hs' resides (which they do in a binary install.)
      - make the default --template arg story actually work (win32 only.)
      e1618c1f
  22. 29 Oct, 2002 1 commit
  23. 28 Oct, 2002 1 commit
  24. 27 Oct, 2002 1 commit
  25. 09 Sep, 2002 1 commit
  26. 29 May, 2002 1 commit
  27. 18 Apr, 2002 1 commit
  28. 13 Feb, 2002 1 commit
    • simonpj's avatar
      [project @ 2002-02-13 10:39:36 by simonpj] · 9b7de002
      simonpj authored
      -------------------------------
      	dosifyPath before opening files
      	-------------------------------
      
      If you call
      	hsc2hs foo/baz
      
      you get the amazing response:
      
      	'foo' is not recognized as an internal or external command,
      	operable program or batch file.
      
      On the other hand
      	hsc2hs foo\baz
      
      works fine.  Solution: call dosifyPath before opening or writing the file.
      
      
      Somehow we should make it less easy to trip up when doing file I/O on
      Windows.  And provide a library of path-manipulation primitives.
      9b7de002
  29. 12 Feb, 2002 1 commit
    • simonmar's avatar
      [project @ 2002-02-12 15:17:13 by simonmar] · 2cc5b907
      simonmar authored
      Switch over to the new hierarchical libraries
      ---------------------------------------------
      
      This commit reorganises our libraries to use the new hierarchical
      module namespace extension.
      
      The basic story is this:
      
         - fptools/libraries contains the new hierarchical libraries.
           Everything in here is "clean", i.e. most deprecated stuff has
           been removed.
      
      	- fptools/libraries/base is the new base package
      	  (replacing "std") and contains roughly what was previously
      	  in std, lang, and concurrent, minus deprecated stuff.
      	  Things that are *not allowed* in libraries/base include:
      		Addr, ForeignObj, ByteArray, MutableByteArray,
      		_casm_, _ccall_, ``'', PrimIO
      
      	  For ByteArrays and MutableByteArrays we use UArray and
      	  STUArray/IOUArray respectively now.
      
      	  Modules previously called PrelFoo are now under
      	  fptools/libraries/GHC.  eg. PrelBase is now GHC.Base.
      
      	- fptools/libraries/haskell98 provides the Haskell 98 std.
      	  libraries (Char, IO, Numeric etc.) as a package.  This
      	  package is enabled by default.
      
      	- fptools/libraries/network is a rearranged version of
      	  the existing net package (the old package net is still
      	  available; see below).
      
      	- Other packages will migrate to fptools/libraries in
      	  due course.
      
           NB. you need to checkout fptools/libraries as well as
           fptools/hslibs now.  The nightly build scripts will need to be
           tweaked.
      
         - fptools/hslibs still contains (almost) the same stuff as before.
           Where libraries have moved into the new hierarchy, the hslibs
           version contains a "stub" that just re-exports the new version.
           The idea is that code will gradually migrate from fptools/hslibs
           into fptools/libraries as it gets cleaned up, and in a version or
           two we can remove the old packages altogether.
      
         - I've taken the opportunity to make some changes to the build
           system, ripping out the old hslibs Makefile stuff from
           mk/target.mk; the new package building Makefile code is in
           mk/package.mk (auto-included from mk/target.mk).
      
           The main improvement is that packages now register themselves at
           make boot time using ghc-pkg, and the monolithic package.conf
           in ghc/driver is gone.
      
           I've updated the standard packages but haven't tested win32,
           graphics, xlib, object-io, or OpenGL yet.  The Makefiles in
           these packages may need some further tweaks, and they'll need
           pkg.conf.in files added.
      
         - Unfortunately all this rearrangement meant I had to bump the
           interface-file version and create a bunch of .hi-boot-6 files :-(
      2cc5b907
  30. 17 Jan, 2002 1 commit
  31. 12 Sep, 2001 2 commits
    • rrt's avatar
      [project @ 2001-09-12 11:52:58 by rrt] · 5d5ed999
      rrt authored
      Do the ifdefery properly so it works on Unix.
      5d5ed999
    • rrt's avatar
      [project @ 2001-09-12 11:16:05 by rrt] · 7748154b
      rrt authored
      Make hsc2hs find template-hsc.h on Windows. This involves putting Main.hs
      through cpp; to avoid the string gap problem preprocessing
      __GLASGOW_HASKELL__ into its value inside strings, make judicious use of ++
      (hope that's OK, Marcin; there seemed very little point in putting it all in
      KludgedSystem this time).
      7748154b
  32. 24 Jul, 2001 1 commit