Workaround 'NULL==*flh is always true' cppcheck style warning in allocobj
[platform/upstream/libgc.git] / appveyor.yml
1 version: 8.1.0-{build}
2
3 environment:
4   matrix:
5   - TARGET: cmake
6     CMAKE_CONFIG: Debug
7     CMAKE_OPTIONS: -DBUILD_SHARED_LIBS=OFF -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_gc_assertions=ON -Werror=deprecated
8   - TARGET: cmake
9     CMAKE_CONFIG: Debug
10     CMAKE_OPTIONS: -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_gc_assertions=ON -Denable_gc_debug=ON -Denable_threads=OFF
11   - TARGET: cmake
12     CFLAGS_EXTRA: -DGC_NO_INLINE_STD_NEW -DNO_MSGBOX_ON_ERROR
13     CMAKE_CONFIG: Release
14     CMAKE_OPTIONS: -Dbuild_tests=ON -Denable_cplusplus=ON -Denable_large_config=ON
15   - TARGET: cmake
16     CMAKE_CONFIG: Release
17     CMAKE_OPTIONS: -Denable_parallel_mark=OFF
18   - TARGET: nmake
19     BLD: debug
20     CPU: x86
21     MACRO_DEFS: enable_static=1
22     MS_SDK_VER: v7.1
23   - TARGET: nmake
24     BLD: debug
25     CPU: x64
26     MS_SDK_VER: v7.1
27   - TARGET: nmake
28     BLD: release
29     CPU: x86
30     MACRO_DEFS: nodebug=1
31     MS_SDK_VER: v7.1
32   - TARGET: cygwin
33     CONF_OPTIONS: --enable-cplusplus
34     CFLAGS_EXTRA: -D GCTEST_PRINT_VERBOSE
35   - TARGET: cygwin
36     CONF_OPTIONS: --enable-cplusplus --disable-munmap --enable-gc-assertions
37   - TARGET: cygwin64
38     CONF_OPTIONS: --enable-cplusplus
39     CFLAGS_EXTRA: -D GCTEST_PRINT_VERBOSE
40   - TARGET: cygwin64
41     CFLAGS_EXTRA: -D GC_ALWAYS_MULTITHREADED -D LINT2 -D TEST_MANUAL_VDB
42     CONF_OPTIONS: --enable-cplusplus --enable-gc-assertions --disable-shared
43   - TARGET: cygwin64
44     CONF_OPTIONS: --disable-threads
45     CFLAGS_EXTRA: -D USE_WINALLOC
46   - TARGET: mingw
47     CFLAGS_EXTRA: -Werror -Wall -Wextra -Wpedantic
48   - TARGET: mingw
49     CFLAGS_EXTRA: -Werror -Wall -Wextra -Wpedantic -D GC_THREADS -D THREAD_LOCAL_ALLOC -D PARALLEL_MARK -D GC_ASSERTIONS -D EMPTY_GETENV_RESULTS -D GC_GCJ_SUPPORT -D USE_MUNMAP -D LARGE_CONFIG -D NO_MSGBOX_ON_ERROR
50   - TARGET: mingw
51     CFLAGS_EXTRA: -Werror -Wall -Wextra -Wpedantic -O3 -march=native -D GC_THREADS -D GC_GCJ_SUPPORT -D GC_TIME_LIMIT=10 -D WINXP_USE_PERF_COUNTER -D NO_MSGBOX_ON_ERROR
52   - TARGET: mingw-shared-no-make
53     CFLAGS_EXTRA: -Werror -Wall -Wextra -Wpedantic -D GC_THREADS -D GC_ASSERTIONS -D ENABLE_DISCLAIM -D GC_GCJ_SUPPORT -D GC_PREFER_MPROTECT_VDB -D GC_CALL=__stdcall -D GC_CALLBACK=__fastcall -D CONSOLE_LOG -D NO_MSGBOX_ON_ERROR
54   - TARGET: mingw-w64
55     CFLAGS_EXTRA: -Werror -Wall -Wextra -Wpedantic -D NO_MSGBOX_ON_ERROR
56   - TARGET: mingw-w64
57     CFLAGS_EXTRA: -Werror -Wall -Wextra -Wpedantic -D GC_THREADS -D THREAD_LOCAL_ALLOC -D PARALLEL_MARK -D GC_ASSERTIONS -D GC_GCJ_SUPPORT -D NO_RETRY_GET_THREAD_CONTEXT
58
59 clone_depth: 50
60
61 install:
62 - cmd: git clone --depth=50 https://github.com/ivmai/libatomic_ops.git
63
64 build_script:
65 - cmd: if [%TARGET%]==[cmake] (
66     cmake %CMAKE_OPTIONS% -Denable_werror=ON -DCFLAGS_EXTRA="%CFLAGS_EXTRA%" . && cmake --build . --config %CMAKE_CONFIG% )
67 - cmd: if [%TARGET%]==[nmake] (
68     "C:\Program Files\Microsoft SDKs\Windows\%MS_SDK_VER%\Bin\SetEnv.cmd" /%CPU% /%BLD% && nmake /f NT_MAKEFILE %MACRO_DEFS% )
69 - cmd: if [%TARGET%]==[cygwin] (
70     C:\cygwin\bin\bash -e -l -c
71       "cd /cygdrive/c/projects/bdwgc && ./autogen.sh && ./configure %CONF_OPTIONS% --enable-werror && cat include/config.h && make -j CFLAGS_EXTRA='%CFLAGS_EXTRA%'" )
72 - cmd: if [%TARGET%]==[cygwin64] (
73     C:\cygwin64\bin\bash -e -l -c
74       "cd /cygdrive/c/projects/bdwgc && ./autogen.sh && ./configure %CONF_OPTIONS% --enable-werror && cat include/config.h && make -j CFLAGS_EXTRA='%CFLAGS_EXTRA%'" )
75 - cmd: if [%TARGET%]==[mingw] (
76     C:\MinGW\msys\1.0\bin\bash -e -l -c
77       "cd /c/projects/bdwgc && make -j -f Makefile.direct CC=gcc CFLAGS_EXTRA='%CFLAGS_EXTRA%'" )
78 - cmd: if [%TARGET%]==[mingw-shared-no-make] (
79     C:\MinGW\msys\1.0\bin\bash -e -l -c
80       "cd /c/projects/bdwgc && gcc -I include -D GC_BUILTIN_ATOMIC -D GC_DLL %CFLAGS_EXTRA% -shared -o gc.dll extra/gc.c" )
81 - cmd: if [%TARGET%]==[mingw-w64] (
82     C:\msys64\usr\bin\bash -e -l -c
83       "cd /c/projects/bdwgc && make -j -f Makefile.direct CC=gcc CFLAGS_EXTRA='%CFLAGS_EXTRA%'" )
84
85 test_script:
86 - cmd: if [%TARGET%]==[cmake] ( ctest --build-config %CMAKE_CONFIG% -V )
87 - cmd: if [%TARGET%]==[nmake] (
88     "C:\Program Files\Microsoft SDKs\Windows\%MS_SDK_VER%\Bin\SetEnv.cmd" /%CPU% /%BLD% && nmake /f NT_MAKEFILE check %MACRO_DEFS% && nmake /f NT_MAKEFILE clean )
89 - cmd: if [%TARGET%]==[cygwin] (
90     C:\cygwin\bin\bash -e -l -c
91       "cd /cygdrive/c/projects/bdwgc && make -j check-without-test-driver CFLAGS_EXTRA='%CFLAGS_EXTRA%'" )
92 - cmd: if [%TARGET%]==[cygwin64] (
93     C:\cygwin64\bin\bash -e -l -c
94       "cd /cygdrive/c/projects/bdwgc && make -j check-without-test-driver CFLAGS_EXTRA='%CFLAGS_EXTRA%'" )
95 - cmd: if [%TARGET%]==[mingw] (
96     C:\MinGW\msys\1.0\bin\bash -e -l -c
97       "cd /c/projects/bdwgc && make -j -f Makefile.direct check CC=gcc CFLAGS_EXTRA='-DGC_NOT_DLL %CFLAGS_EXTRA%'" )
98 - cmd: if [%TARGET%]==[mingw-shared-no-make] (
99     C:\MinGW\msys\1.0\bin\bash -e -l -c
100       "cd /c/projects/bdwgc && gcc -I include -D GC_BUILTIN_ATOMIC -D GC_DLL %CFLAGS_EXTRA% -o gctest.exe tests/test.c gc.dll && gctest.exe" )
101 - cmd: if [%TARGET%]==[mingw-w64] (
102     C:\msys64\usr\bin\bash -e -l -c
103       "cd /c/projects/bdwgc && make -j -f Makefile.direct check CC=gcc CFLAGS_EXTRA='%CFLAGS_EXTRA%'" )