-# do a shallow clone so the initial download doesn't take as long
-clone_depth: 50
+version: 2.38.{build}
-clone_folder: c:\graphviz-ms
+environment:
+ # Required so bash starts in the same folder as from where it was called.
+ CHERE_INVOKING: 1
+ matrix:
+ - compiler: msys2
+ - compiler: cygwin
build_script:
- - '"%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86'
- - devenv /setup
-# download busybox-w32 and save it as wget.exe
- - ps: (new-object net.webclient).DownloadFile("ftp://ftp.tigress.co.uk/pub/gpl/6.0.0/busybox/busybox.exe", "C:\graphviz-ms\wget.exe")
- - c:\graphviz-ms\windows\build.bat
+ - ps: >-
+ cd $env:APPVEYOR_BUILD_FOLDER
+
+ $BashPath = ""
+
+ if ($env:compiler -eq "msys2") {
+ $BashPath = "C:\msys64\usr\bin\bash"
+ & $BashPath -lc "pacman -S --noconfirm autoconf-archive"
+ }
+
+ if ($env:compiler -eq "cygwin") {
+ C:\cygwin64\setup-x86_64.exe -qnNdO -R C:/cygwin64 -s http://cygwin.mirror.constant.com -l C:/cygwin64/var/cache/setup -P autoconf-archive -P flex -P swig
+ $BashPath = "C:\cygwin64\bin\bash"
+ # For some reason Cygwin ignores CHERE_INVOKING=1 for the first bash command.
+ # Executing some arbitrary command solves this. So without this next line, the build will fail.
+ & $BashPath -lc "ls"
+ }
+
+ Write-Output "Execute ./autogen.sh"
+
+ & $BashPath -lc "./autogen.sh"
+
+ Write-Output "Execute ./configure"
+
+ & $BashPath -lc "./configure"
+
+ Write-Output "Execute make"
+
+ & $BashPath -lc "make"