0515 doc: fold internal bundled dependencies into owning libraries
All checks were successful
Source release / source-package (push) Successful in 1m23s
All checks were successful
Source release / source-package (push) Successful in 1m23s
This commit is contained in:
@@ -19,13 +19,15 @@ which imported helpers are only low-level dependencies.
|
||||
|
||||
## Wrapped or vendored third-party libraries
|
||||
|
||||
These pages document third-party libraries that are useful project-facing
|
||||
surfaces or long-lived wrapped dependencies. Some vendored packages are
|
||||
intentionally documented under their owning Mars library instead of receiving a
|
||||
standalone public page. For example, iniparser and Unicode tables are internal
|
||||
`nwcore` details, and termbox2 is an internal `nwtui` backend.
|
||||
|
||||
- [nwowfat](nwowfat/README.md): bundled libowfat support library.
|
||||
- [nwmatrixssl](nwmatrixssl/README.md): bundled MatrixSSL TLS implementation.
|
||||
- [nwlibsodium](nwlibsodium/README.md): bundled libsodium cryptographic primitives.
|
||||
- [nwiniparser](nwiniparser/README.md): bundled INI parser used below the Mars INI wrapper.
|
||||
- [nwyyjson](nwyyjson/README.md): bundled yyjson parser.
|
||||
- [nwtermbox2](nwtermbox2/README.md): bundled terminal UI backend.
|
||||
- [nwunicode-tables](nwunicode-tables/README.md): generated/imported Unicode conversion tables.
|
||||
|
||||
## Naming rule
|
||||
|
||||
|
||||
@@ -30,6 +30,10 @@ These APIs are Mars-owned and may be used directly by Mars code:
|
||||
- `ini.h`
|
||||
- `spinlock.h`
|
||||
|
||||
`ini.h` is the public Mars INI API. The bundled iniparser sources are an
|
||||
implementation detail below that wrapper and should not be called directly from
|
||||
new Mars code.
|
||||
|
||||
## Imported NSS core runtime
|
||||
|
||||
The following NSS runtime groups are currently imported and built into
|
||||
@@ -48,6 +52,9 @@ The following NSS runtime groups are currently imported and built into
|
||||
- `library/debug`: NSS production debug output base.
|
||||
- `library/misc`: registration, version display and histogram helpers.
|
||||
- `library/guid`, `library/id`, `library/utc`, `library/unicode`.
|
||||
- `third_party/unicodeTables`: table data used by the `nwcore` Unicode
|
||||
conversion runtime. New code should use the `nwcore` Unicode APIs, not the
|
||||
table generator or table data directly.
|
||||
- `nss/lib`: NSS bitmap, CRC and hash support.
|
||||
- `sharedsrc`: NSS shared source include fragments used by small translation
|
||||
units such as `uni2utf.c` and `utf2uni.c`.
|
||||
@@ -70,3 +77,16 @@ so.
|
||||
NSS imports should keep original filenames and directory shape where practical.
|
||||
Only minimal Linux-userspace fixes should be applied. Large fake wrappers should
|
||||
not be added when a real NSS implementation exists.
|
||||
|
||||
## Internal bundled dependencies
|
||||
|
||||
The following bundled packages currently support `nwcore` but are not public
|
||||
Mars library APIs:
|
||||
|
||||
- `third_party/iniparser`: backing implementation for the Mars `ini.h` wrapper.
|
||||
- `third_party/unicodeTables`: generated/imported table data for the NSS/Mars
|
||||
Unicode conversion layer.
|
||||
|
||||
Keep these dependencies hidden behind `nwcore` APIs. If another component needs
|
||||
configuration parsing or Unicode conversion, extend/document the `nwcore` API
|
||||
instead of reaching into the bundled package directly.
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
# nwiniparser
|
||||
|
||||
`nwiniparser` documents the bundled iniparser source under
|
||||
`third_party/iniparser`.
|
||||
|
||||
Mars code should normally use the `nwcore` INI wrapper from `ini.h`. Direct use
|
||||
of iniparser should stay inside the wrapper or tightly scoped compatibility
|
||||
code.
|
||||
@@ -1,7 +0,0 @@
|
||||
# nwtermbox2
|
||||
|
||||
`nwtermbox2` documents the bundled termbox2 backend under `third_party/termbox2`.
|
||||
|
||||
Project tools should prefer `nwtui` as the public terminal abstraction.
|
||||
Direct termbox2 calls should stay inside `nwtui` unless a lower-level terminal
|
||||
backend feature is intentionally required.
|
||||
@@ -1,8 +1,13 @@
|
||||
# nwtui
|
||||
|
||||
`nwtui` is the Mars terminal UI helper library. It provides the project-facing
|
||||
terminal abstraction and uses the bundled `nwtermbox2` backend.
|
||||
terminal abstraction and uses the bundled termbox2 backend.
|
||||
|
||||
Use `nwtui` from Mars tools that need terminal interaction. Do not call the
|
||||
termbox2 backend directly from new higher-level code unless the `nwtui` API is
|
||||
missing the required operation.
|
||||
Use `nwtui` from Mars tools that need terminal interaction. Do not call
|
||||
termbox2 directly from new higher-level code. If a terminal feature is missing,
|
||||
extend the `nwtui` wrapper and keep backend details below that API.
|
||||
|
||||
## Internal backend
|
||||
|
||||
- `third_party/termbox2`: backend implementation detail for `nwtui`. It is not
|
||||
a public Mars library API.
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
# nwunicode-tables
|
||||
|
||||
`nwunicode-tables` documents the Unicode conversion table support under
|
||||
`third_party/unicodeTables` and the NSS Unicode runtime imported into `nwcore`.
|
||||
|
||||
The table library provides data used by `nwcore` Unicode conversion helpers.
|
||||
New Mars code should use the `nwcore` Unicode APIs instead of reading generated
|
||||
tables directly.
|
||||
@@ -1,6 +0,0 @@
|
||||
# nwyyjson
|
||||
|
||||
`nwyyjson` documents the bundled yyjson parser under `third_party/yyjson`.
|
||||
|
||||
Use the bundled target when JSON parsing is required. Higher-level Mars APIs
|
||||
should hide raw yyjson details where possible.
|
||||
Reference in New Issue
Block a user