frostney / frostney/GocciaScript
Build the libgoccia dynamic library and generated C header
Nobody has claimed this yet.
- Dominant language
- Pascal
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 45
Description
Summary
Add a Pascal dynamic-library target named libgoccia that exports the C ABI from #864, together with a generated goccia.h.
Why
The build currently produces executables only. Foreign hosts need a loadable, versioned library artifact and a header that stays synchronized with its exported symbols.
Current behavior
There is no Pascal library target, exported symbol set, generated C header, ABI version metadata, or release artifact for embedding.
Expected behavior
- Add a Pascal
libraryentry point exporting the #864 functions with the agreed calling convention. - Produce
libgoccia.dylib,libgoccia.so, andlibgoccia.dllon supported platforms. - Generate
goccia.hfrom the canonical ABI definition and verify that header declarations match exports. - Define ABI-major artifact/version conventions, symbol visibility, and runtime lookup/install-name behavior.
- Include the dynamic library and header in release packaging with checksums.
- Validate clean load/unload and repeated engine lifecycle before cross-language tests.
Scope notes
- Depends on #864 and is validated by #866.
- Cross-compilation enabling work is tracked by #238.
- Parent #823.
- Do not emit or document a static-library deliverable.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the canonical ABI definition from #864 and inspect the repository's build and release configuration. Define the Pascal library target, generated goccia.h, artifact/version and symbol conventions, then validate loading and lifecycle behavior before the cross-language checks in #866; done includes platform libraries, header synchronization, release packaging, and checksums.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, build-system, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100