Fix AppVeyor (#577)
authorAndrey Mokhov <andrey.mokhov@gmail.com>
Wed, 18 Apr 2018 00:34:10 +0000 (01:34 +0100)
committerGitHub <noreply@github.com>
Wed, 18 Apr 2018 00:34:10 +0000 (01:34 +0100)
* Copy inplace/mingw to the build root

* Run Hadrian with -c on AppVeyor

appveyor.yml
src/Rules/Configure.hs

index 85bfee8..1a18abe 100644 (file)
@@ -30,13 +30,9 @@ install:
     - appveyor-retry stack exec -- pacman -S autoconf automake-wrapper make patch python3 tar --noconfirm
 
 build_script:
-    # Boot and configure ghc source tree
-    - cd ..
-    - hadrian\stack exec -- python3 boot
-    - hadrian\stack exec -- bash configure --enable-distro-toolchain
-
     # Build GHC
-    - hadrian\build -j --flavour=quickest --integer-simple --no-progress --progress-colour=never --profile=-
+    - cd ..
+    - hadrian\build -c -j --flavour=quickest --integer-simple --no-progress --progress-colour=never --profile=-
 
     # Test GHC binary
     - _build\stage1\bin\ghc -e 1+2
index 1fd07de..050d7f3 100644 (file)
@@ -12,7 +12,7 @@ import Utilities
 
 configureRules :: Rules ()
 configureRules = do
-    -- TODO: consider other files we should track here (rts/rts.cabal etc)
+    -- TODO: consider other files we should track here, e.g. @rts/rts.cabal@.
     [configFile, "settings", configH, "compiler/ghc.cabal"] &%> \outs -> do
         skip <- not <$> cmdConfigure
         if skip
@@ -29,6 +29,12 @@ configureRules = do
                 context = vanillaContext Stage0 compiler
             need srcs
             build $ target context (Configure ".") srcs outs
+            -- We need to copy the directory with unpacked Windows tarball to
+            -- the build directory, so that the built GHC has access to it.
+            -- See https://github.com/snowleopard/hadrian/issues/564.
+            when System.isWindows $ do
+                root <- buildRoot
+                copyDirectory "inplace/mingw" (root -/- "mingw")
 
     ["configure", configH <.> "in"] &%> \_ -> do
         skip <- not <$> cmdConfigure