Tags: mcpplibs/lua
Tags
feat: add mcpp.toml for mcpp build support (#2) Wires mcpplibs.capi.lua into the mcpp build system. The descriptor: - targets `capi-lua` (lib) at `src/capi/lua.cppm` (override the default lib-root convention which would look at `src/lua.cppm`), - depends on the upstream Lua 5.4.7 C library shipped via mcpp-community/mcpp-index (added 2026-05-09). mcpp 0.0.3's transitive walker propagates lua's headers into our compile rule, so the existing `extern "C" { #include <lua.h> ... }` in `src/capi/lua_headers.h` keeps working with no path tweaking. Verified locally: `mcpp build` is clean against a fresh `target/`.
fix: lua_newstate signature changed in Lua 5.5 (3 args) Lua 5.5 added a third 'seed' parameter to lua_newstate(). Use version check to pass the extra argument when needed. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Development environment setup (#1) * feat: implement mcpplibs.capi.lua — C++23 module binding for Lua C API - Add src/capi/lua.cppm (module interface) and src/capi/lua.cpp (implementation) - Wrap lua.h, lauxlib.h, lualib.h in mcpplibs::capi::lua namespace - Types: State, Number, Integer, CFunction, L_Reg, L_Buffer, etc. - Constants: status codes, type tags, operators, GC options, hook masks - Functions: 100+ bindings covering state, stack, push/access, tables, globals, calls, coroutines, GC, debug, auxiliary library, standard libs - Use extern C wrapper header to fix GCC C++ modules linkage issue - 97 comprehensive Google Test cases covering all API categories - 4 examples: basic, table, function, eval - Update xmake.lua, CMakeLists.txt, CI workflow, README, architecture docs - Design docs and task breakdown in docs/pr/ - Remove old templates.cppm placeholder module Co-authored-by: SPeak <[email protected]> * docs: add mcpplibs-capi-lua agent skill - SKILL.md: quick start, naming map, core API cheat sheet, common patterns, build config, caveats (callback signatures, extern C, inline limitation) - reference.md: complete API reference with all 15 types, 50+ constants, 100+ functions organized by category with C API correspondence - Update skills README to list both available skills Co-authored-by: SPeak <[email protected]> * fix(ci): build library first to avoid C++ modules race condition GCC C++ modules require std.gcm to exist before dependent targets compile. Build mcpplibs-capi-lua first (serialized) then build remaining targets in parallel. Co-authored-by: SPeak <[email protected]> --------- Co-authored-by: Cursor Agent <[email protected]>