diff options
-rwxr-xr-x | .ci/buildlib.sh | 2 | ||||
-rw-r--r-- | .gitlab-ci.yml | 213 |
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 |