Skip to content
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] Compile haxelib binary with hxcpp #11755

Open
wants to merge 8 commits into
base: development
Choose a base branch
from

Conversation

tobil4sk
Copy link
Member

@tobil4sk tobil4sk commented Aug 30, 2024

This avoids the dependency on neko, which means that haxe no longer has to be packaged with neko as a mandatory dependency.

Haxelib has to be run through eval first in order to install (and run) hxcpp. Due to ssl issues on eval, hxcpp has to be installed via git rather than from lib.haxe.org.

Possible since HaxeFoundation/haxelib#643 has been merged.

gencpp no longer puts hxcpp=... into Options.txt if -D no-compilation is set because that requires a haxelib path call, which is not possible if the haxelib binary hasn't been built yet. Hxcpp never uses this value anyway and it is not very useful to store it if gencpp didn't run hxcpp.

Closes #8155.

@moxie-coder
Copy link
Contributor

Neko was discontinued and broke 4.2.5 so this is honestly great

This avoids the dependency on neko, which means that haxe no longer has
to be packaged with neko as a mandatory dependency.

Haxelib has to be run through interp first in order to install hxcpp.
Avoid excessive logs in CI
When building the haxelib binary, no haxelib executable is available
in PATH yet, so the haxelib call is a problem.

With `-D no-compilation`, haxe doesn't use/run hxcpp at all so this path
is not very meaningful. The user may compile manually with a completely
different version of hxcpp.

Either way, this value is completely ignored by hxcpp:
https://github.com/HaxeFoundation/hxcpp/blob/08f88ff314eeaa165dd76272f92c8030cc879ec2/tools/hxcpp/BuildTool.hx#L1729-L1732
We need HaxeFoundation/haxelib#646 because at
the time of running `$(HAXELIB_INTERP) run hxcpp ...`, no `haxe`
executable is available in PATH yet.
The makefile was using cygwin paths, but haxe expects native windows
paths
Installing from lib.haxe.org via ssl causes problems.

On Mac, it downloads incorrectly whenever the `--quiet` flag is used.

On Windows, it gives the error:
```
Error: Failed with error: X509 - Certificate verification failed, e.g. CRL, CA or signature check failed
```
Otherwise we end up with the carriage return still being there on
windows.
@skial skial mentioned this pull request Sep 4, 2024
1 task
@Simn
Copy link
Member

Simn commented Oct 15, 2024

This will need an update after the gencpp.ml refactoring.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Haxelib "boot"
3 participants