Cross-compile darwin targets with osxcross #272
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #270
There are some challenges in cross-compiling cgo programs for darwin with
zig cc
ziglang/zig#9050 (comment). While they gave a solution to each of the mentioned problems, even if we use all of them for sqldef, darwin binaries result in a segmentation fault onruntime.cgocall
like #270.This implementation is based on itamae-kitchen/mitamae#105. I confirmed that both amd64 and arm64 binaries generated by it don't cause a segmentation fault when it calls the cgo path, unlike the ones generated by
zig cc
. So I'm switching to osxcross for darwin builds.