diff --git a/AI.md b/AI.md index 40424fc..caeeb70 100644 --- a/AI.md +++ b/AI.md @@ -47,7 +47,7 @@ unfinished work out of `TODO.md` merely because its architecture is documented. Latest patch marker expected in an up-to-date bundle: -- `0477 build: expose nwssl error helpers for nwwebui` +- `0478 build: expose core include paths to nwfs imports` When a later chat receives a new `mars-nwe-master` bundle, compare `git log -1` with this marker. If the uploaded bundle already contains this commit subject, @@ -67,17 +67,18 @@ The active line is expected to include: Last generated patch: -- `0477 build: expose nwssl error helpers for nwwebui` +- `0478 build: expose core include paths to nwfs imports` Purpose of that patch: -- Keep `nwwebui` on the shared `nwssl`/MatrixSSL compatibility path instead of - adding a direct OpenSSL dependency for TLS error handling. -- Export the small OpenSSL-shaped `ERR_get_error()` and `ERR_error_string_n()` - surface that the SMArT-derived `nwwebui` logging path uses. -- Make MatrixSSL compatibility errors printable through the existing - OpenSSL-shaped error API, so `nwwebui` can compile against `mars_nwe::ssl` and - log TLS failures through `nwlog`. +- Make `nwfs` consume the already-imported `libnwcore` header surface through + normal target usage requirements instead of copying or symlinking core + headers under `include/nwfs`. +- Add the generated build include directory and `include/core` to the `nwfs` + public build interface so adapted NSS namespace files can include core helper + headers directly while still linking against `mars_nwe::core`. +- Keep the NSS-specific SDK/include directories scoped to the namespace import + path that still needs them; do not add another duplicate header staging area. Directory/NDS work order before any FLAIM storage conversion: diff --git a/src/nwfs/CMakeLists.txt b/src/nwfs/CMakeLists.txt index f61641a..61f37a4 100644 --- a/src/nwfs/CMakeLists.txt +++ b/src/nwfs/CMakeLists.txt @@ -22,6 +22,10 @@ set_target_properties(nwfs PROPERTIES target_compile_features(nwfs PRIVATE c_std_99) +target_link_libraries(nwfs + PUBLIC + mars_nwe::core) + # Keep libnwfs quota backends self-contained even though src/CMakeLists.txt # currently applies legacy Linux definitions globally for the old server # executables. The explicit target definitions make the library contract clear @@ -38,6 +42,8 @@ endif() target_include_directories(nwfs PUBLIC "$" + "$" + "$" "$" "$" "$"