mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-13 06:13:18 +00:00
Merge branch 'master' into 'fix-bind-with-ipv6-disabled'
# Conflicts: # src/netcode/i_tcp.c
This commit is contained in:
commit
1472ac75da
23 changed files with 331 additions and 123 deletions
|
@ -12,6 +12,7 @@ variables:
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
|
- osxcross
|
||||||
|
|
||||||
default:
|
default:
|
||||||
interruptible: true
|
interruptible: true
|
||||||
|
|
|
@ -15,8 +15,8 @@ Alpine 3 GCC:
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- "build.alpine3/bin/"
|
- "build.cmake/bin/"
|
||||||
- "build.alpine3/src/config.h"
|
- "build.cmake/src/config.h"
|
||||||
expose_as: "Apline-3"
|
expose_as: "Apline-3"
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3"
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ Alpine 3 GCC:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.alpine3 -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_EXECINFO=NO -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_EXECINFO=NO -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -119,7 +119,7 @@ Alpine 3 GCC:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.alpine3 --keep-going || make --directory=build.alpine3 --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -32,7 +32,7 @@ batocera:arm64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS=ON -DSRB2_CONFIG_USE_GME=OFF -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -40,7 +40,7 @@ batocera:arm64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -34,7 +34,7 @@ Debian oldstable:amd64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_USE_GME=OFF -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -42,7 +42,7 @@ Debian oldstable:amd64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -34,7 +34,7 @@ Debian oldstable:arm64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS=ON -DSRB2_CONFIG_USE_GME=OFF -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS=ON -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -42,7 +42,7 @@ Debian oldstable:arm64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -13,7 +13,6 @@ Debian stable:amd64 Makefile:
|
||||||
variables:
|
variables:
|
||||||
CC: x86_64-linux-gnu-gcc
|
CC: x86_64-linux-gnu-gcc
|
||||||
CXX: x86_64-linux-gnu-g++
|
CXX: x86_64-linux-gnu-g++
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
OBJCOPY: x86_64-linux-gnu-objcopy
|
OBJCOPY: x86_64-linux-gnu-objcopy
|
||||||
OBJDUMP: x86_64-linux-gnu-objdump
|
OBJDUMP: x86_64-linux-gnu-objdump
|
||||||
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
|
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
|
||||||
|
|
|
@ -13,7 +13,6 @@ Debian stable:amd64:
|
||||||
variables:
|
variables:
|
||||||
CC: x86_64-linux-gnu-gcc
|
CC: x86_64-linux-gnu-gcc
|
||||||
CXX: x86_64-linux-gnu-g++
|
CXX: x86_64-linux-gnu-g++
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
OBJCOPY: x86_64-linux-gnu-objcopy
|
OBJCOPY: x86_64-linux-gnu-objcopy
|
||||||
OBJDUMP: x86_64-linux-gnu-objdump
|
OBJDUMP: x86_64-linux-gnu-objdump
|
||||||
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
|
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
|
||||||
|
@ -40,7 +39,7 @@ Debian stable:amd64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -48,7 +47,7 @@ Debian stable:amd64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -15,7 +15,6 @@ Debian stable:arm64 Makefile:
|
||||||
variables:
|
variables:
|
||||||
CC: aarch64-linux-gnu-gcc
|
CC: aarch64-linux-gnu-gcc
|
||||||
CXX: aarch64-linux-gnu-g++
|
CXX: aarch64-linux-gnu-g++
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
OBJCOPY: aarch64-linux-gnu-objcopy
|
OBJCOPY: aarch64-linux-gnu-objcopy
|
||||||
OBJDUMP: aarch64-linux-gnu-objdump
|
OBJDUMP: aarch64-linux-gnu-objdump
|
||||||
LD: aarch64-linux-gnu-ld
|
LD: aarch64-linux-gnu-ld
|
||||||
|
|
|
@ -15,7 +15,6 @@ Debian stable:arm64:
|
||||||
variables:
|
variables:
|
||||||
CC: aarch64-linux-gnu-gcc
|
CC: aarch64-linux-gnu-gcc
|
||||||
CXX: aarch64-linux-gnu-g++
|
CXX: aarch64-linux-gnu-g++
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
OBJCOPY: aarch64-linux-gnu-objcopy
|
OBJCOPY: aarch64-linux-gnu-objcopy
|
||||||
OBJDUMP: aarch64-linux-gnu-objdump
|
OBJDUMP: aarch64-linux-gnu-objdump
|
||||||
LD: aarch64-linux-gnu-ld
|
LD: aarch64-linux-gnu-ld
|
||||||
|
@ -41,7 +40,7 @@ Debian stable:arm64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS=ON -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS=ON -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -49,7 +48,7 @@ Debian stable:arm64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -9,8 +9,8 @@ Debian stable Clang:
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- "build.clang/bin/"
|
- "build.cmake/bin/"
|
||||||
- "build.clang/src/config.h"
|
- "build.cmake/src/config.h"
|
||||||
expose_as: "clang"
|
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"
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ Debian stable Clang:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.clang -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_USE_LIBGME:BOOL=OFF -G "Unix Makefiles"
|
- cmake -B build.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_USE_LIBGME:BOOL=OFF -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -49,7 +49,7 @@ Debian stable Clang:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.clang --keep-going || make --directory=build.clang --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -40,7 +40,7 @@ Debian stable:i386:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -48,7 +48,7 @@ Debian stable:i386:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -19,4 +19,3 @@ Debian testing Clang:
|
||||||
CXX: clang
|
CXX: clang
|
||||||
WFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
WFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
||||||
CFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
CFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ Debian testing GCC Makefile:
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CXX: g++
|
CXX: g++
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- - |
|
- - |
|
||||||
|
|
|
@ -19,7 +19,6 @@ Debian testing GCC:
|
||||||
variables:
|
variables:
|
||||||
CC: gcc
|
CC: gcc
|
||||||
CXX: g++
|
CXX: g++
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- - |
|
- - |
|
||||||
|
@ -41,7 +40,7 @@ Debian testing GCC:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -G "Unix Makefiles"
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DSRB2_CONFIG_USE_GME:BOOL=ON
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -49,7 +48,7 @@ Debian testing GCC:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -3,16 +3,13 @@ osxcross arm64:
|
||||||
|
|
||||||
stage: build
|
stage: build
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- "build.osxcross/bin/"
|
- "build.arm64/bin/"
|
||||||
- "build.osxcross/src/config.h"
|
- "build.arm64/dist/arm64.h"
|
||||||
|
- "build.arm64/src/config.h"
|
||||||
expose_as: "Mac arm64"
|
expose_as: "Mac arm64"
|
||||||
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-arm64-apple-darwin21.4"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
OSXCROSS_HOST: arm64-apple-darwin21.4
|
OSXCROSS_HOST: arm64-apple-darwin21.4
|
||||||
|
@ -22,7 +19,8 @@ osxcross arm64:
|
||||||
- - |
|
- - |
|
||||||
# apt_development
|
# apt_development
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
- osxcross-macports install --arm64 curl libopenmpt libsdl2_mixer
|
- osxcross-macports install --arm64 libxmp wavpack libopenmpt opusfile || osxcross-macports install --arm64 libxmp wavpack libopenmpt opusfile
|
||||||
|
- osxcross-macports install --static --arm64 curl libsdl2_mixer libpng || osxcross-macports install --static --arm64 curl libsdl2_mixer libpng
|
||||||
- |
|
- |
|
||||||
# apt_development
|
# apt_development
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
||||||
|
@ -30,7 +28,7 @@ osxcross arm64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.osxcross --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -G "Unix Makefiles"
|
- cmake -B build.arm64 --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_FORCE_NO_MS_BITFIELDS:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -DSRB2_SDL2_EXE_NAME=srb2_$CI_PIPELINE_ID
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
@ -38,7 +36,16 @@ osxcross arm64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.osxcross --keep-going || make --directory=build.osxcross --keep-going
|
- cmake --build build.arm64 --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# copy config.h
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:copy[collapsed=false]\r\e[0KCopying config.h"
|
||||||
|
- mkdir --parents --verbose build.arm64/dist
|
||||||
|
- cp --reflink=auto --sparse=always --verbose build.arm64/src/config.h build.arm64/dist/arm64.h
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:copy\r\e[0K"
|
||||||
|
|
|
@ -29,10 +29,11 @@ osxcross x86_64:
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- "build.osxcross/bin/"
|
- "build.x86_64/bin/"
|
||||||
- "build.osxcross/src/config.h"
|
- "build.x86_64/dist/x86_64.h"
|
||||||
|
- "build.x86_64/src/config.h"
|
||||||
expose_as: "Mac x86_64"
|
expose_as: "Mac x86_64"
|
||||||
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-x86_64-apple-darwin21.4"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
OSXCROSS_HOST: x86_64-apple-darwin21.4
|
OSXCROSS_HOST: x86_64-apple-darwin21.4
|
||||||
|
@ -63,7 +64,8 @@ osxcross x86_64:
|
||||||
- - |
|
- - |
|
||||||
# apt_development
|
# apt_development
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
- osxcross-macports install curl libopenmpt libsdl2_mixer
|
- osxcross-macports install libxmp wavpack libopenmpt opusfile || osxcross-macports install libxmp wavpack libopenmpt opusfile
|
||||||
|
- osxcross-macports install --static curl libsdl2_mixer libpng || osxcross-macports install --static curl libsdl2_mixer libpng
|
||||||
- |
|
- |
|
||||||
# apt_development
|
# apt_development
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
||||||
|
@ -71,7 +73,7 @@ osxcross x86_64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.osxcross --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -G "Unix Makefiles"
|
- cmake -B build.x86_64 --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -DSRB2_SDL2_EXE_NAME=srb2_$CI_PIPELINE_ID
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
@ -79,11 +81,21 @@ osxcross x86_64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.osxcross --keep-going || make --directory=build.osxcross --keep-going
|
- cmake --build build.x86_64 --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# copy config.h
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:copy[collapsed=false]\r\e[0KCopying config.h"
|
||||||
|
- mkdir --parents --verbose build.x86_64/dist
|
||||||
|
- cp --reflink=auto --sparse=always --verbose build.x86_64/src/config.h build.x86_64/dist/x86_64.h
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:copy\r\e[0K"
|
||||||
|
|
||||||
|
|
||||||
after_script:
|
after_script:
|
||||||
- - |
|
- - |
|
||||||
# apt_clean
|
# apt_clean
|
||||||
|
|
67
.gitlab/ci/jobs/osxccross-universal.yml
Normal file
67
.gitlab/ci/jobs/osxccross-universal.yml
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
osxcross universal:
|
||||||
|
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:stable
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- osxcross arm64
|
||||||
|
- osxcross x86_64
|
||||||
|
needs:
|
||||||
|
- job: osxcross arm64
|
||||||
|
- job: osxcross x86_64
|
||||||
|
|
||||||
|
stage: osxcross
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "dist/bin"
|
||||||
|
- "dist/src"
|
||||||
|
expose_as: "Mac Universal"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-lipo-apple-darwin21.4"
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# mkdir
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:mkdir[collapsed=true]\r\e[0KMaking dist folder"
|
||||||
|
mkdir --parents --verbose dist/src dist/bin
|
||||||
|
- |
|
||||||
|
# mkdir
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:mkdir\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# copy-config
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:x86_64-config[collapsed=true]\r\e[0KCopying x86_64 config"
|
||||||
|
- cp --reflink=auto --sparse=always --verbose --target-directory=dist/src/ build.*/dist/*.h
|
||||||
|
- |
|
||||||
|
# x86_64-config
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:x86_64-config\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# copy-build
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:copy-build[collapsed=true]\r\e[0KCopying ALL build"
|
||||||
|
- cp --reflink=auto --sparse=always --recursive --verbose --target-directory=dist/ build.*/bin/
|
||||||
|
- |
|
||||||
|
# copy-build
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:copy-build\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# link-build
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:link-build[collapsed=true]\r\e[0KLinking universal build"
|
||||||
|
- lipo -create -output dist/bin/srb2_$CI_PIPELINE_ID.app/Contents/MacOS/srb2_$CI_PIPELINE_ID build.*/bin/srb2_$CI_PIPELINE_ID.app/Contents/MacOS/srb2_$CI_PIPELINE_ID
|
||||||
|
- |
|
||||||
|
# universal-build
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:link-build\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# arm64-verify
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:arm64-verify[collapsed=true]\r\e[0KVerifying arm64"
|
||||||
|
- lipo dist/bin/srb2_$CI_PIPELINE_ID.app/Contents/MacOS/srb2_$CI_PIPELINE_ID -verify_arch arm64
|
||||||
|
- |
|
||||||
|
# arm64-verify
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:arm64-verify\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# x86_64-verify
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:x86_64-verify[collapsed=true]\r\e[0KVerifying x86_64"
|
||||||
|
- lipo dist/bin/srb2_$CI_PIPELINE_ID.app/Contents/MacOS/srb2_$CI_PIPELINE_ID -verify_arch x86_64
|
||||||
|
- |
|
||||||
|
# x86_64-verify
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:x86_64-verify\r\e[0K"
|
|
@ -7,6 +7,30 @@ Windows x64:
|
||||||
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
|
cache:
|
||||||
|
- key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG
|
||||||
|
fallback_keys:
|
||||||
|
- ccache-$CI_JOB_NAME_SLUG-$CI_DEFAULT_BRANCH
|
||||||
|
- ccache-$CI_JOB_NAME_SLUG-master
|
||||||
|
paths:
|
||||||
|
- build/ccache
|
||||||
|
- build/ccache_statslog
|
||||||
|
|
||||||
|
- key: apt-$CI_JOB_IMAGE
|
||||||
|
paths:
|
||||||
|
- build/apt-cache
|
||||||
|
unprotect: true
|
||||||
|
|
||||||
|
- key: vcpkg-root
|
||||||
|
paths:
|
||||||
|
- build/vcpkg-root
|
||||||
|
unprotect: true
|
||||||
|
|
||||||
|
- key: vcpkg-binary-cache-x64-mingw-static
|
||||||
|
paths:
|
||||||
|
- build/vcpkg-binary-cache
|
||||||
|
unprotect: true
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- "build.cmake/bin/"
|
- "build.cmake/bin/"
|
||||||
|
@ -16,8 +40,31 @@ Windows x64:
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
PREFIX: x86_64-w64-mingw32
|
PREFIX: x86_64-w64-mingw32
|
||||||
|
CC: /usr/lib/ccache/x86_64-w64-mingw32-gcc
|
||||||
|
CXX: /usr/lib/ccache/x86_64-w64-mingw32-g++
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- |
|
||||||
|
# vcpkg
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:vcpkg-root[collapsed=true]\r\e[0KUpdating vcpkg"
|
||||||
|
|
||||||
|
if [ -d "build/vcpkg-root" ]; then
|
||||||
|
pushd build/vcpkg-root
|
||||||
|
git fetch https://github.com/Microsoft/vcpkg master
|
||||||
|
git reset --hard FETCH_HEAD
|
||||||
|
popd
|
||||||
|
else
|
||||||
|
mkdir -p build
|
||||||
|
git clone https://github.com/Microsoft/vcpkg build/vcpkg-root
|
||||||
|
fi
|
||||||
|
|
||||||
|
export VCPKG_ROOT=$(pwd)/build/vcpkg-root
|
||||||
|
export VCPKG_BINARY_SOURCES="clear;files,/opt/vcpkg.bsources,read;files,$(pwd)/build/vcpkg-binary-cache,readwrite"
|
||||||
|
|
||||||
|
mkdir -p "build/vcpkg-binary-cache"
|
||||||
|
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:vcpkg-root\r\e[0K"
|
||||||
|
|
||||||
- - |
|
- - |
|
||||||
# apt_toolchain
|
# apt_toolchain
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
||||||
|
@ -37,7 +84,7 @@ Windows x64:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
- cmake -B build.cmake -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-mingw-static -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/toolchains/mingw.cmake
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=NO -DSRB2_CONFIG_ERRORMODE=ON -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-mingw-static -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/toolchains/mingw.cmake -G "Unix Makefiles"
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -45,7 +92,37 @@ Windows x64:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- make --directory=build.cmake --keep-going || make --directory=build.cmake --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
after_script:
|
||||||
|
- - |
|
||||||
|
# apt_clean
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_clean[collapsed=true]\r\e[0KCleaning of unneeded APT packages"
|
||||||
|
- apt-get autoclean
|
||||||
|
- |
|
||||||
|
# apt_clean
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_clean\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# vcpkg_clean
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:vcpkg_clean[collapsed=true]\r\e[0KCleaning vcpkg-root"
|
||||||
|
|
||||||
|
if [ -d "build/vcpkg-root" ]; then
|
||||||
|
pushd "build/vcpkg-root"
|
||||||
|
git clean -f
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:vcpkg_clean\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# ccache_stats
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
|
||||||
|
- ccache --show-stats
|
||||||
|
- ccache --show-log-stats || true
|
||||||
|
- |
|
||||||
|
# ccahe_stats
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
|
||||||
|
|
|
@ -3,10 +3,6 @@ Windows x86:
|
||||||
|
|
||||||
stage: build
|
stage: build
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG
|
- key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG
|
||||||
fallback_keys:
|
fallback_keys:
|
||||||
|
@ -33,15 +29,15 @@ Windows x86:
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- "build/ninja-x86_mingw_static_vcpkg-debug/bin/"
|
- "build.cmake/bin/"
|
||||||
- "build/ninja-x86_mingw_static_vcpkg-debug/src/config.h"
|
- "build.cmake/src/config.h"
|
||||||
expose_as: "Win32"
|
expose_as: "Win32"
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win32"
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win32"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
PREFIX: i686-w64-mingw32
|
PREFIX: i686-w64-mingw32
|
||||||
CC: /usr/bin/i686-w64-mingw32-gcc-posix
|
CC: /usr/lib/ccache/i686-w64-mingw32-gcc
|
||||||
CXX: /usr/bin/i686-w64-mingw32-g++-posix
|
CXX: /usr/lib/ccache/i686-w64-mingw32-g++
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
|
@ -59,7 +55,7 @@ Windows x86:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export VCPKG_ROOT=$(pwd)/build/vcpkg-root
|
export VCPKG_ROOT=$(pwd)/build/vcpkg-root
|
||||||
export VCPKG_BINARY_SOURCES="clear;files,$(pwd)/build/vcpkg-binary-cache,readwrite"
|
export VCPKG_BINARY_SOURCES="clear;files,/opt/vcpkg.bsources,read;files,$(pwd)/build/vcpkg-binary-cache,readwrite"
|
||||||
|
|
||||||
mkdir -p "build/vcpkg-binary-cache"
|
mkdir -p "build/vcpkg-binary-cache"
|
||||||
|
|
||||||
|
@ -84,9 +80,7 @@ Windows x86:
|
||||||
- - |
|
- - |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
# cmake
|
- cmake -B build.cmake -DSRB2_USE_CCACHE=NO -DSRB2_CONFIG_ERRORMODE=ON -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-mingw-static -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/toolchains/mingw.cmake -G "Unix Makefiles"
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
|
||||||
- cmake --preset ninja-x86_mingw_static_vcpkg-debug -G "Unix Makefiles" -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
|
|
||||||
- |
|
- |
|
||||||
# cmake
|
# cmake
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
@ -94,7 +88,7 @@ Windows x86:
|
||||||
- - |
|
- - |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
- cmake --build --preset ninja-x86_mingw_static_vcpkg-debug --parallel 1 -- --keep-going || cmake --build --preset ninja-x86_mingw_static_vcpkg-debug --parallel 1 -- --keep-going
|
- cmake --build build.cmake --parallel 1 --verbose
|
||||||
- |
|
- |
|
||||||
# make
|
# make
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
|
@ -464,8 +464,13 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(TARGET miniupnpc::miniupnpc)
|
if(TARGET miniupnpc::miniupnpc)
|
||||||
target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_MINIUPNPC)
|
if("${VCPKG_TARGET_TRIPLET}" MATCHES "-mingw-static$")
|
||||||
target_link_libraries(SRB2SDL2 PRIVATE miniupnpc::miniupnpc)
|
target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_MINIUPNPC -DMINIUPNP_STATICLIB)
|
||||||
|
target_link_libraries(SRB2SDL2 PRIVATE miniupnpc::miniupnpc -liphlpapi)
|
||||||
|
else()
|
||||||
|
target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_MINIUPNPC)
|
||||||
|
target_link_libraries(SRB2SDL2 PRIVATE miniupnpc::miniupnpc)
|
||||||
|
endif()
|
||||||
message(STATUS "miniupnpc Found")
|
message(STATUS "miniupnpc Found")
|
||||||
else()
|
else()
|
||||||
message(STATUS "No miniupnpc Found")
|
message(STATUS "No miniupnpc Found")
|
||||||
|
|
|
@ -3892,6 +3892,9 @@ void M_Ticker(void)
|
||||||
M_SetupScreenshotMenu();
|
M_SetupScreenshotMenu();
|
||||||
|
|
||||||
#if defined (MASTERSERVER) && defined (HAVE_THREADS)
|
#if defined (MASTERSERVER) && defined (HAVE_THREADS)
|
||||||
|
if (!netgame)
|
||||||
|
return;
|
||||||
|
|
||||||
I_lock_mutex(&ms_ServerList_mutex);
|
I_lock_mutex(&ms_ServerList_mutex);
|
||||||
{
|
{
|
||||||
if (ms_ServerList)
|
if (ms_ServerList)
|
||||||
|
|
|
@ -63,7 +63,11 @@ consvar_t cv_masterserver_token = CVAR_INIT
|
||||||
|
|
||||||
static int hms_started;
|
static int hms_started;
|
||||||
|
|
||||||
|
static boolean hms_args_checked;
|
||||||
|
#ifndef NO_IPV6
|
||||||
static boolean hms_allow_ipv6;
|
static boolean hms_allow_ipv6;
|
||||||
|
#endif
|
||||||
|
static boolean hms_allow_ipv4;
|
||||||
|
|
||||||
static char *hms_api;
|
static char *hms_api;
|
||||||
#ifdef HAVE_THREADS
|
#ifdef HAVE_THREADS
|
||||||
|
@ -134,6 +138,18 @@ HMS_on_read (char *s, size_t _1, size_t n, void *userdata)
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void HMS_check_args_once(void)
|
||||||
|
{
|
||||||
|
if (hms_args_checked)
|
||||||
|
return;
|
||||||
|
|
||||||
|
#ifndef NO_IPV6
|
||||||
|
hms_allow_ipv6 = !M_CheckParm("-noipv6");
|
||||||
|
#endif
|
||||||
|
hms_allow_ipv4 = !M_CheckParm("-noipv4");
|
||||||
|
hms_args_checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
FUNCDEBUG static struct HMS_buffer *
|
FUNCDEBUG static struct HMS_buffer *
|
||||||
HMS_connect (int proto, const char *format, ...)
|
HMS_connect (int proto, const char *format, ...)
|
||||||
{
|
{
|
||||||
|
@ -152,7 +168,6 @@ HMS_connect (int proto, const char *format, ...)
|
||||||
|
|
||||||
if (! hms_started)
|
if (! hms_started)
|
||||||
{
|
{
|
||||||
hms_allow_ipv6 = !M_CheckParm("-noipv6");
|
|
||||||
if (curl_global_init(CURL_GLOBAL_ALL) != 0)
|
if (curl_global_init(CURL_GLOBAL_ALL) != 0)
|
||||||
{
|
{
|
||||||
Contact_error();
|
Contact_error();
|
||||||
|
@ -225,20 +240,27 @@ HMS_connect (int proto, const char *format, ...)
|
||||||
curl_easy_setopt(curl, CURLOPT_STDERR, logstream);
|
curl_easy_setopt(curl, CURLOPT_STDERR, logstream);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (M_CheckParm("-bindaddr") && M_IsNextParm())
|
|
||||||
{
|
|
||||||
curl_easy_setopt(curl, CURLOPT_INTERFACE, M_GetNextParm());
|
|
||||||
}
|
|
||||||
|
|
||||||
curl_easy_setopt(curl, CURLOPT_URL, url);
|
curl_easy_setopt(curl, CURLOPT_URL, url);
|
||||||
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
|
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
|
||||||
|
|
||||||
#ifndef NO_IPV6
|
#ifndef NO_IPV6
|
||||||
if (proto == PROTO_V6)
|
if (proto == PROTO_V6 || (proto == PROTO_ANY && !hms_allow_ipv4))
|
||||||
|
{
|
||||||
curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
|
curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
|
||||||
if (proto == PROTO_V4)
|
if (M_CheckParm("-bindaddr6") && M_IsNextParm())
|
||||||
|
{
|
||||||
|
curl_easy_setopt(curl, CURLOPT_INTERFACE, M_GetNextParm());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (proto == PROTO_V4 || (proto == PROTO_ANY && !hms_allow_ipv6))
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
|
curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
|
||||||
|
if (M_CheckParm("-bindaddr") && M_IsNextParm())
|
||||||
|
{
|
||||||
|
curl_easy_setopt(curl, CURLOPT_INTERFACE, M_GetNextParm());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
curl_easy_setopt(curl, CURLOPT_TIMEOUT, cv_masterserver_timeout.value);
|
curl_easy_setopt(curl, CURLOPT_TIMEOUT, cv_masterserver_timeout.value);
|
||||||
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, HMS_on_read);
|
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, HMS_on_read);
|
||||||
|
@ -326,6 +348,8 @@ HMS_fetch_rooms (int joining, int query_id)
|
||||||
|
|
||||||
(void)query_id;
|
(void)query_id;
|
||||||
|
|
||||||
|
HMS_check_args_once();
|
||||||
|
|
||||||
hms = HMS_connect(PROTO_ANY, "rooms");
|
hms = HMS_connect(PROTO_ANY, "rooms");
|
||||||
|
|
||||||
if (! hms)
|
if (! hms)
|
||||||
|
@ -420,18 +444,15 @@ int
|
||||||
HMS_register (void)
|
HMS_register (void)
|
||||||
{
|
{
|
||||||
struct HMS_buffer *hms;
|
struct HMS_buffer *hms;
|
||||||
int ok;
|
int ok = 0;
|
||||||
|
|
||||||
char post[256];
|
char post[256];
|
||||||
|
|
||||||
char *title;
|
char *title;
|
||||||
|
|
||||||
hms = HMS_connect(PROTO_V4, "rooms/%d/register", cv_masterserver_room_id.value);
|
HMS_check_args_once();
|
||||||
|
|
||||||
if (! hms)
|
title = curl_easy_escape(NULL, cv_servername.string, 0);
|
||||||
return 0;
|
|
||||||
|
|
||||||
title = curl_easy_escape(hms->curl, cv_servername.string, 0);
|
|
||||||
|
|
||||||
snprintf(post, sizeof post,
|
snprintf(post, sizeof post,
|
||||||
"port=%d&"
|
"port=%d&"
|
||||||
|
@ -447,16 +468,24 @@ HMS_register (void)
|
||||||
|
|
||||||
curl_free(title);
|
curl_free(title);
|
||||||
|
|
||||||
curl_easy_setopt(hms->curl, CURLOPT_POSTFIELDS, post);
|
if (hms_allow_ipv4)
|
||||||
|
|
||||||
ok = HMS_do(hms);
|
|
||||||
|
|
||||||
if (ok)
|
|
||||||
{
|
{
|
||||||
hms_server_token = strdup(strtok(hms->buffer, "\n"));
|
hms = HMS_connect(PROTO_V4, "rooms/%d/register", cv_masterserver_room_id.value);
|
||||||
}
|
|
||||||
|
|
||||||
HMS_end(hms);
|
if (! hms)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
curl_easy_setopt(hms->curl, CURLOPT_POSTFIELDS, post);
|
||||||
|
|
||||||
|
ok = HMS_do(hms);
|
||||||
|
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
hms_server_token = strdup(strtok(hms->buffer, "\n"));
|
||||||
|
}
|
||||||
|
|
||||||
|
HMS_end(hms);
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef NO_IPV6
|
#ifndef NO_IPV6
|
||||||
if (!hms_allow_ipv6)
|
if (!hms_allow_ipv6)
|
||||||
|
@ -488,7 +517,9 @@ HMS_unlist (void)
|
||||||
struct HMS_buffer *hms;
|
struct HMS_buffer *hms;
|
||||||
int ok = 0;
|
int ok = 0;
|
||||||
|
|
||||||
if (hms_server_token)
|
HMS_check_args_once();
|
||||||
|
|
||||||
|
if (hms_server_token && hms_allow_ipv4)
|
||||||
{
|
{
|
||||||
hms = HMS_connect(PROTO_V4, "servers/%s/unlist", hms_server_token);
|
hms = HMS_connect(PROTO_V4, "servers/%s/unlist", hms_server_token);
|
||||||
|
|
||||||
|
@ -535,6 +566,7 @@ HMS_update (void)
|
||||||
|
|
||||||
char *title;
|
char *title;
|
||||||
|
|
||||||
|
HMS_check_args_once();
|
||||||
title = curl_easy_escape(NULL, cv_servername.string, 0);
|
title = curl_easy_escape(NULL, cv_servername.string, 0);
|
||||||
|
|
||||||
snprintf(post, sizeof post,
|
snprintf(post, sizeof post,
|
||||||
|
@ -544,7 +576,7 @@ HMS_update (void)
|
||||||
|
|
||||||
curl_free(title);
|
curl_free(title);
|
||||||
|
|
||||||
if (hms_server_token)
|
if (hms_server_token && hms_allow_ipv4)
|
||||||
{
|
{
|
||||||
hms = HMS_connect(PROTO_V4, "servers/%s/update", hms_server_token);
|
hms = HMS_connect(PROTO_V4, "servers/%s/update", hms_server_token);
|
||||||
|
|
||||||
|
@ -583,6 +615,8 @@ HMS_list_servers (void)
|
||||||
char *list;
|
char *list;
|
||||||
char *p;
|
char *p;
|
||||||
|
|
||||||
|
HMS_check_args_once();
|
||||||
|
|
||||||
hms = HMS_connect(PROTO_ANY, "servers");
|
hms = HMS_connect(PROTO_ANY, "servers");
|
||||||
|
|
||||||
if (! hms)
|
if (! hms)
|
||||||
|
@ -628,6 +662,8 @@ HMS_fetch_servers (msg_server_t *list, int room_number, int query_id)
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
HMS_check_args_once();
|
||||||
|
|
||||||
(void)query_id;
|
(void)query_id;
|
||||||
|
|
||||||
if (room_number > 0)
|
if (room_number > 0)
|
||||||
|
@ -739,6 +775,8 @@ HMS_compare_mod_version (char *buffer, size_t buffer_size)
|
||||||
char *version;
|
char *version;
|
||||||
char *version_name;
|
char *version_name;
|
||||||
|
|
||||||
|
HMS_check_args_once();
|
||||||
|
|
||||||
hms = HMS_connect(PROTO_ANY, "versions/%d", MODID);
|
hms = HMS_connect(PROTO_ANY, "versions/%d", MODID);
|
||||||
|
|
||||||
if (! hms)
|
if (! hms)
|
||||||
|
|
|
@ -702,9 +702,13 @@ static void SOCK_Send(void)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
c = SOCK_SendToAddr(nodesocket[doomcom->remotenode], &clientaddress[doomcom->remotenode]);
|
c = SOCK_SendToAddr(nodesocket[doomcom->remotenode], &clientaddress[doomcom->remotenode]);
|
||||||
|
if (c == ERRSOCKET)
|
||||||
|
{
|
||||||
|
e = errno;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c == ERRSOCKET)
|
if (c == ERRSOCKET && e != -1) // -1 means no socket for the address family was found
|
||||||
{
|
{
|
||||||
if (!ALLOWEDERROR(e))
|
if (!ALLOWEDERROR(e))
|
||||||
I_Error("SOCK_Send, error sending to node %d (%s) #%u, %s", doomcom->remotenode,
|
I_Error("SOCK_Send, error sending to node %d (%s) #%u, %s", doomcom->remotenode,
|
||||||
|
@ -933,6 +937,7 @@ static boolean UDP_Socket(void)
|
||||||
#ifdef HAVE_IPV6
|
#ifdef HAVE_IPV6
|
||||||
const INT32 b_ipv6 = !M_CheckParm("-noipv6");
|
const INT32 b_ipv6 = !M_CheckParm("-noipv6");
|
||||||
#endif
|
#endif
|
||||||
|
const INT32 b_ipv4 = !M_CheckParm("-noipv4");
|
||||||
const char *serv;
|
const char *serv;
|
||||||
|
|
||||||
|
|
||||||
|
@ -960,11 +965,33 @@ static boolean UDP_Socket(void)
|
||||||
else
|
else
|
||||||
serv = clientport_name;
|
serv = clientport_name;
|
||||||
|
|
||||||
if (M_CheckParm("-bindaddr"))
|
if (b_ipv4)
|
||||||
{
|
{
|
||||||
while (M_IsNextParm())
|
if (M_CheckParm("-bindaddr"))
|
||||||
{
|
{
|
||||||
gaie = I_getaddrinfo(M_GetNextParm(), serv, &hints, &ai);
|
while (M_IsNextParm())
|
||||||
|
{
|
||||||
|
gaie = I_getaddrinfo(M_GetNextParm(), serv, &hints, &ai);
|
||||||
|
if (gaie == 0)
|
||||||
|
{
|
||||||
|
runp = ai;
|
||||||
|
while (runp != NULL && s < MAXNETNODES+1)
|
||||||
|
{
|
||||||
|
mysockets[s] = UDP_Bind(runp->ai_family, runp->ai_addr, (socklen_t)runp->ai_addrlen);
|
||||||
|
if (mysockets[s] != (SOCKET_TYPE)ERRSOCKET)
|
||||||
|
{
|
||||||
|
myfamily[s] = hints.ai_family;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
runp = runp->ai_next;
|
||||||
|
}
|
||||||
|
I_freeaddrinfo(ai);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gaie = I_getaddrinfo("0.0.0.0", serv, &hints, &ai);
|
||||||
if (gaie == 0)
|
if (gaie == 0)
|
||||||
{
|
{
|
||||||
runp = ai;
|
runp = ai;
|
||||||
|
@ -975,6 +1002,13 @@ static boolean UDP_Socket(void)
|
||||||
{
|
{
|
||||||
myfamily[s] = hints.ai_family;
|
myfamily[s] = hints.ai_family;
|
||||||
s++;
|
s++;
|
||||||
|
#ifdef HAVE_MINIUPNPC
|
||||||
|
if (UPNP_support)
|
||||||
|
{
|
||||||
|
I_UPnP_rem(serverport_name, "UDP");
|
||||||
|
I_UPnP_add(NULL, serverport_name, "UDP");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
runp = runp->ai_next;
|
runp = runp->ai_next;
|
||||||
}
|
}
|
||||||
|
@ -982,32 +1016,6 @@ static boolean UDP_Socket(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
gaie = I_getaddrinfo("0.0.0.0", serv, &hints, &ai);
|
|
||||||
if (gaie == 0)
|
|
||||||
{
|
|
||||||
runp = ai;
|
|
||||||
while (runp != NULL && s < MAXNETNODES+1)
|
|
||||||
{
|
|
||||||
mysockets[s] = UDP_Bind(runp->ai_family, runp->ai_addr, (socklen_t)runp->ai_addrlen);
|
|
||||||
if (mysockets[s] != (SOCKET_TYPE)ERRSOCKET)
|
|
||||||
{
|
|
||||||
myfamily[s] = hints.ai_family;
|
|
||||||
s++;
|
|
||||||
#ifdef HAVE_MINIUPNPC
|
|
||||||
if (UPNP_support)
|
|
||||||
{
|
|
||||||
I_UPnP_rem(serverport_name, "UDP");
|
|
||||||
I_UPnP_add(NULL, serverport_name, "UDP");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
runp = runp->ai_next;
|
|
||||||
}
|
|
||||||
I_freeaddrinfo(ai);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifdef HAVE_IPV6
|
#ifdef HAVE_IPV6
|
||||||
if (b_ipv6)
|
if (b_ipv6)
|
||||||
{
|
{
|
||||||
|
@ -1072,11 +1080,14 @@ static boolean UDP_Socket(void)
|
||||||
|
|
||||||
s = 0;
|
s = 0;
|
||||||
|
|
||||||
// setup broadcast adress to BROADCASTADDR entry
|
if (b_ipv4)
|
||||||
broadcastaddress[s].any.sa_family = AF_INET;
|
{
|
||||||
broadcastaddress[s].ip4.sin_port = htons(atoi(DEFAULTPORT));
|
// setup broadcast adress to BROADCASTADDR entry
|
||||||
broadcastaddress[s].ip4.sin_addr.s_addr = htonl(INADDR_BROADCAST);
|
broadcastaddress[s].any.sa_family = AF_INET;
|
||||||
s++;
|
broadcastaddress[s].ip4.sin_port = htons(atoi(DEFAULTPORT));
|
||||||
|
broadcastaddress[s].ip4.sin_addr.s_addr = htonl(INADDR_BROADCAST);
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_IPV6
|
#ifdef HAVE_IPV6
|
||||||
if (b_ipv6)
|
if (b_ipv6)
|
||||||
|
@ -1205,7 +1216,7 @@ static SINT8 SOCK_NetMakeNodewPort(const char *address, const char *port)
|
||||||
DEBFILE(va("Creating new node: %s@%s\n", address, port));
|
DEBFILE(va("Creating new node: %s@%s\n", address, port));
|
||||||
|
|
||||||
memset (&hints, 0x00, sizeof (hints));
|
memset (&hints, 0x00, sizeof (hints));
|
||||||
hints.ai_flags = 0;
|
hints.ai_flags = AI_ADDRCONFIG;
|
||||||
hints.ai_family = AF_UNSPEC;
|
hints.ai_family = AF_UNSPEC;
|
||||||
hints.ai_socktype = SOCK_DGRAM;
|
hints.ai_socktype = SOCK_DGRAM;
|
||||||
hints.ai_protocol = IPPROTO_UDP;
|
hints.ai_protocol = IPPROTO_UDP;
|
||||||
|
@ -1235,7 +1246,7 @@ static SINT8 SOCK_NetMakeNodewPort(const char *address, const char *port)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i < mysocketses)
|
if (i >= mysocketses)
|
||||||
runp = runp->ai_next;
|
runp = runp->ai_next;
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue