Skip to content

feat(self-hosting): direct LLVM C-API & LLD in-process linking, full … - #3

Merged
rohitsoni007 merged 4 commits into
mainfrom
dev
Aug 21, 2026
Merged

feat(self-hosting): direct LLVM C-API & LLD in-process linking, full …#3
rohitsoni007 merged 4 commits into
mainfrom
dev

Conversation

@rohitsoni007

Copy link
Copy Markdown
Contributor

Direct In-Process LLVM & LLD Linker

  • In-Memory Compilation & Linking: Replaced external clang and lld-link subprocesses with direct LLVM C-API code emission and in-process lld::coff::link.
  • Zero-Dependency Monolithic Executable: Statically linked LLVM*.lib and lld*.lib into a single standalone zuv.exe (~106 MB) with zero external DLLs.

🔌 C Foreign Function Interface (extern / ffi)

  • Native C ABI Declarations: Added extern "<lib>" <func> <params> -> <retType> syntax in pure Zuv and C++ bootstrap compiler.
  • Direct LLVM C-API in Pure Zuv: Declared and orchestrated target initialization, IR parsing, target machine creation, and object emission directly in cli.zv.
  • Dynamic Library Linking: Automatically links Windows system libraries (user32, kernel32, ntdll, ws2_32) and custom .lib files.

@rohitsoni007 rohitsoni007 added the release:minor New backward-compatible features; increments minor label Aug 21, 2026
@rohitsoni007
rohitsoni007 merged commit 82a5e2a into main Aug 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:minor New backward-compatible features; increments minor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant