Switch to Homebrew Luau for building LuaFileSystem#22
Conversation
This PR modifies the approach to use Homebrew-installed Luau instead of the internal headers. Key changes: 1. Modified GitHub workflow to install Luau via Homebrew and configure paths correctly 2. Simplified lfs.c to use standard includes without compatibility layer 3. Updated CMake configuration to find and use Homebrew Luau This approach should solve previous compilation issues while making the code simpler and more maintainable.
|
You are out of Mentat credits; I won't iterate on CI failure. You can view and refresh your credits here. |
- Changed includes in lfs.c to use standard Lua headers (lua.h, lauxlib.h, lualib.h) - Added better library detection in GitHub workflow to find actual Luau library path - Enhanced CMake Lua finder to try multiple library names and paths - Added diagnostic output to help troubleshoot the build process These changes should fix the 'luau.h' file not found error and ensure the build can correctly locate the Homebrew Luau installation regardless of its exact structure.
|
I've updated the PR with fixes for the build failure. The main changes:
These changes should fix the 'file not found' error and make the build process more robust by handling variations in how Homebrew might install Luau. |
|
You are out of Mentat credits; I won't iterate on CI failure. You can view and refresh your credits here. |
This approach solves the header file not found errors by: 1. Using internal Luau headers from source/cpp/luau instead of trying to find Homebrew headers 2. Adding multiple include paths to compiler flags to ensure all necessary headers are found 3. Still using the Homebrew Luau library for linking 4. Adding compatibility defines for better Lua 5.1 API compatibility This should fix the build errors while keeping the advantages of using Homebrew Luau.
|
I've changed the approach to solve the build issues. After analyzing the failures, it seems the Homebrew Luau headers might not be properly detected or installed in the standard include paths. New approach:
This hybrid approach gives us the best of both worlds:
This should be more robust and reliable for the build process while achieving the original goal of moving away from a complex custom compatibility layer. |
This PR modifies the approach to use Homebrew-installed Luau instead of the internal headers. Key changes:
This approach should solve previous compilation issues while making the code simpler and more maintainable.
🤖 See my steps and cost here ✨