-
-
Notifications
You must be signed in to change notification settings - Fork 657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[make] Generate haxelib binary with nekotools boot -c
on Mac/Linux
#11653
[make] Generate haxelib binary with nekotools boot -c
on Mac/Linux
#11653
Conversation
`nekotools boot` is a bit of a hack and some tools that deal with executables on linux can strip away the haxelib bytecode if it is done this way. `nekotools boot -c` will generate a .c file which can then be compiled manually.
Otherwise it doesn't work if haxe isn't already installed, or it might use the wrong version of the standard library
They are now needed for compiling haxelib
For some reason this environment variable isn't working here on Windows
We don't have neko binaries for mac arm64 yet `nekotools boot run.n` was previously also producing an x64 binary
291d26f
to
7accedd
Compare
It looks like /usr/local/lib is no longer used as a default path in some cases.
Since we are building the executable on macos-13 (rather than macos-12) |
Should I merge this or do we need to do something else first? |
I don't think there's anything left to do here. |
…11653) * [make] Generate haxelib binary with `nekotools boot -c` on Mac/Linux `nekotools boot` is a bit of a hack and some tools that deal with executables on linux can strip away the haxelib bytecode if it is done this way. `nekotools boot -c` will generate a .c file which can then be compiled manually. * [make] Fix for unix platforms if PLATFORM is defined * [make] Set the HAXE_STD_PATH while building haxelib Otherwise it doesn't work if haxe isn't already installed, or it might use the wrong version of the standard library * [ci] Install missing neko headers during setup They are now needed for compiling haxelib * [ci] Ensure /usr/local/include exists before installing neko * [ci] Install neko headers for earthly builds as well * [make] Omit HAXE_STD_PATH when building haxelib on windows For some reason this environment variable isn't working here on Windows * [ci] Continue building x64 haxelib on mac arm64 for now We don't have neko binaries for mac arm64 yet `nekotools boot run.n` was previously also producing an x64 binary * [make] Set rpath on mac when building haxelib It looks like /usr/local/lib is no longer used as a default path in some cases. * [make] Set std path for haxelib build on windows
…11653) * [make] Generate haxelib binary with `nekotools boot -c` on Mac/Linux `nekotools boot` is a bit of a hack and some tools that deal with executables on linux can strip away the haxelib bytecode if it is done this way. `nekotools boot -c` will generate a .c file which can then be compiled manually. * [make] Fix for unix platforms if PLATFORM is defined * [make] Set the HAXE_STD_PATH while building haxelib Otherwise it doesn't work if haxe isn't already installed, or it might use the wrong version of the standard library * [ci] Install missing neko headers during setup They are now needed for compiling haxelib * [ci] Ensure /usr/local/include exists before installing neko * [ci] Install neko headers for earthly builds as well * [make] Omit HAXE_STD_PATH when building haxelib on windows For some reason this environment variable isn't working here on Windows * [ci] Continue building x64 haxelib on mac arm64 for now We don't have neko binaries for mac arm64 yet `nekotools boot run.n` was previously also producing an x64 binary * [make] Set rpath on mac when building haxelib It looks like /usr/local/lib is no longer used as a default path in some cases. * [make] Set std path for haxelib build on windows
nekotools boot
is a bit of a hack because it simply copies the neko exectuable and injects in the neko bytecode. This can cause issues with some tools that deal with executables on Linux/Mac. HaxeFoundation/neko#130 (comment)This started happening on Arch linux, where the bytecode somehow gets stripped away during packaging so haxelib becomes unusable because it is reverted to the regular neko binary. See: #11652.
nekotools boot -c
will instead generate a .c file which can then be compiled manually. I've changed this for Mac and Linux, but for Windows it will continue to usenekotools boot
as it is simpler and doesn't cause issues there as far as I'm aware.I'm not sure if this may have packaging implications now that a c compiler is used directly in the make file?