Skip to content

Improve native dynlib build integration - #89

Merged
elcritch merged 14 commits into
mainfrom
fix/tasks-updates
Sep 20, 2026
Merged

elcritch merged 14 commits into
mainfrom
fix/tasks-updates

Conversation

@elcritch

@elcritch elcritch commented Sep 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • move native dynlib build configuration into reusable figdraw/build/tasks
  • resolve Figdraw paths from the source location and inherit the active Nim compiler search paths, keeping nested builds independent of the caller working directory and package-manager layout
  • expose staged-artifact checks so downstream config.nims files can build only when needed while the build_dynlib task always forces a rebuild
  • clean the backend-specific native cache before forced builds so orphaned BIF files from another compiler or checkout cannot create duplicate ABI types
  • extend the dynlib facade with managed image handles and renderer atlas/resource operations

Validation

  • nim build_dynlib, including with a stale conflicting Rune BIF injected into the producer cache
  • nim check -d:useNativeDynlib src/merenda/nimkit.nim, with staged dylib and ABI timestamps unchanged
  • atlas-run tests --only-errors tnimkit -- -d:useNativeDynlib in Merenda
  • atlas-run tests --compile-only --only-errors examples/all_compile.nim -- -d:useNativeDynlib in Merenda

@elcritch elcritch changed the title Fix/tasks updates Improve native dynlib build integration Sep 20, 2026
@elcritch
elcritch merged commit 547daa7 into main Sep 20, 2026
8 checks passed
@elcritch
elcritch deleted the fix/tasks-updates branch September 20, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant