forked from Ports/goldeneye-pc-port
linux-build: -std=gnu extensions + fix remaining snprintf decls
- CMakeLists: CMAKE_C_EXTENSIONS/CXX_EXTENSIONS ON. Strict -std=c11/c++20
define __STRICT_ANSI__, which disables glibc _DEFAULT_SOURCE and hides
clock_gettime(CLOCK_REALTIME) etc. that port/src/libultra.c needs.
-std=gnu11/gnu++20 is GCC's default and what MinGW already used.
- port/src/{pccg,pcmodels,romdata}.c: local 'extern int snprintf(...,
unsigned long long maxsize, ...)' decls conflict with glibc's size_t one
(same bug already fixed in pc_protos.h in M-39); spell it size_t.
- libultra.c: drop the _GNU_SOURCE define (pulls cpu_set_t refs into
<pthread.h> without <sched.h>); the D60 POSIX stack-bounds diagnostic
now just prints n/a rather than needing pthread_getattr_np.
Windows: full rebuild 240/241, -level_09 crash-free past frame 1740.
This commit is contained in:
1 parent
59751d608c
commit
7c3bb42687
6 files changed
+13
-24
No files matched your search
+6
-2
@@ -52,9 +52,13 @@ include(TargetArch)
|
||||
include(FindPkgConfig)
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_EXTENSIONS OFF)
|
||||
# GNU extensions ON: strict -std=c11/-std=c++20 define __STRICT_ANSI__, which
|
||||
# disables glibc's _DEFAULT_SOURCE and hides POSIX symbols the port needs
|
||||
# (clock_gettime/CLOCK_REALTIME in port/src/libultra.c, mmap flags, etc.).
|
||||
# -std=gnu11/gnu++20 is GCC's own default and what MinGW was already using.
|
||||
set(CMAKE_C_EXTENSIONS ON)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_EXTENSIONS ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# Default build type
|
||||
|
||||
Reference in new issue
Block a user