386 lines
11 KiB
YAML
386 lines
11 KiB
YAML
language: c
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- binutils-mingw-w64-i686
|
|
- binutils-mingw-w64-x86-64
|
|
- gcc-mingw-w64
|
|
- gcc-mingw-w64-base
|
|
- gcc-mingw-w64-i686
|
|
- gcc-mingw-w64-x86-64
|
|
- gcc-multilib
|
|
jobs:
|
|
include:
|
|
# Testing on Linux GCC
|
|
- name: "Linux/GCC/Shared"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- name: "Linux/GCC/Shared: UTF_MAX=4"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- CFGOPT=CFLAGS=-DTCL_UTF_MAX=4
|
|
- name: "Linux/GCC/Shared: UTF_MAX=6"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- CFGOPT=CFLAGS=-DTCL_UTF_MAX=6
|
|
- name: "Linux/GCC/Static"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc
|
|
env:
|
|
- CFGOPT="--disable-shared"
|
|
- BUILD_DIR=unix
|
|
- name: "Linux/GCC/Debug"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- CFGOPT="--enable-symbols"
|
|
- name: "Linux/GCC/Mem-Debug"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- CFGOPT="--enable-symbols=mem"
|
|
# Newer/Older versions of GCC
|
|
- name: "Linux/GCC 10/Shared"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc-10
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++-10
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- name: "Linux/GCC 5/Shared"
|
|
os: linux
|
|
dist: bionic
|
|
compiler: gcc-5
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- g++-5
|
|
env:
|
|
- BUILD_DIR=unix
|
|
# Testing on Linux Clang
|
|
- name: "Linux/Clang/Shared"
|
|
os: linux
|
|
dist: focal
|
|
compiler: clang
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- name: "Linux/Clang/Static"
|
|
os: linux
|
|
dist: focal
|
|
compiler: clang
|
|
env:
|
|
- CFGOPT="--disable-shared"
|
|
- BUILD_DIR=unix
|
|
- name: "Linux/Clang/Debug"
|
|
os: linux
|
|
dist: focal
|
|
compiler: clang
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- CFGOPT="--enable-symbols"
|
|
- name: "Linux/Clang/Mem-Debug"
|
|
os: linux
|
|
dist: focal
|
|
compiler: clang
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- CFGOPT="--enable-symbols=mem"
|
|
# Testing on Mac, various styles
|
|
- name: "macOS/Xcode 12/Shared"
|
|
os: osx
|
|
osx_image: xcode12.2
|
|
env:
|
|
- BUILD_DIR=macosx
|
|
install: []
|
|
script: &mactest
|
|
- make all
|
|
# The styles=develop avoids some weird problems on OSX
|
|
- make test styles=develop
|
|
- name: "macOS/Xcode 12/Shared/Unix-like"
|
|
os: osx
|
|
osx_image: xcode12.2
|
|
env:
|
|
- BUILD_DIR=unix
|
|
- CFGOPT="--enable-dtrace"
|
|
# Newer MacOS versions
|
|
- name: "macOS/Xcode 12/Universal Apps/Shared"
|
|
os: osx
|
|
osx_image: xcode12u
|
|
env:
|
|
- BUILD_DIR=macosx
|
|
install: []
|
|
script: *mactest
|
|
# Older MacOS versions
|
|
- name: "macOS/Xcode 11/Shared"
|
|
os: osx
|
|
osx_image: xcode11.7
|
|
env:
|
|
- BUILD_DIR=macosx
|
|
install: []
|
|
script: *mactest
|
|
- name: "macOS/Xcode 10/Shared"
|
|
os: osx
|
|
osx_image: xcode10.3
|
|
env:
|
|
- BUILD_DIR=macosx
|
|
install: []
|
|
script: *mactest
|
|
- name: "macOS/Xcode 9/Shared"
|
|
os: osx
|
|
osx_image: xcode9.4
|
|
env:
|
|
- BUILD_DIR=macosx
|
|
install: []
|
|
script: *mactest
|
|
- name: "macOS/Xcode 8/Shared"
|
|
os: osx
|
|
osx_image: xcode8.3
|
|
env:
|
|
- BUILD_DIR=macosx
|
|
install: []
|
|
script: *mactest
|
|
# Test with mingw-w64 cross-compile
|
|
# Doesn't run tests because wine is only an imperfect Windows emulation
|
|
- name: "Linux-cross-Windows/GCC/Shared/no test"
|
|
os: linux
|
|
dist: focal
|
|
compiler: x86_64-w64-mingw32-gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--host=x86_64-w64-mingw32 --enable-64bit"
|
|
script: &crosstest
|
|
- make all tcltest
|
|
# Include a high visibility marker that tests are skipped outright
|
|
- >
|
|
echo "`tput setaf 3`SKIPPED TEST: CROSS COMPILING`tput sgr0`"
|
|
# Test with mingw-w64 (32 bit) cross-compile
|
|
# Doesn't run tests because wine is only an imperfect Windows emulation
|
|
- name: "Linux-cross-Windows-32/GCC/Shared/no test"
|
|
os: linux
|
|
dist: focal
|
|
compiler: i686-w64-mingw32-gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT=--host=i686-w64-mingw32
|
|
script: *crosstest
|
|
# Test on Windows with MSVC native
|
|
- name: "Windows/MSVC/Shared"
|
|
os: windows
|
|
compiler: cl
|
|
env: &vcenv
|
|
- BUILD_DIR=win
|
|
- VCDIR="/C/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build"
|
|
before_install: &vcpreinst
|
|
- touch generic/tclStubInit.c generic/tclOOStubInit.c
|
|
- PATH="$PATH:$VCDIR"
|
|
- cd ${BUILD_DIR}
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake '-f' makefile.vc test
|
|
- name: "Windows/MSVC/Shared: UTF_MAX=4"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc test
|
|
- name: "Windows/MSVC/Static"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc test
|
|
- name: "Windows/MSVC/StaticPackage"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,staticpkg,msvcrt' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=static,staticpkg,msvcrt' '-f' makefile.vc test
|
|
- name: "Windows/MSVC/Debug"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=symbols' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'OPTS=symbols' '-f' makefile.vc test
|
|
- name: "Windows/MSVC/Mem-Debug"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'STATS=memdbg' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x64 '&&' nmake 'STATS=memdbg' '-f' makefile.vc test
|
|
# Test on Windows with MSVC native (32-bit)
|
|
- name: "Windows/MSVC-x86/Shared"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake '-f' makefile.vc test
|
|
- name: "Windows/MSVC-x86/Shared: UTF_MAX=4"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=utfmax' '-f' makefile.vc test
|
|
- name: "Windows/MSVC-x86/Static"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=static,msvcrt' '-f' makefile.vc test
|
|
- name: "Windows/MSVC-x86/Debug"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=symbols' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'OPTS=symbols' '-f' makefile.vc test
|
|
- name: "Windows/MSVC-x86/Mem-Debug"
|
|
os: windows
|
|
compiler: cl
|
|
env: *vcenv
|
|
before_install: *vcpreinst
|
|
install: []
|
|
script:
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'STATS=memdbg' '-f' makefile.vc all tcltest
|
|
- cmd.exe //C vcvarsall.bat x86 '&&' nmake 'STATS=memdbg' '-f' makefile.vc test
|
|
# Test on Windows with GCC native
|
|
- name: "Windows/GCC/Shared"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--enable-64bit"
|
|
before_install: &makepreinst
|
|
- touch generic/tclStubInit.c generic/tclOOStubInit.c
|
|
- choco install -y make
|
|
- cd ${BUILD_DIR}
|
|
- name: "Windows/GCC/Shared: UTF_MAX=4"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--enable-64bit CFLAGS=-DTCL_UTF_MAX=4"
|
|
before_install: *makepreinst
|
|
- name: "Windows/GCC/Static"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--enable-64bit --disable-shared"
|
|
before_install: *makepreinst
|
|
- name: "Windows/GCC/Debug"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--enable-64bit --enable-symbols"
|
|
before_install: *makepreinst
|
|
- name: "Windows/GCC/Mem-Debug"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--enable-64bit --enable-symbols=mem"
|
|
before_install: *makepreinst
|
|
# Test on Windows with GCC native (32-bit)
|
|
- name: "Windows/GCC-x86/Shared"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
before_install: *makepreinst
|
|
- name: "Windows/GCC-x86/Shared: UTF_MAX=4"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="CFLAGS=-DTCL_UTF_MAX=4"
|
|
before_install: *makepreinst
|
|
- name: "Windows/GCC-x86/Static"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--disable-shared"
|
|
before_install: *makepreinst
|
|
- name: "Windows/GCC-x86/Debug"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--enable-symbols"
|
|
before_install: *makepreinst
|
|
- name: "Windows/GCC-x86/Mem-Debug"
|
|
os: windows
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=win
|
|
- CFGOPT="--enable-symbols=mem"
|
|
before_install: *makepreinst
|
|
# "make dist" only
|
|
- name: "Linux: make dist"
|
|
os: linux
|
|
dist: focal
|
|
compiler: gcc
|
|
env:
|
|
- BUILD_DIR=unix
|
|
script:
|
|
- make dist
|
|
before_install:
|
|
- touch generic/tclStubInit.c generic/tclOOStubInit.c
|
|
- cd ${BUILD_DIR}
|
|
install:
|
|
- mkdir "$HOME/install dir"
|
|
- ./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
|
|
before_script:
|
|
- export ERROR_ON_FAILURES=1
|
|
script:
|
|
- make all tcltest || echo "Something wrong, maybe a hickup, let's try again"
|
|
- make test
|
|
- make install
|