mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-04-06 07:38:21 +00:00
Refactor GhosttyLibVt to support both shared and static library builds via a shared initLib helper that accepts a LinkMode. The shared and static entry points (initShared, initStatic) delegate to this common path. For static builds, compiler_rt and ubsan_rt are bundled to avoid undefined symbol errors. Debug symbols (dsymutil) are skipped for static libs since they are not linked. The install artifact uses a "-static" suffix internally but installs as "libghostty-vt.a" via a new installLib method. Wasm is excluded from static builds since it has no meaningful static vs shared distinction.
19 lines
514 B
Markdown
19 lines
514 B
Markdown
# Example: `ghostty-vt` Static Linking
|
|
|
|
This contains a simple example of how to statically link the `ghostty-vt`
|
|
C library with a C program using the `ghostty-vt-static` artifact. It is
|
|
otherwise identical to the `c-vt` example.
|
|
|
|
This uses a `build.zig` and `Zig` to build the C program so that we
|
|
can reuse a lot of our build logic and depend directly on our source
|
|
tree, but Ghostty emits a standard C library that can be used with any
|
|
C tooling.
|
|
|
|
## Usage
|
|
|
|
Run the program:
|
|
|
|
```shell-session
|
|
zig build run
|
|
```
|