diff --git a/.circleci/config.yml b/.circleci/config.yml index b3b97363eeb3f31e41ddf01f01e6f01f52c86204..b86b39f752a38aee24f50bb260f7b6b45d8b722f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,13 +5,8 @@ jobs: docker: - image: cimg/base:current environment: - CC: ccache gcc -m32 - PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig - LIBGME_CFLAGS: -I/usr/include - LIBGME_LDFLAGS: -lgme + CC: ccache gcc CCACHE_COMPRESS: true - WFLAGS: -Wno-unsuffixed-float-constants - GCC81: true #- image: ubuntu:trusty # environment: # CC: ccache gcc -m32 @@ -23,16 +18,11 @@ jobs: # GCC48: true resource_class: large steps: - - run: - name: Add i386 arch - command: sudo dpkg --add-architecture i386 - run: name: Add STJr PPA command: | sudo apt-get -qq update - sudo apt-get -qq -y install dirmngr - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6 - echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list + sudo apt-get -qq install apt-utils - run: name: Make APT cache folder command: mkdir -p /home/circleci/.cache/apt/archives/partial @@ -49,11 +39,8 @@ jobs: keys: - v1-SRB2-APT - run: - name: Uninstall amd64 SDK - command: sudo apt-get -o Dir::Cache="/home/circleci/.cache/apt" -qq -y --no-install-recommends remove libcurl4-openssl-dev:amd64 - - run: - name: Install i386 SDK - command: sudo apt-get -o Dir::Cache="/home/circleci/.cache/apt" -qq -y --no-install-recommends install git build-essential libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client + name: Install SDK + command: sudo apt-get -o Dir::Cache="/home/circleci/.cache/apt" -qq -y --no-install-recommends install git build-essential libpng-dev libsdl2-mixer-dev libgme-dev libcurl4-openssl-dev libopenmpt-dev libminiupnpc-dev gettext ccache wget gcc-multilib upx openssh-client - run: name: make md5sum command: sudo find /home/circleci/.cache/apt/archives -type f -print0 | sort -z | sudo xargs -r0 md5sum > /home/circleci/.cache/apt_archives.md5 @@ -62,28 +49,19 @@ jobs: paths: - /home/circleci/.cache/apt - checkout - - run: - name: Compile without network support - command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 -j4 - - run: - name: wipe build - command: make -C src LINUX=1 cleandep - - run: - name: rebuild depend - command: make -C src LINUX=1 clean - run: name: make master depend file - command: find make/linux/SDL/deps/ -type f -print0 | sort -z | xargs -r0 cat > make/linux/SDL.deps + command: find make/linux64/SDL/deps/ -type f -print0 | sort -z | xargs -r0 cat > make/linux64/SDL.deps - restore_cache: keys: - - v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }} + - v1-SRB2-{{ .Branch }}-{{ checksum "make/linux64/SDL.deps" }} - run: name: Compile - command: make -C src LINUX=1 ERRORMODE=1 -k -j4 + command: make -C src LINUX64=1 ERRORMODE=1 -k -j4 - store_artifacts: path: /home/circleci/SRB2/bin/ destination: bin - save_cache: - key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }} + key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux64/SDL.deps" }} paths: - /home/circleci/.ccache diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 40b418c0fd936c6f7c7fa3fc5e4714aae828695c..b99a850a013befb96faa8b47e817e3f82a981725 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -447,49 +447,6 @@ Debian stable Clang: # make echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K" -Debian stable musl: - stage: build - - when: manual - - allow_failure: true - - artifacts: - paths: - - "bin/" - - "src/comptime.h" - expose_as: "musl" - name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-musl" - - variables: - CC: musl-gcc - LDD: musl-ldd - - script: - - - | - # apt_toolchain - echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages" - - apt-get install gcc - - | - # apt_toolchain - echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K" - - - - | - # apt_development - echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages" - - apt-get install musl-tools - - | - # apt_development - echo -e "\e[0Ksection_end:`date +%s`:apt_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 SDL=0 NOHW=1 NOZLIB=1 NOCURL=1 NOGME=1 NOOPENMPT=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 SDL=0 NOHW=1 NOZLIB=1 NOCURL=1 NOGME=1 NOOPENMPT=1 NOUPNP=1 - - | - # make - echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K" - Debian testing Clang: extends: Debian stable Clang @@ -510,25 +467,6 @@ Debian testing Clang: CFLAGS: -Wno-cast-align -Wno-deprecated-non-prototype LDFLAGS: -Wl,-fuse-ld=gold -Debian testing musl: - extends: Debian stable musl - - when: manual - - image: debian:testing-slim - - 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" - - variables: - CC: musl-gcc - LDD: musl-ldd - LDFLAGS: -Wl,-fuse-ld=gold - Alpine 3 GCC: stage: build diff --git a/src/Makefile.d/features.mk b/src/Makefile.d/features.mk index a4e9a3783a3235a9395dae981e7e40702f83068f..d132ecc9e69517a3536eccad071fd5841ebb2a91 100644 --- a/src/Makefile.d/features.mk +++ b/src/Makefile.d/features.mk @@ -55,6 +55,7 @@ endif # (Valgrind is a memory debugger.) ifdef VALGRIND VALGRIND_PKGCONFIG?=valgrind +VALGRIND_LDFLAGS= $(eval $(call Use_pkg_config,VALGRIND)) ZDEBUG=1 opts+=-DHAVE_VALGRIND diff --git a/src/Makefile.d/versions.mk b/src/Makefile.d/versions.mk index 2523d7f3c25f6c519e67d728417a40e9e052e883..b639ad9a13cb45a898d5c3d5b9d773b3203c2daf 100644 --- a/src/Makefile.d/versions.mk +++ b/src/Makefile.d/versions.mk @@ -84,6 +84,9 @@ endif WFLAGS+=-Wnested-externs #WFLAGS+=-Wunreachable-code WFLAGS+=-Winline +ifdef DEBUGMODE + WFLAGS+=-Wno-error=inline +endif ifdef GCC43 WFLAGS+=-funit-at-a-time WFLAGS+=-Wlogical-op diff --git a/src/doomdef.h b/src/doomdef.h index 29cd4852f00ecd511d379d7698ec6534161a820b..36602583966ae55e537f2f3f257739b39adbef03 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -109,11 +109,19 @@ FILE *fopenfile(const char*, const char*); // If you don't disable ALL debug first, you get ALL debug enabled #if !defined (NDEBUG) +#ifndef PACKETDROP #define PACKETDROP +#endif +#ifndef PARANOIA #define PARANOIA +#endif +#ifndef RANGECHECK #define RANGECHECK +#endif +#ifndef ZDEBUG #define ZDEBUG #endif +#endif // Uncheck this to compile debugging code //#define RANGECHECK diff --git a/src/m_menu.c b/src/m_menu.c index 0012bd599c3558236fde8b150333e8fa78a50117..f62ab127d2c86c95a4a79de6e23d1a30e977ef41 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -2753,7 +2753,7 @@ void M_ChangeMenuMusic(const char *defaultmusname, boolean defaultmuslooping) void M_SetMenuCurBackground(const char *defaultname) { - char name[9]; + char name[9] = ""; strncpy(name, defaultname, 8); name[8] = '\0'; M_IterateMenuTree(MIT_SetCurBackground, &name); diff --git a/src/netcode/mserv.c b/src/netcode/mserv.c index 6d6fac26faed55e4b7bfa7512bb16ddab8ee1cfb..3acacd24c164471057ca3ffa7a6225f8ba95d2f3 100644 --- a/src/netcode/mserv.c +++ b/src/netcode/mserv.c @@ -501,7 +501,7 @@ static void Update_parameters (void) { #ifdef MASTERSERVER - int registered; + int registered = 0; int delayed; if (Online())