[GHC] #14312: Head does not build on Windows with the default make config.

GHC ghc-devs at haskell.org
Sun Oct 22 21:32:18 UTC 2017


#14312: Head does not build on Windows with the default make config.
-------------------------------------+-------------------------------------
        Reporter:  AndreasK          |                Owner:  (none)
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Build System      |              Version:  8.3
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:
 Type of failure:  Building GHC      |  Unknown/Multiple
  failed                             |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4080
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Phyx-):

 This seems to have been introduced by

 {{{
 commit 06d46b1e4507e09eb2a7a04998a92610c8dc6277
 Author: Edward Z. Yang <ezyang at cs.stanford.edu>
 Date:   Fri Jul 24 15:13:49 2015 -0700

     Unify hsig and hs-boot; add preliminary "hs-boot" merging.

     This patch drops the file level distinction between hs-boot and hsig;
     we figure out which one we are compiling based on whether or not there
     is a corresponding hs file lying around.

     To make the "import A" syntax continue to work for bare hs-boot
     files, we also introduce hs-boot merging, which takes an A.hi-boot
     and converts it to an A.hi when there is no A.hs file in scope.
     This will be generalized in Backpack to merge multiple A.hi files
 together;
     which means we can jettison the "load multiple interface files"
 functionality.

     This works automatically for --make, but for one-shot compilation
     we need a new mode: ghc --merge-requirements A will generate an
 A.hi/A.o
     from a local A.hi-boot file; Backpack will extend this mechanism
 further.

     Has Haddock submodule update to deal with change in msHsFilePath
 behavior.

         - This commit drops support for the hsig extension. Can
           we support it?  It's annoying because the finder code is
           written with the assumption that where there's an hs-boot
           file, there's always an hs file too.  To support hsig, you'd
           have to probe two locations.  Easier to just not support it.

         - #10333 affects us, modifying an hs-boot still doesn't trigger
           recomp.

         - See compiler/main/Finder.hs: this diff is very skeevy, but
           it seems to work.

         - This code cunningly doesn't drop hs-boot files from the
           "drop hs-boot files" module graph, if they don't have a
           corresponding hs file.  I have no idea if this actually is
 useful.

     Signed-off-by: Edward Z. Yang <ezyang at cs.stanford.edu>

     Test Plan: validate

     Reviewers: simonpj, austin, bgamari, spinda

     Subscribers: thomie

     Differential Revision: https://phabricator.haskell.org/D1098
 }}}

 with the comment

 {{{
 +       -- We add the directory in which the .hs files resides) to the
 import
 +       -- path.  This is needed when we try to compile the .hc file
 later, if it
 +       -- imports a _stub.h file that we created here.
 }}}

 So it seems unrelated to `capi` but the `capi` test require this to pass.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14312#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list