44 lines
1.7 KiB
Markdown
44 lines
1.7 KiB
Markdown
# External dependencies in copied format units
|
|
|
|
These references were inherited from the Allfix tree and need to be resolved
|
|
during the format-by-format refactor pass.
|
|
|
|
## ma.fmt.pkt.pas
|
|
|
|
Currently uses: `msgunit`, `netaddrs`, `aftypes`.
|
|
|
|
Needs from `msgunit`:
|
|
- `PktHeader` — 58-byte FTN packet header record
|
|
- `PktRecord` — per-message header record inside a packet
|
|
- `PacketRecord` — high-level parsed message with kludges, address parts,
|
|
flavours, etc.
|
|
- `FlavourType`, `FlavourTypeSet`, `DateTimeArray`
|
|
|
|
Plan:
|
|
- Move `PktHeader` + `PktRecord` into `ma.fmt.pkt.pas` itself (packet-only).
|
|
- Move `PacketRecord`, `FlavourType`, `FlavourTypeSet`, `DateTimeArray`
|
|
into `ma.types.pas` so other backends can use them where needed.
|
|
- Drop the `msgunit` / `netaddrs` / `aftypes` `uses` clauses.
|
|
|
|
## ma.fmt.wildcat.pas + ma.fmt.wcutil.pas
|
|
|
|
Use the WildCat 4 SDK. The SDK source has been copied verbatim into
|
|
`src/wc_sdk/` (formerly `wc_dev/` in Allfix) so this repo can build the
|
|
Wildcat backend without external paths.
|
|
|
|
The SDK pulls in OS/2-era helpers (`Os2Comp`, `DosUtil`, `p_System`,
|
|
`btisbase`, `isamtool`, …). Keeping it on its own search-path entry
|
|
(`-Fusrc/wc_sdk`) means callers that don't need Wildcat can omit the
|
|
backend without forcing the SDK onto the build line.
|
|
|
|
## include.inc
|
|
|
|
Allfix sources start with `{$I include.inc}`. Our copied units no longer
|
|
have that on the search path (we deliberately want the new lib to be
|
|
self-contained). Plan during refactor:
|
|
|
|
- Replace each `{$I include.inc}` with explicit `{$mode objfpc}{$H+}` plus
|
|
any other compiler switches the unit actually needs (most don't need
|
|
more than mode + `$H+`).
|
|
- Drop `WILDCAT4`, `EXECSWAP`, `UNI` and other Allfix-specific defines.
|