1. 01 Mar, 2006 1 commit
  2. 15 Apr, 2005 2 commits
  3. 24 Mar, 2005 1 commit
  4. 21 Mar, 2005 1 commit
  5. 19 Mar, 2005 1 commit
    • sof's avatar
      [project @ 2005-03-19 02:03:26 by sof] · cbe4c3a7
      sof authored
      [Windows only]
      for System.Directory / Compat.Directory functionality that probes the OS
      for local details re: misc user directories, perform late binding of
      SHGetFolderPath() from shell32.dll, as it may not be present.
      (cf. ghc-6.4's failure to operate on Win9x / NT boxes.) If the API isn't
      there, fail with UnsupportedOperation.
      Packages.readPackageConfigs: gracefully handle excns from getAppUserDataDirectory.
      
      Merge to STABLE.
      cbe4c3a7
  6. 28 Jan, 2005 1 commit
    • 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
  7. 15 Dec, 2004 1 commit
    • simonpj's avatar
      [project @ 2004-12-15 12:51:15 by simonpj] · ab3e6dba
      simonpj authored
      Make ghc/lib/compat/Compat/Directory.hs use the C function
      	__compat_long_path_size, rather than
      	__hscore_long_path_size, as the libraries/ version does
      And make ghc/lib/compat/cbits/directory.c define it.
      
      In this way we avoid spurious duplicate-symbol errors when we
      compile GHC with ghc6.2.1 etc.
      ab3e6dba
  8. 12 Nov, 2004 1 commit
  9. 10 Nov, 2004 1 commit