build: update warning-cleanup submodule pins

This commit is contained in:
Mario Fetka
2026-06-22 08:09:51 +02:00
parent 0ada257fae
commit 697e53df8b
4 changed files with 20 additions and 21 deletions

35
AI.md
View File

@@ -46,7 +46,7 @@ unfinished work out of `TODO.md` merely because its architecture is documented.
Latest commit after this handoff refresh in an up-to-date tree:
- `nwnss: remove src/nwnss include/nwnss tests/nwnss tree`
- `build: update warning-cleanup submodule pins`
Compare `git log -1 --format="%s"` with this subject. If the tree is older,
check which documentation/import-boundary commits are missing and replay them
@@ -54,27 +54,26 @@ before starting new work.
## Current patch handoff block
Last completed work block: **Remove libnwnss from src/include/tests; prepare for root-level NSS re-import**
Last completed work block: **Clean GCC 15 build warnings in maintained submodules**
The former `src/nwnss/`, `include/nwnss/` and `tests/nwnss/` tree has been
removed. The `mars_nwe::nwnss` CMake target, the `MARS_NWE_BUILD_NWNSS_FUSE_TOOLS`
option and all associated CTest entries are gone. NSS sources will be
re-imported directly under a root-level `nss/` tree in the next step.
Three maintained mars-* submodules were updated and pushed, then the root
gitlinks were advanced with `update-submodules.sh`:
The companion-file rules remain in force for the re-import:
- `directory` / mars-tinyldap: guard local `_GNU_SOURCE` definitions so the root
CMake compile definition does not trigger duplicate macro warnings.
- `third_party/flaim` / mars-flaim: remove obsolete C++ `register` use, format
dynamic printf buffers safely, and make static month string tables const.
- `third_party/matrixssl` / mars-matrixssl: remove misleading fixed-size array
annotations from pointer-style TLS/crypto APIs that confused GCC 15, guard
the `LINUX` platform macro, and fix ECDSA signature length byte packing.
- Imported original NSS files stay as original-like as possible.
- `*Userspace.c` / `*Userspace.h` for libnwfs/Mars/OtherFS/HostFS adapter boundaries.
- `*Fuse.c` / `*Fuse.h` for FUSE/nwnssmount-facing provider callbacks.
- `*Io.c` / `*Io.h` for concrete Linux pread/pwrite block/image I/O.
- `*Runtime.c` / `*Runtime.h` for NSS runtime/cache/workqueue semantics.
- Shared helpers use `Nss*` file/symbol names.
- Do not use global `read`/`write` macros; userspace block I/O goes through `zlssBioIO*` only.
The real GitHub-pinned external submodules (`yyjson`, `termbox2`, `iniparser`)
were not modified.
Build/test expectation: the uploaded `ncpfs-2.2.7.tar.gz` is part of the local
dependency set and can be built when full build targets need `libncp`. Separate
build/link success and offline NSS unit tests from server-dependent integration
CTests.
Verification used the out-of-tree build directory
`/home/mario/mars/mars-nwe-build`: final `cmake --build` log had no
`warning:`/`error:` lines, and `ctest --test-dir /home/mario/mars/mars-nwe-build
-LE networked --output-on-failure` passed all 9 offline tests.
## Next import/use-case direction