diff options
-rw-r--r-- | appveyor.yml | 98 |
1 files changed, 68 insertions, 30 deletions
diff --git a/appveyor.yml b/appveyor.yml index d7be4a3d5..ea01db0f8 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,6 +3,9 @@ platform: - x64 environment: + global: + MAKEJOBS: 2 + matrix: - SWIGLANG: csharp VSVER: 12 @@ -15,64 +18,99 @@ environment: VER: 27 - SWIGLANG: python VSVER: 14 - VER: 35 + VER: 36 PY3: 1 + - SWIGLANG: python + OSVARIANT: cygwin + - SWIGLANG: python + OSVARIANT: mingw install: - date /T & time /T -- set PATH=C:\cygwin\bin;%PATH% -- set CYGWIN=nodosfilewarning -- git clone -q --depth=1 --single-branch --branch cccl-1.0 git://github.com/swig/cccl.git C:\cccl-1.0 -- bash -c "cp C:/cccl-1.0/cccl /usr/bin" - ps: >- - If ($env:Platform -Match "x86") { + if ($env:Platform -eq "x86") { $env:PCRE_PLATFORM="Win32" $env:JAVA_HOME="C:/Program Files (x86)/Java/jdk1.8.0" $env:VCVARS_PLATFORM="x86" $env:LANG_PLATFORM="" - } Else { + $env:CYGWINBIN="C:\cygwin\bin" + $env:CYGWINSETUP="C:/cygwin/setup-x86.exe" + $env:MSYSBIN="C:\msys64\usr\bin" + $env:MINGWBIN="C:\msys64\mingw32\bin" + $env:MBITS="32" + $env:MARCH="i686" + } else { $env:PCRE_PLATFORM="x64" $env:JAVA_HOME="C:/Program Files/Java/jdk1.8.0" $env:VCVARS_PLATFORM="amd64" $env:LANG_PLATFORM="-x64" + $env:CYGWINBIN="C:\cygwin64\bin" + $env:CYGWINSETUP="C:/cygwin64/setup-x86_64.exe" + $env:MSYSBIN="C:\msys64\usr\bin" + $env:MINGWBIN="C:\msys64\mingw64\bin" + $env:MBITS="64" + $env:MARCH="x86_64" + } +- ps: >- + if (!$env:OSVARIANT) { + $env:PATH="$env:CYGWINBIN;$env:PATH" + $env:CYGWIN="nodosfilewarning" + $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS")) + $env:CC="cccl" + $env:CXX="cccl" + } elseif ($env:OSVARIANT -eq "cygwin") { + $env:PATH="$env:CYGWINBIN;$env:PATH" + $env:CYGWIN="nodosfilewarning" + $env:CC="gcc" + $env:CXX="g++" + } elseif ($env:OSVARIANT -eq "mingw") { + $env:PATH="$env:MSYSBIN;$env:MINGWBIN;$env:PATH" + $env:MSYSTEM="MINGW$env:MBITS" + $env:CC="$env:MARCH-w64-mingw32-gcc" + $env:CXX="$env:MARCH-w64-mingw32-g++" } -- ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS")) -- echo "Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS%" -- call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM% -- Tools\nuget-install.cmd pcre -Verbosity detailed -Version 8.33.0.1 -OutputDirectory C:\pcre -- set PCRE_ROOT=C:/pcre/pcre.8.33.0.1/build/native -- set PATH=C:\Python%VER%%LANG_PLATFORM%;%PATH% -- python -V +- if "%OSVARIANT%"=="" bash -c "cd /usr/bin && curl --retry 15 -s -L https://github.com/swig/cccl/archive/cccl-1.0.tar.gz | tar -xz --strip 1 cccl-cccl-1.0/cccl" +- if "%OSVARIANT%"=="" echo Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS% +- if "%OSVARIANT%"=="" call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM% +- if "%OSVARIANT%"=="" Tools\nuget-install.cmd pcre -Verbosity quiet -Version 8.33.0.1 -OutputDirectory C:\pcre +- if "%OSVARIANT%"=="" set PCRE_ROOT=C:/pcre/pcre.8.33.0.1/build/native +- if "%OSVARIANT%"=="" set PATH=C:\Python%VER%%LANG_PLATFORM%;%PATH% +- if "%OSVARIANT%"=="" bash -c "which cl.exe" +- if "%OSVARIANT%"=="" bash -c "cl.exe /? 2>&1 | head -n 1" +- if "%OSVARIANT%"=="" bash -c "which csc.exe" +- if "%OSVARIANT%"=="" bash -c "csc.exe /? | head -n 1" +- if "%OSVARIANT%"=="cygwin" %CYGWINSETUP% --quiet-mode --packages libpcre-devel,libboost-devel > cygwin-install.txt || bash -c "cat cygwin-install.txt" +- if "%OSVARIANT%"=="mingw" bash -c "pacman --noconfirm --sync mingw%MBITS%/mingw-w64-%MARCH%-pcre mingw%MBITS%/mingw-w64-%MARCH%-boost" +- bash -c "which $CC" +- bash -c "which $CXX" +- bash -c "$CC --version | head -n 1" +- bash -c "$CXX --version | head -n 1" - bash -c "which python" - bash -c "python -V" -- bash -c "which cl.exe" -- bash -c "cl.exe /? 2>&1 | head -n 2" -- bash -c "which csc.exe" -- bash -c "csc.exe /? | head -n 2" -- bash -c "which cccl" -- bash -c "cccl --version" -- make --version +- bash -c "make --version | head -n 2" +- pwd +- echo MAKEJOBS=%MAKEJOBS% - uname -a build_script: - set CCCL_OPTIONS=--cccl-muffle /W3 - set CHECK_OPTIONS=CSHARPOPTIONS=-platform:%Platform% # Open dummy file descriptor to fix error on cygwin: ./configure: line 560: 0: Bad file descriptor -- bash -c "exec 0</dev/null && ./autogen.sh && time ./configure --disable-dependency-tracking --disable-ccache CC=cccl CXX=cccl CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' PCRE_CFLAGS='-I%PCRE_ROOT%/include -DPCRE_STATIC' PCRE_LIBS='-L%PCRE_ROOT%/lib/v110/%PCRE_PLATFORM%/Release/static/utf8 -lpcre8' --without-perl5 --without-go --with-boost=C:/Libraries/boost || cat config.log" -- bash -c "time make -s" +- if "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure --disable-dependency-tracking --disable-ccache CC=$CC CXX=$CXX CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' PCRE_CFLAGS='-I%PCRE_ROOT%/include -DPCRE_STATIC' PCRE_LIBS='-L%PCRE_ROOT%/lib/v110/%PCRE_PLATFORM%/Release/static/utf8 -lpcre8' --without-perl5 --without-go --with-boost=C:/Libraries/boost || cat config.log" +- if not "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure CC=%CC% CXX=%CXX% --without-alllang --with-$SWIGLANG --enable-cpp11-testing || cat config.log" +- bash -c "time make -s -j%MAKEJOBS%" test_script: - set CCCL_OPTIONS=--cccl-muffle /W3 /EHsc -# (Warning below is fixed in newer versions of Python (2.7.9)) '_hypot' : recursive on all control paths, function will cause runtime stack overflow -- ps: >- - If ("$env:SWIGLANG$env:VER" -Match "python27") { - $env:CCCL_OPTIONS="$env:CCCL_OPTIONS /wd4717" - } - .\swig.exe -version +- if not "%OSVARIANT%"=="" CCache\ccache-swig -V - bash -c "file ./swig.exe" -- bash -c "time make -k check-%SWIGLANG%-version" +- bash -c "make check-%SWIGLANG%-version" - bash -c "time make -k check-%SWIGLANG%-examples %CHECK_OPTIONS%" -- bash -c "time make -k check-%SWIGLANG%-test-suite %CHECK_OPTIONS%" +- bash -c "time make -k check-%SWIGLANG%-test-suite -j%MAKEJOBS% %CHECK_OPTIONS%" # Do not build on tags (GitHub only) skip_tags: true + +#on_finish: # Display RDP connection information +# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) |