Improve handling of platform-specific build options (#2162)

* Opt into POSIX functions with `_POSIX_C_SOURCE` before any system
  headers are `#include`d
* Allow user to override `make develop`'s `WARNFLAGS` and `CXXFLAGS`
* Use `make develop` on 32-bit Cygwin with sanitizers disabled
* Do not unnecessarily redefine `fseek` and `ftell`
* Disable a false-positive `-Wno-null-dereference` on 32-bit Cygwin

Co-authored-by: ISSOtm <[email protected]>
This commit is contained in:
RangiandISSOtm authored and GitHub committed 2026-09-26 16:31:25 -04:00
1 parent 43bdeb873e
commit b732f59472
23 files changed
+60 -40

No files matched your search

+6 -2
View File
@@ -371,8 +371,12 @@ jobs:
python312-imaging
- name: Build using Make
if: matrix.arch == 'x86'
run: | # Cygwin doesn't support `make develop` sanitizers ASan or UBSan, so we don't use it.
make -k -j "$(getconf _NPROCESSORS_ONLN)" Q=
run: | # Cygwin doesn't support `make develop` sanitizers ASan or UBSan, so we disable them.
: # 32-bit Cygwin stopped updating since 2022-11-23, and its g++ 11.3.0 gives a false
: # positive "potential null pointer dereference" error on `patch.pcOffset -= pcShift;`
: # in src/asm/output.cpp, so we disable that warning option.
make develop -k -j "$(getconf _NPROCESSORS_ONLN)" Q= \
WARNFLAGS="-fno-sanitize=all -Wno-null-dereference"
- name: Install using Make
if: matrix.arch == 'x86'
run: |