summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.ci/buildlib.sh2
-rw-r--r--.gitlab-ci.yml213
2 files changed, 214 insertions, 1 deletions
diff --git a/.ci/buildlib.sh b/.ci/buildlib.sh
index fa6481d..94b5072 100755
--- a/.ci/buildlib.sh
+++ b/.ci/buildlib.sh
@@ -1,7 +1,7 @@
#!/bin/bash
export srcbranch="$2"
-export envname="${1}_${2}"
+export envname="${1}_${2}${3}"
cd /usr/local/spm || exit 1
./.ci/runretry.sh ./getsrc.sh "$1" || exit 1
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dde9e7e..2573b67 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -56,3 +56,216 @@ test:commands2:
variables:
srcbranch: curl-7_51_0
<<: *job-artifacts
+
+SDL_SDL-1.2_asan:
+ stage: build
+ script:
+ - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
+ libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
+ - ./.ci/copyspm.sh
+ - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
+ - ./.ci/buildlib.sh SDL SDL-1.2 _asan
+ - ${runenvtool} ./.ci/buildlib.sh zlib master
+ - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
+ - ${runenvtool} ./.ci/buildlib.sh SDL_image SDL-1.2
+ - ${runenvtool} ./.ci/buildlib.sh SDL_mixer SDL-1.2
+ - ${runenvtool} ./.ci/buildlib.sh SDL_net SDL-1.2
+ - ${runenvtool} ./.ci/buildlib.sh SDL_ttf SDL-1.2
+ - export LD_PRELOAD
+ - ./.ci/copyfinal.sh
+ - grep "1.2" /usr/local/spm/bin/${installname}/lib/pkgconfig/sdl.pc
+ variables:
+ installname: SDL_SDL-1.2_asan
+ runenvtool: /usr/local/spm/env/run${installname}.sh
+ runenvtoolz: /usr/local/spm/env/runzlib_master.sh
+ ASAN_OPTIONS: "detect_leaks=0"
+ CXXFLAGS: "-fsanitize=address -fsanitize=undefined
+ -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
+ -fsanitize=vla-bound -fsanitize=null -fsanitize=return
+ -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
+ -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
+ -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
+ -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
+ -fno-omit-frame-pointer"
+ CFLAGS: "-fsanitize=address -fsanitize=undefined
+ -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
+ -fsanitize=vla-bound -fsanitize=null -fsanitize=return
+ -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
+ -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
+ -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
+ -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
+ -fno-omit-frame-pointer"
+ LDFLAGS: "-lasan -lubsan
+ -fsanitize=address -fsanitize=undefined
+ -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
+ -fsanitize=vla-bound -fsanitize=null -fsanitize=return
+ -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
+ -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
+ -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
+ -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
+ -fno-omit-frame-pointer"
+ <<: *job-artifacts
+
+SDL_default_asan:
+ stage: build
+ script:
+ - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
+ libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
+ - ./.ci/copyspm.sh
+ - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
+ - ./.ci/buildlib.sh SDL2 default _asan
+ - cp /usr/local/spm/env/runSDL2_default_asan.sh /usr/local/spm/env/runSDL_default_asan.sh
+ - ${runenvtool} ./.ci/buildlib.sh zlib master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_image default
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer default
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_net default
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf default
+ - export LD_PRELOAD
+ - ./.ci/copyfinal.sh
+ variables:
+ installname: SDL_default_asan
+ runenvtool: /usr/local/spm/env/run${installname}.sh
+ runenvtoolz: /usr/local/spm/env/runzlib_master.sh
+ ASAN_OPTIONS: "detect_leaks=0"
+ CXXFLAGS: "-fsanitize=address -fsanitize=undefined
+ -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
+ -fsanitize=vla-bound -fsanitize=null -fsanitize=return
+ -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
+ -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
+ -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
+ -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
+ -fno-omit-frame-pointer"
+ CFLAGS: "-fsanitize=address -fsanitize=undefined
+ -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
+ -fsanitize=vla-bound -fsanitize=null -fsanitize=return
+ -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
+ -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
+ -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
+ -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
+ -fno-omit-frame-pointer"
+ LDFLAGS: "-lasan -lubsan
+ -fsanitize=address -fsanitize=undefined
+ -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable
+ -fsanitize=vla-bound -fsanitize=null -fsanitize=return
+ -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment
+ -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow
+ -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool
+ -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict
+ -fno-omit-frame-pointer"
+ <<: *job-artifacts
+
+SDL_SDL-1.2:
+ stage: build
+ script:
+ - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
+ libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
+ - ./.ci/copyspm.sh
+ - ./.ci/buildlib.sh SDL SDL-1.2
+ - ${runenvtool} ./.ci/buildlib.sh zlib master
+ - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
+ - ${runenvtool} ./.ci/buildlib.sh SDL_image SDL-1.2
+ - ${runenvtool} ./.ci/buildlib.sh SDL_mixer SDL-1.2
+ - ${runenvtool} ./.ci/buildlib.sh SDL_net SDL-1.2
+ - ${runenvtool} ./.ci/buildlib.sh SDL_ttf SDL-1.2
+ - ./.ci/copyfinal.sh
+ - grep "1.2" /usr/local/spm/bin/SDL_SDL-1.2/lib/pkgconfig/sdl.pc
+ variables:
+ installname: SDL_SDL-1.2
+ runenvtool: /usr/local/spm/env/run${installname}.sh
+ runenvtoolz: /usr/local/spm/env/runzlib_master.sh
+ <<: *job-artifacts
+
+SDL_default:
+ stage: build
+ script:
+ - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
+ libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
+ - ./.ci/copyspm.sh
+ - ./.ci/buildlib.sh SDL2 default
+ - cp /usr/local/spm/env/runSDL2_default.sh /usr/local/spm/env/runSDL_default.sh
+ - ${runenvtool} ./.ci/buildlib.sh zlib master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_image default
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer default
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_net default
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf default
+ - ./.ci/copyfinal.sh
+ variables:
+ installname: SDL_default
+ runenvtool: /usr/local/spm/env/run${installname}.sh
+ runenvtoolz: /usr/local/spm/env/runzlib_master.sh
+ <<: *job-artifacts
+
+SDL_SDL-1.2_old:
+ stage: build
+ script:
+ - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
+ libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libicu-dev
+ libjpeg-dev libtiff-dev
+ bison flex
+ - ./.ci/copyspm.sh
+ - ./.ci/buildlib.sh SDL release-1.2.15
+ - cp /usr/local/spm/env/runSDL_release-1.2.15.sh /usr/local/spm/env/runSDL_SDL-1.2_old.sh
+ - ${runenvtool} ./.ci/buildlib.sh zlib v1.2.5
+ - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng libpng10
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype VER-2-4-9
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 v2.9.1
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl curl-7_12_3
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 2.0.2
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh SDL_image release-1.2.5
+ - ${runenvtool} ./.ci/buildlib.sh SDL_mixer release-1.2.7
+ - ${runenvtool} ./.ci/buildlib.sh SDL_net release-1.2.6
+ - ${runenvtool} ./.ci/buildlib.sh SDL_ttf release-2.0.11
+ - ./.ci/copyfinal.sh
+ variables:
+ installname: SDL_SDL-1.2_old
+ runenvtool: /usr/local/spm/env/run${installname}.sh
+ runenvtoolz: /usr/local/spm/env/runzlib_v1.2.5.sh
+ <<: *job-artifacts
+
+SDL_default_old:
+ stage: build
+ script:
+ - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake
+ libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libicu-dev
+ libjpeg-dev libtiff-dev
+ bison flex
+ - ./.ci/copyspm.sh
+ - ./.ci/buildlib.sh SDL2 release-2.0.0
+ - cp /usr/local/spm/env/runSDL2_release-2.0.0.sh /usr/local/spm/env/runSDL_default_old.sh
+ - ${runenvtool} ./.ci/buildlib.sh zlib v1.2.5
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng libpng10
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype VER-2-4-9
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 v2.9.1
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl curl-7_12_3
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 2.0.2
+ - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh SDL2_image release-2.0.0
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_mixer release-2.0.0
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_net release-2.0.0
+ - ${runenvtool} ./.ci/buildlib.sh SDL2_ttf release-2.0.12
+ - ./.ci/copyfinal.sh
+ variables:
+ installname: SDL_default_old
+ runenvtool: /usr/local/spm/env/run${installname}.sh
+ runenvtoolz: /usr/local/spm/env/runzlib_v1.2.5.sh
+ <<: *job-artifacts