summaryrefslogtreecommitdiff
path: root/hadrian/appveyor.yml
blob: 1a18abe975a4767c78b887de268b9e6b57a1e018 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
clone_folder: "c:\\new-hadrian"
environment:
  global:
    STACK_ROOT: "c:\\sr"

cache:
    - "c:\\sr -> appveyor.yml"

install:
    # Get Stack
    - curl -ostack.zip -LsS --insecure https://www.stackage.org/stack/windows-x86_64
    - 7z x stack.zip stack.exe

    # Note: AppVeyor has already cloned Hadrian into c:\new-hadrian
    # Fetch GHC sources into c:\ghc
    - cd ..
    - git clone --recursive git://git.haskell.org/ghc.git
    # GHC comes with an older version of Hadrian, so we delete it
    - rm -rf ghc\hadrian
    # Copy new Hadrian into ./ghc/hadrian
    - cp -r new-hadrian ghc\hadrian

    # Install Alex and Happy
    - set PATH=C:\Users\appveyor\AppData\Roaming\local\bin;%PATH%
    - ghc\hadrian\stack install --install-ghc alex happy > nul

    # Install all Hadrian and GHC build dependencies
    - cd ghc\hadrian
    - stack setup > nul
    - appveyor-retry stack exec -- pacman -S autoconf automake-wrapper make patch python3 tar --noconfirm

build_script:
    # Build GHC
    - 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