5 - ubuntu-toolchain-r-test
7 - binutils-mingw-w64-i686
8 - binutils-mingw-w64-x86-64
12 - gcc-mingw-w64-x86-64
16 # Testing on Linux GCC
17 - name: "Linux/GCC/Shared"
23 - name: "Linux/GCC/Shared: UTF_MAX=4"
29 - CFGOPT=CFLAGS=-DTCL_UTF_MAX=4
30 - name: "Linux/GCC/Shared: UTF_MAX=6"
36 - CFGOPT=CFLAGS=-DTCL_UTF_MAX=6
37 - name: "Linux/GCC/Static"
42 - CFGOPT="--disable-shared"
44 - name: "Linux/GCC/Debug"
50 - CFGOPT="--enable-symbols"
51 - name: "Linux/GCC/Mem-Debug"
57 - CFGOPT="--enable-symbols=mem"
58 # Newer/Older versions of GCC
59 - name: "Linux/GCC 10/Shared"
69 - name: "Linux/GCC 5/Shared"
79 # Testing on Linux Clang
80 - name: "Linux/Clang/Shared"
86 - name: "Linux/Clang/Static"
91 - CFGOPT="--disable-shared"
93 - name: "Linux/Clang/Debug"
99 - CFGOPT="--enable-symbols"
100 - name: "Linux/Clang/Mem-Debug"
106 - CFGOPT="--enable-symbols=mem"
107 # Testing on Mac, various styles
108 - name: "macOS/Xcode 12/Shared"
116 # The styles=develop avoids some weird problems on OSX
117 - make test styles=develop
118 - name: "macOS/Xcode 12/Shared/Unix-like"
123 - CFGOPT="--enable-dtrace"
124 # Newer MacOS versions
125 - name: "macOS/Xcode 12/Universal Apps/Shared"
132 # Older MacOS versions
133 - name: "macOS/Xcode 11/Shared"
140 - name: "macOS/Xcode 10/Shared"
147 - name: "macOS/Xcode 9/Shared"
154 - name: "macOS/Xcode 8/Shared"
161 # Test with mingw-w64 cross-compile
162 # Doesn't run tests because wine is only an imperfect Windows emulation
163 - name: "Linux-cross-Windows/GCC/Shared/no test"
166 compiler: x86_64-w64-mingw32-gcc
169 - CFGOPT="--host=x86_64-w64-mingw32 --enable-64bit"
172 # Include a high visibility marker that tests are skipped outright
174 echo "`tput setaf 3`SKIPPED TEST: CROSS COMPILING`tput sgr0`"
175 # Test with mingw-w64 (32 bit) cross-compile
176 # Doesn't run tests because wine is only an imperfect Windows emulation
177 - name: "Linux-cross-Windows-32/GCC/Shared/no test"
180 compiler: i686-w64-mingw32-gcc
183 - CFGOPT=--host=i686-w64-mingw32
185 # Test on Windows with MSVC native
186 - name: "Windows/MSVC/Shared"
191 - VCDIR="/C/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build"
192 before_install: &vcpreinst
193 - touch generic/tclStubInit.c generic/tclOOStubInit.c
194 - PATH="$PATH:$VCDIR"
198 - cmd.exe //C vcvarsall.bat x64 '&&' nmake '-f' makefile.vc all tcltest
199 - cmd.exe //C vcvarsall.bat x64 '&&' nmake '-f' makefile.vc test
200 - name: "Windows/MSVC/Shared: UTF_MAX=4"
204 before_install: *vcpreinst
207 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc all tcltest
208 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc test
209 - name: "Windows/MSVC/Static"
213 before_install: *vcpreinst
216 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc all tcltest
217 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc test
218 - name: "Windows/MSVC/StaticPackage"
222 before_install: *vcpreinst
225 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,staticpkg,msvcrt' '-f' makefile.vc all tcltest
226 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,staticpkg,msvcrt' '-f' makefile.vc test
227 - name: "Windows/MSVC/Debug"
231 before_install: *vcpreinst
234 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=symbols' '-f' makefile.vc all tcltest
235 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=symbols' '-f' makefile.vc test
236 - name: "Windows/MSVC/Mem-Debug"
240 before_install: *vcpreinst
243 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'STATS=memdbg' '-f' makefile.vc all tcltest
244 - cmd.exe //C vcvarsall.bat x64 '&&' nmake 'STATS=memdbg' '-f' makefile.vc test
245 # Test on Windows with MSVC native (32-bit)
246 - name: "Windows/MSVC-x86/Shared"
250 before_install: *vcpreinst
253 - cmd.exe //C vcvarsall.bat x86 '&&' nmake '-f' makefile.vc all tcltest
254 - cmd.exe //C vcvarsall.bat x86 '&&' nmake '-f' makefile.vc test
255 - name: "Windows/MSVC-x86/Shared: UTF_MAX=4"
259 before_install: *vcpreinst
262 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc all tcltest
263 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc test
264 - name: "Windows/MSVC-x86/Static"
268 before_install: *vcpreinst
271 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc all tcltest
272 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc test
273 - name: "Windows/MSVC-x86/Debug"
277 before_install: *vcpreinst
280 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=symbols' '-f' makefile.vc all tcltest
281 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=symbols' '-f' makefile.vc test
282 - name: "Windows/MSVC-x86/Mem-Debug"
286 before_install: *vcpreinst
289 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'STATS=memdbg' '-f' makefile.vc all tcltest
290 - cmd.exe //C vcvarsall.bat x86 '&&' nmake 'STATS=memdbg' '-f' makefile.vc test
291 # Test on Windows with GCC native
292 - name: "Windows/GCC/Shared"
297 - CFGOPT="--enable-64bit"
298 before_install: &makepreinst
299 - touch generic/tclStubInit.c generic/tclOOStubInit.c
300 - choco install -y make
302 - name: "Windows/GCC/Shared: UTF_MAX=4"
307 - CFGOPT="--enable-64bit CFLAGS=-DTCL_UTF_MAX=4"
308 before_install: *makepreinst
309 - name: "Windows/GCC/Static"
314 - CFGOPT="--enable-64bit --disable-shared"
315 before_install: *makepreinst
316 - name: "Windows/GCC/Debug"
321 - CFGOPT="--enable-64bit --enable-symbols"
322 before_install: *makepreinst
323 - name: "Windows/GCC/Mem-Debug"
328 - CFGOPT="--enable-64bit --enable-symbols=mem"
329 before_install: *makepreinst
330 # Test on Windows with GCC native (32-bit)
331 - name: "Windows/GCC-x86/Shared"
336 before_install: *makepreinst
337 - name: "Windows/GCC-x86/Shared: UTF_MAX=4"
342 - CFGOPT="CFLAGS=-DTCL_UTF_MAX=4"
343 before_install: *makepreinst
344 - name: "Windows/GCC-x86/Static"
349 - CFGOPT="--disable-shared"
350 before_install: *makepreinst
351 - name: "Windows/GCC-x86/Debug"
356 - CFGOPT="--enable-symbols"
357 before_install: *makepreinst
358 - name: "Windows/GCC-x86/Mem-Debug"
363 - CFGOPT="--enable-symbols=mem"
364 before_install: *makepreinst
366 - name: "Linux: make dist"
375 - touch generic/tclStubInit.c generic/tclOOStubInit.c
378 - mkdir "$HOME/install dir"
379 - ./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
381 - export ERROR_ON_FAILURES=1
383 - make all tcltest || echo "Something wrong, maybe a hickup, let's try again"