3
22
Fork
You've already forked lrc
0

[RC] Merge changes for cross-compilation support #20

Merged
leso-kn merged 108 commits from sail-to-c into main 2026年06月02日 20:57:03 +02:00

Preparation for lrc v1.2

Features

  • Added support for cross-compilation
  • Added Teal support
  • Compiler Extensions
    • Custom otype support
    • Custom toolchain support
    • Custom source language support
  • New configuration API: LRocket Spec
  • Added new log-level detail
    • Shows many details such as line numbers of unresolved require and --lr:embed statements
    • Use log-level debug for I/O-grade debugging
  • Lots and lots of internal refactorings

Fixes

  • Fixed: Lua 5.1 compatibility for --optimize
  • Fixed(Linux): Correctly display archive path in package.searchers error messages

lra

  • The LRocket Archive format now supports file types (type field)
    • Currently file and link
  • LRocket binaries now support custom runtime search paths

Documentation

  • Added dark theme

Dev

  • Use lrocket as a library (experimental)
  • Make LRocket a provider for luarocks-cross
  • Print warnings on ABI mismatch for custom otypes, toolchains and source languages
Preparation for `lrc v1.2` ### Features * Added support for [**cross-compilation**](https://lrocket.codeberg.page/cross-compilation.html) * Made [WebAssembly](https://lrocket.codeberg.page/web-assembly.html) an officially supported target * Added [Teal](https://teal-language.org/) support * [Compiler Extensions](https://lrocket.codeberg.page/hacking.html) * Custom `otype` support * Custom toolchain support * Custom source language support * New configuration API: [LRocket Spec](https://lrocket.codeberg.page/luarocks-integration.html#rockspec-build-options) * Added new log-level `detail` * Shows many details such as line numbers of unresolved `require` and `--lr:embed` statements * Use log-level `debug` for I/O-grade debugging * Lots and lots of internal refactorings ### Fixes * Fixed: Lua 5.1 compatibility for `--optimize` * Fixed(Linux): Correctly display archive path in `package.searchers` error messages ### lra * The LRocket Archive format now supports file types (`type` field) * Currently `file` and `link` * LRocket binaries now support custom runtime search paths ### Documentation * Added dark theme ### Dev * Use `lrocket` as a library (experimental) * Make LRocket a provider for [luarocks-cross](https://codeberg.org/leso-kn/luarocks-cross) * Print warnings on ABI mismatch for custom `otype`s, toolchains and source languages
* feat: add lrocket API to be called from luarocks or the lrc script
* feat: add --runtime-path and --runtime-cpath args for hardening modules
* feat: lra archive format now supports file types 'file' and 'link'
* feat: lrc now compiles itself upon installation
* feat: add support for language extensions
* fix: `require 'lrocket.api'` could crash during startup
 * feat: export `LUA_*` variables used by `luarocks` to `ENV`
 * feat: improve stat performance of lua binaries
 * fix: `clang --target=<crosstarget> --dumpmachine` dumps cross target,
 not host target -> use std `cc`
 * refactor: cleanup `package.lua`, `trace()` algorithm
 * feat(gnu): export `LD`
 * refactor: `--sysroot` is exported directly in `CC` rather than
 `CFLAGS`/`LDFLAGS`
 * feat: add `tripplet.__eq` metamethod
 * fix: do not export empty `LDFLAGS`/`CFLAGS`
Co-authored-by: Sewbacca <sewbacca@kolabnow.com>

Looks fantastic to me! 🎉

Looks fantastic to me! 🎉
Sign in to join this conversation.
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lrocket/lrc!20
Reference in a new issue
lrocket/lrc
No description provided.
Delete branch "sail-to-c"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?