Commit Graph

4 Commits

Author SHA1 Message Date
Luke Street 905da94b40 Fix game compile flags on Linux/GCC
There was a conflict with per-target compile flags and the PCH.
The PCH was causing the game code to be built without the inlining
flags actually taking effect (internal `src/dusk` files did not use
them), which caused mods to fail to resolve static functions for
hooks. Fix: split Dusklight internals (`src/dusk/`) into a separate
static library altogether, cleanly allowing us to disable inlining
and patching flags only for internal code while also fixing the PCH
flags issue.

Additionally, this updates symgen to v1.3.4, which includes a fix
for GCC function fragments and specializations getting resolved as
display name aliases, conflicting with the actual functions.

Aurora also updated to include https://github.com/encounter/aurora/pull/244
2026-08-31 17:11:05 -06:00
Luke Street a6f059827b Game ABI / headers refactoring (#2215)
* Game ABI / headers refactoring

* Delete dusk/imgui.h
2026-07-14 19:24:08 -06:00
Luke Street 1bd8682855 Mods: Curate exports and generate link stubs
`symgen exports` replaces -export_dynamic on Apple and curates
Android's dynamic symbols with a version script. `symgen stub` then
emits sdk/stub-{macos,ios,tvos}-<arch>, sdk/stub-android-<arch>.so,
and sdk/windows-<arch>.lib.
2026-07-13 20:57:11 -06:00
Luke Street d2cdbf0a83 Mods: Rework mod linking
Apple: mods are now MH_BUNDLE (.so) linked with -bundle_loader,
replacing the deprecated (on iOS) -undefined dynamic_lookup.

Windows: clang-cl mods link dusklight.exe directly; lld's mingw driver
synthesizes imports from the export table. cl still requires the
import library.
2026-07-13 20:42:57 -06:00