-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathappveyor.yml
108 lines (89 loc) · 7.07 KB
/
appveyor.yml
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# a hybrid mix of
# https://github.com/commercialhaskell/stack/blob/master/appveyor.yml
# and, for building portaudio:
# https://github.com/quiet/quiet.py/blob/master/appveyor.yml
# Disabled cache in hope of improving reliability of AppVeyor builds
#cache:
#- "c:\\sr" # stack root, short paths == fewer problems
build: off
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
APPVEYOR_SAVE_CACHE_ON_ERROR: false
global:
STACK_ROOT: "c:\\sr"
matrix:
allow_failures:
# we don't support windows officially:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# 32-bit GHC has a bug which makes the build crash hence we use the 64-bit version.
before_build:
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
- cd %APPVEYOR_BUILD_FOLDER%
build_script:
# build portaudio
- git clone https://git.assembla.com/portaudio.git
- cd portaudio
- git checkout tags/pa_stable_v190600_20161030
- cd ..
- mkdir portaudio-build
- cd portaudio-build
# TODO should we pass -Ax64 ? see https://gitlab.kitware.com/cmake/cmake/issues/17451
- cmake ../portaudio -DCMAKE_BUILD_TYPE=RELEASE -G "Visual Studio 14 2015" -T host=x64 -Ax64
- msbuild portaudio.sln /property:Configuration=Release
- cd ..
# rename lib and dll
- cp C:\stack\portaudio-build\Release\portaudio_x64.dll C:\stack\portaudio-build\Release\portaudio.dll
- cp C:\stack\portaudio-build\Release\portaudio_x64.lib C:\stack\portaudio-build\Release\portaudio.lib
- dir C:\stack\portaudio-build\Release\
before_test:
# http://help.appveyor.com/discussions/problems/6312-curl-command-not-found
- set PATH=C:\Program Files\Git\mingw64\bin;%PATH%
- curl -sS -ostack.zip -L --insecure https://get.haskellstack.org/stable/windows-x86_64.zip
- 7z x stack.zip stack.exe
clone_folder: "c:\\stack"
test_script:
- git submodule update --init --recursive
############################################
# (ghc 8.2.2) doesn't work:
# While building custom Setup.hs for package unliftio-core-0.1.1.0 using:
# C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_2.0.1.0_ghc-8.2.2.exe --builddir=.stack-work\dist\5c8418a7 build --ghc-options " -ddump-hi -ddump-to-file"
# Process exited with code: ExitFailure 1
# Logs have been written to: C:\stack\.stack-work\logs\unliftio-core-0.1.1.0.log
# Configuring unliftio-core-0.1.1.0...
# Preprocessing library for unliftio-core-0.1.1.0..
# Building library for unliftio-core-0.1.1.0..
# realgcc.exe: fatal error: no input files
# compilation terminated.
# `gcc.exe' failed in phase `C pre-processor'. (Exit code: 1)
#- stack setup > nul
#- stack exec -- gcc --version
#- echo "" | stack --no-terminal --extra-lib-dirs C:\stack\portaudio-build\Release\ --extra-include-dirs C:\stack\portaudio\include\ test imj-music --jobs 1
############################################
############################################
# (ghc8.4.3) doesn't work:
# C:\stack\.stack-work\install\0584b48a\lib\x86_64-windows-ghc-8.4.3\imj-audio-0.1.0.3-GoO9TPfT7rT85xDuk6adsC\HSimj-bindings-audio-0.1.0.3-GoO9TPfT7rT85xDuk6adsC.o:
# unknown symbol
# `_ZN10imajuscule5audio12playOneThingINS0_5voice5Impl_ILi2ELNS0_15SoundEngineModeE3ELb1ESt6vectorIfSaIfEENS0_13EventIteratorINS0_10IEventListEEENS0_11NoteOnEventENS0_12NoteOffEventENS0_11ProcessDataENS2_8ImplBaseILS4_3ES7_SD_NS0_4ImplILi29ES7_S5_IfNS_16AlignedAllocatorIfLNS_9AlignmentE64EEEELi16ESD_EEEENS0_8ImplCRTPILi2ELNS_11XfadePolicyE1ENS0_15MonoNoteChannelINS2_14EngineAndRampsINS0_11SoundEngineILS4_3ENS_6LoggerENS_12audioelement3MixIJNSS_10FilterAlgoINSS_22soundBufferWrapperAlgoILNS_5Sound4TypeE2EEELNS_10FilterTypeE1ELi0EEENSS_9FreqCtrl_INSS_9BandAlgo_INSS_4CtrlINSS_8SlowIterINSS_7AbsIterINS_10BufferIterILSX_2EEEEEEEEENSS_13BandPassAlgo_ISY_Li0EEEEEJNS0_19SoundEngineFreqCtrlIS19_EEEEENS11_INS12_IS1A_NSS_15BandRejectAlgo_ISY_Li0EEEEEJS1F_EEENSS_14VolumeAdjustedINSS_14OscillatorAlgoIfLNSS_16eNormalizePolicyE0EEEEEEEEEEEEEELb1ESA_SB_SC_SL_Li8EEEEENS_14outputDataBaseILNS_14AudioOutPolicyE1ENS0_20ChannelsVecAggregateILi2ELS1X_1EEEEENS0_8ChannelsILi2ELSN_1ELNS_12MaxQueueSizeE0ELS1X_1EEE`
- stack --resolver nightly-2018-06-26 setup > nul
- stack --resolver nightly-2018-06-26 exec -- gcc --version
- echo "" | stack --resolver nightly-2018-06-26 --no-terminal --extra-lib-dirs C:\stack\portaudio-build\Release\ --extra-include-dirs C:\stack\portaudio\include\ build imj-music --pedantic --jobs 1
- echo "" | stack --resolver nightly-2018-06-26 --no-terminal --extra-lib-dirs C:\stack\portaudio-build\Release\ --extra-include-dirs C:\stack\portaudio\include\ test imj-music --pedantic --jobs 1
- echo "" | stack --resolver nightly-2018-06-26 --no-terminal --extra-lib-dirs C:\stack\portaudio-build\Release\ --extra-include-dirs C:\stack\portaudio\include\ test imj-audio --pedantic --jobs 1
############################################
############################################
# (ghc8.4.3 / other msys) doesn't work:
# C:\stack\.stack-work\install\0584b48a\lib\x86_64-windows-ghc-8.4.3\imj-audio-0.1.0.3-GoO9TPfT7rT85xDuk6adsC\HSimj-bindings-audio-0.1.0.3-GoO9TPfT7rT85xDuk6adsC.o:
# unknown symbol
# `_ZN10imajuscule5audio12playOneThingINS0_5voice5Impl_ILi2ELNS0_15SoundEngineModeE3ELb1ESt6vectorIfSaIfEENS0_13EventIteratorINS0_10IEventListEEENS0_11NoteOnEventENS0_12NoteOffEventENS0_11ProcessDataENS2_8ImplBaseILS4_3ES7_SD_NS0_4ImplILi29ES7_S5_IfNS_16AlignedAllocatorIfLNS_9AlignmentE64EEEELi16ESD_EEEENS0_8ImplCRTPILi2ELNS_11XfadePolicyE1ENS0_15MonoNoteChannelINS2_14EngineAndRampsINS0_11SoundEngineILS4_3ENS_6LoggerENS_12audioelement3MixIJNSS_10FilterAlgoINSS_22soundBufferWrapperAlgoILNS_5Sound4TypeE2EEELNS_10FilterTypeE1ELi0EEENSS_9FreqCtrl_INSS_9BandAlgo_INSS_4CtrlINSS_8SlowIterINSS_7AbsIterINS_10BufferIterILSX_2EEEEEEEEENSS_13BandPassAlgo_ISY_Li0EEEEEJNS0_19SoundEngineFreqCtrlIS19_EEEEENS11_INS12_IS1A_NSS_15BandRejectAlgo_ISY_Li0EEEEEJS1F_EEENSS_14VolumeAdjustedINSS_14OscillatorAlgoIfLNSS_16eNormalizePolicyE0EEEEEEEEEEEEEELb1ESA_SB_SC_SL_Li8EEEEENS_14outputDataBaseILNS_14AudioOutPolicyE1ENS0_20ChannelsVecAggregateILi2ELS1X_1EEEEENS0_8ChannelsILi2ELSN_1ELNS_12MaxQueueSizeE0ELS1X_1EEE`
#
#- set PATH=C:\msys64\MINGW64\bin;C:\msys64\usr\bin;%PATH%
#- bash -lc "pacman --noconfirm --sync --refresh --refresh pacman"
#- bash -lc "pacman --noconfirm --sync --refresh --refresh --sysupgrade --sysupgrade"
#- bash -lc "pacman -S --noconfirm --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mercurial mingw-w64-i686-cmake mingw-w64-x86_64-cmake"
# This shows the version of gcc I want to use:
#- c:\msys64\MINGW64\bin\gcc --version
#- stack --resolver nightly-2018-06-26 --skip-msys --with-gcc=c:\msys64\MINGW64\bin\gcc setup > nul
#- stack --resolver nightly-2018-06-26 --skip-msys --with-gcc=c:\msys64\MINGW64\bin\gcc exec -- gcc --version
#- echo "" | stack --resolver nightly-2018-06-26 --skip-msys --with-gcc=c:\msys64\MINGW64\bin\gcc --no-terminal --extra-lib-dirs c:\msys64\MINGW64\lib\ --extra-lib-dirs C:\stack\portaudio-build\Release\ --extra-include-dirs c:\msys64\MINGW64\include\ --extra-include-dirs C:\stack\portaudio\include\ test imj-music --jobs 1
############################################