summaryrefslogtreecommitdiff
path: root/appveyor.yml
blob: ecde8454ea74bc7a43e8f09019af9e5308c1cc68 (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
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
#**************************************************************************
#*                                                                        *
#*                                 OCaml                                  *
#*                                                                        *
#*                         Christophe Troestler                           *
#*                                                                        *
#*   Copyright 2015 Christophe Troestler                                  *
#*                                                                        *
#*   All rights reserved.  This file is distributed under the terms of    *
#*   the GNU Lesser General Public License version 2.1, with the          *
#*   special exception on linking described in the file LICENSE.          *
#*                                                                        *
#**************************************************************************

# Compile the 64 bits version
platform:
  - x64

branches:
  only:
    - trunk
    - 4.05

# Do a shallow clone of the repo to speed up the build
clone_depth: 1

environment:
  global:
    CYG_ROOT: C:/cygwin
    CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
    CYG_CACHE: C:/cygwin/var/cache/setup
    OCAMLROOT: "%PROGRAMFILES%/OCaml"

cache:
  - C:\cygwin\var\cache\setup

install:
  - mkdir "%OCAMLROOT%"
  - mkdir "%OCAMLROOT%/bin"
  - mkdir "%OCAMLROOT%/bin/flexdll"
  - appveyor DownloadFile "http://alain.frisch.fr/flexdll/flexdll-bin-0.35.zip" -FileName "flexdll.zip"
  - cinst 7zip.commandline
  - 7za x -y flexdll.zip
  - for %%F in (*.c *.h *.exe *.o *.obj) do copy %%F "%OCAMLROOT%\bin\flexdll"
  # Make sure the Cygwin path comes before the Git one (otherwise
  # cygpath behaves crazily), but after the MSVC one.
  - set Path=C:\cygwin\bin;%Path%
  - '%CYG_ROOT%\bin\bash -lc "cygcheck -dc cygwin"'
  - '"%CYG_ROOT%\setup-x86.exe" -qgnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P diffutils -P dos2unix -P gcc-core -P make -P ncurses >NUL'
  - '%CYG_ROOT%\bin\bash -lc "cygcheck -dc cygwin"'
  - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
  - set Path=%OCAMLROOT%\bin;%OCAMLROOT%\bin\flexdll;%Path%

build_script:
  - set PFPATH=%PROGRAMFILES%
  - set FLEXDLLDIR=%OCAMLROOT%\bin\flexdll
  - echo VCPATH="`cygpath -p '%Path%'`" > %CYG_ROOT%\tmp\msenv
  - echo LIB="%LIB%" >> %CYG_ROOT%\tmp\msenv
  - echo LIBPATH="%LIBPATH%" >> %CYG_ROOT%\tmp\msenv
  - echo INCLUDE="%INCLUDE%;%FLEXDLLDIR%" >> %CYG_ROOT%\tmp\msenv
  - echo FLPATH="`cygpath '%FLEXDLLDIR%'`" >> %CYG_ROOT%\tmp\msenv
  - echo PATH="$VCPATH:$FLPATH:$PATH" >> %CYG_ROOT%\tmp\msenv
  - echo export PATH LIB LIBPATH INCLUDE >> %CYG_ROOT%\tmp\msenv
  - echo export OCAMLBUILD_FIND=/usr/bin/find >> %CYG_ROOT%\tmp\msenv
  - "%CYG_ROOT%/bin/bash -lc \"tr -d '\\r' </tmp/msenv > ~/.msenv64\""
  - "%CYG_ROOT%/bin/bash -lc \"echo '. ~/.msenv64' >> ~/.bash_profile\""
  - '%CYG_ROOT%/bin/bash -lc "$APPVEYOR_BUILD_FOLDER/appveyor_build.sh"'

test_script:
  - '%APPVEYOR_BUILD_FOLDER%\ocamlc.opt -version'
  - set CAML_LD_LIBRARY_PATH=%OCAMLROOT%/lib/stublibs
  - '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER && make tests"'
  - '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER && make install"'