shallow_clone: true

# We're currently only testing 64-bit libffi built with Microsoft's
# tools.
# This matrix should be expanded to include at least:
#  32- and 64-bit gcc/cygwin
#  32- and 64-bit gcc/mingw
#  32- and 64-bit clang/mingw
#  and perhaps more.

image: Visual Studio 2013
platform:
  - x64

environment:
  global:
    CYG_ROOT: C:/cygwin
    CYG_CACHE: C:/cygwin/var/cache/setup
    CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
  matrix:
    - VSVER: 12

install:
  - ps: >-
      If ($env:Platform -Match "x86") {
          $env:VCVARS_PLATFORM="x86"
          $env:BUILD="x86-pc-cygwin"
          $env:HOST="x86-pc-windows"
        } Else {
          $env:VCVARS_PLATFORM="amd64"
          $env:BUILD="x86_64-w64-cygwin"
          $env:HOST="x86_64-w64-cygwin"
      }
  - 'appveyor DownloadFile https://cygwin.com/setup-x86.exe -FileName setup.exe'
  - 'setup.exe -qnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P dejagnu >NUL'
  - '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin"'
  - 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%

build_script:
  - c:\cygwin\bin\sh -lc "(cd $OLDPWD; ./autogen.sh;)"
  - c:\cygwin\bin\sh -lc "(cd $OLDPWD; ./configure CC='/cygdrive/c/projects/libffi/msvcc.sh -m64' CXX='/cygdrive/c/projects/libffi/msvcc.sh -m64' LD='link' CPP='cl -nologo -EP' CXXCPP='cl -nologo -EP' CPPFLAGS='-DFFI_BUILDING_DLL' AR='/cygdrive/c/projects/libffi/.travis/ar-lib lib' NM='dumpbin -symbols' STRIP=':' --build=$BUILD --host=$HOST;)"
  - c:\cygwin\bin\sh -lc "(cd $OLDPWD; cp src/x86/ffitarget.h include; make; find .;)"
  - c:\cygwin\bin\sh -lc "(cd $OLDPWD; cp `find . -name 'libffi-?.dll'` $HOST/testsuite/; make check; cat `find ./ -name libffi.log`)"

# FIXME: "make check" currently fails.  It just looks like msvcc needs
# to learn about -L and -l options.  If you add "make check; cat `find
# ./ -name libffi.log" to the end of that build command you'll see
# what I mean.
