mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-04-25 03:21:56 +00:00
Merge branch 'master' into next
This commit is contained in:
commit
1c89d60b26
3 changed files with 164 additions and 1 deletions
155
.gitlab-ci.yml
155
.gitlab-ci.yml
|
@ -19,6 +19,11 @@ default:
|
||||||
- apt-cache
|
- apt-cache
|
||||||
unprotect: true
|
unprotect: true
|
||||||
|
|
||||||
|
- key: apk-$CI_JOB_IMAGE
|
||||||
|
paths:
|
||||||
|
- apk-cache
|
||||||
|
unprotect: true
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- - |
|
- - |
|
||||||
# debconf
|
# debconf
|
||||||
|
@ -167,6 +172,10 @@ Debian testing GCC:
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "testing-gcc"
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
|
@ -401,6 +410,10 @@ Debian stable Clang:
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "clang"
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
|
@ -442,6 +455,10 @@ Debian stable musl:
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "musl"
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-musl"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-musl"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
|
@ -481,6 +498,10 @@ Debian testing Clang:
|
||||||
image: debian:testing-slim
|
image: debian:testing-slim
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "testing-clang"
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
|
@ -497,9 +518,143 @@ Debian testing musl:
|
||||||
image: debian:testing-slim
|
image: debian:testing-slim
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "testing-musl"
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-musl"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-musl"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
CC: musl-gcc
|
CC: musl-gcc
|
||||||
LDD: musl-ldd
|
LDD: musl-ldd
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
LDFLAGS: -Wl,-fuse-ld=gold
|
||||||
|
|
||||||
|
Alpine 3 GCC:
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: on_success
|
||||||
|
|
||||||
|
image: alpine:3
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Apline-3"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3"
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- - |
|
||||||
|
# apk_cache
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_cache[collapsed=true]\r\e[0KUpdating APK listing"
|
||||||
|
- export APK_CACHE_DIR=`pwd`/apk-cache
|
||||||
|
- mkdir --parents --verbose $APK_CACHE_DIR/
|
||||||
|
- ln -sf /etc/apk/cache $APK_CACHE_DIR
|
||||||
|
- |
|
||||||
|
# apk_cache
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_cache\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_update
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_update[collapsed=true]\r\e[0KUpdating APK listing"
|
||||||
|
- apk update
|
||||||
|
- |
|
||||||
|
# apk_update
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_update\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_upgrade
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
|
||||||
|
- apk upgrade
|
||||||
|
- |
|
||||||
|
# apk_update
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_upgrade\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_common
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_common[collapsed=true]\r\e[0KInstalling common packages"
|
||||||
|
- apk add make git ccache nasm
|
||||||
|
- |
|
||||||
|
# apk_common
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_common\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# ccache_config
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:ccache_config[collapsed=true]\r\e[0KSetting up ccache config"
|
||||||
|
- mkdir --parents --verbose ~/.ccache/
|
||||||
|
- touch ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# cache.conf
|
||||||
|
echo Adding ccache configution option
|
||||||
|
- |
|
||||||
|
# base_dir
|
||||||
|
echo base_dir = $PWD | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# cache_dir
|
||||||
|
echo cache_dir = $PWD/ccache | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# compiler_check
|
||||||
|
echo compiler_check = content | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# stats_log
|
||||||
|
echo stats_log = $PWD/ccache_statslog | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# max_size
|
||||||
|
echo max_size = 50M | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# ccache_config
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:ccache_config\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# cache_reset
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:ccache_reset[collapsed=true]\r\e[0KResetting ccache statistics"
|
||||||
|
- ccache --zero-stats
|
||||||
|
- ccache --show-stats
|
||||||
|
- |
|
||||||
|
# ccache_reset
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:ccache_reset\r\e[0K"
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# apk_toolchain
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
||||||
|
- apk add gcc
|
||||||
|
- |
|
||||||
|
# apk_toolchain
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_toolchain\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_development
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
|
- apk add musl-dev sdl2_mixer-dev libpng-dev curl-dev libgme-dev libopenmpt-dev
|
||||||
|
- |
|
||||||
|
# apk_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 NOEXECINFO=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 NOEXECINFO=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
after_script:
|
||||||
|
- - |
|
||||||
|
# apk_clean
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_clean[collapsed=true]\r\e[0KCleaning of unneeded APK packages"
|
||||||
|
- apk cache clean
|
||||||
|
- |
|
||||||
|
# apk_clean
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_clean\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# ccache_stats
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
|
||||||
|
- ccache --show-stats --verbose
|
||||||
|
- ccache --show-log-stats --verbose
|
||||||
|
- |
|
||||||
|
# ccahe_stats
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
passthru_opts+=\
|
passthru_opts+=\
|
||||||
NO_IPV6 NOHW NOMD5 NOPOSTPROCESSING\
|
NO_IPV6 NOHW NOMD5 NOPOSTPROCESSING\
|
||||||
MOBJCONSISTANCY PACKETDROP ZDEBUG\
|
MOBJCONSISTANCY PACKETDROP ZDEBUG\
|
||||||
HAVE_MINIUPNPC\
|
HAVE_MINIUPNPC NOEXECINFO\
|
||||||
|
|
||||||
# build with debugging information
|
# build with debugging information
|
||||||
ifdef DEBUGMODE
|
ifdef DEBUGMODE
|
||||||
|
|
|
@ -138,7 +138,9 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
|
#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
|
||||||
|
#ifndef NOEXECINFO
|
||||||
#include <execinfo.h>
|
#include <execinfo.h>
|
||||||
|
#endif
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#define UNIXBACKTRACE
|
#define UNIXBACKTRACE
|
||||||
#endif
|
#endif
|
||||||
|
@ -269,13 +271,17 @@ UINT8 keyboard_started = false;
|
||||||
static void write_backtrace(INT32 signal)
|
static void write_backtrace(INT32 signal)
|
||||||
{
|
{
|
||||||
int fd = -1;
|
int fd = -1;
|
||||||
|
#ifndef NOEXECINFO
|
||||||
size_t size;
|
size_t size;
|
||||||
|
#endif
|
||||||
time_t rawtime;
|
time_t rawtime;
|
||||||
struct tm timeinfo;
|
struct tm timeinfo;
|
||||||
ssize_t junk;
|
ssize_t junk;
|
||||||
|
|
||||||
enum { BT_SIZE = 1024, STR_SIZE = 32 };
|
enum { BT_SIZE = 1024, STR_SIZE = 32 };
|
||||||
|
#ifndef NOEXECINFO
|
||||||
void *array[BT_SIZE];
|
void *array[BT_SIZE];
|
||||||
|
#endif
|
||||||
char timestr[STR_SIZE];
|
char timestr[STR_SIZE];
|
||||||
|
|
||||||
const char *error = "An error occurred within SRB2! Send this stack trace to someone who can help!\n";
|
const char *error = "An error occurred within SRB2! Send this stack trace to someone who can help!\n";
|
||||||
|
@ -308,12 +314,14 @@ static void write_backtrace(INT32 signal)
|
||||||
CRASHLOG_WRITE(strsignal(signal));
|
CRASHLOG_WRITE(strsignal(signal));
|
||||||
CRASHLOG_WRITE("\n"); // Newline for the signal name
|
CRASHLOG_WRITE("\n"); // Newline for the signal name
|
||||||
|
|
||||||
|
#ifndef NOEXECINFO
|
||||||
CRASHLOG_STDERR_WRITE("\nBacktrace:\n");
|
CRASHLOG_STDERR_WRITE("\nBacktrace:\n");
|
||||||
|
|
||||||
// Flood the output and log with the backtrace
|
// Flood the output and log with the backtrace
|
||||||
size = backtrace(array, BT_SIZE);
|
size = backtrace(array, BT_SIZE);
|
||||||
backtrace_symbols_fd(array, size, fd);
|
backtrace_symbols_fd(array, size, fd);
|
||||||
backtrace_symbols_fd(array, size, STDERR_FILENO);
|
backtrace_symbols_fd(array, size, STDERR_FILENO);
|
||||||
|
#endif
|
||||||
|
|
||||||
CRASHLOG_WRITE("\n"); // Write another newline to the log so it looks nice :)
|
CRASHLOG_WRITE("\n"); // Write another newline to the log so it looks nice :)
|
||||||
(void)junk;
|
(void)junk;
|
||||||
|
|
Loading…
Reference in a new issue