Skip to content

Commit 46c295d

Browse files
authored
Fix macos triple (#296)
1 parent 90a7fc9 commit 46c295d

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

omnibus/config/software/crystal.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,12 @@
6868
mkdir ".build"
6969
copy "#{output_bin}_x86_64", ".build/crystal"
7070

71-
# Compile for ARM64. Apple's clang only understands arm64, LLVM uses aarch64,
72-
# so we need to sub out aarch64 in our calls to Apple tools
73-
env["CXXFLAGS"] << " -target arm64-apple-darwin"
7471
make "deps", env: env
7572

76-
make "crystal stats=true release=true target=aarch64-apple-darwin FLAGS=\"#{crflags}\" CRYSTAL_CONFIG_TARGET=aarch64-apple-darwin CRYSTAL_CONFIG_LIBRARY_PATH= O=#{output_path}", env: env
73+
crtarget = "arm64-apple-macosx#{ENV["MACOSX_DEPLOYMENT_TARGET"]}"
74+
make "crystal stats=true release=true target=#{crtarget} FLAGS=\"#{crflags}\" CRYSTAL_CONFIG_TARGET=#{crtarget} CRYSTAL_CONFIG_LIBRARY_PATH= O=#{output_path}", env: env
7775

78-
command "clang #{output_path}/crystal.o -o #{output_bin}_arm64 -target arm64-apple-darwin src/llvm/ext/llvm_ext.o `llvm-config --libs --system-libs --ldflags 2>/dev/null` -lstdc++ -lpcre2-8 -lgc -lpthread -levent -liconv -ldl -v", env: env
76+
command "clang #{output_path}/crystal.o -o #{output_bin}_arm64 -target #{crtarget} src/llvm/ext/llvm_ext.o `llvm-config --libs --system-libs --ldflags 2>/dev/null` -lstdc++ -lpcre2-8 -lgc -lpthread -levent -liconv -ldl -v", env: env
7977
delete "#{output_path}/crystal.o"
8078

8179
# Lipo them up

omnibus/config/software/shards.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,10 @@
9696
make "clean", env: env
9797

9898
# Build for ARM64
99-
crflags += " --cross-compile --target aarch64-apple-darwin"
99+
crtarget = "arm64-apple-macosx#{ENV["MACOSX_DEPLOYMENT_TARGET"]}"
100+
crflags += " --cross-compile --target #{crtarget}"
100101
make "bin/shards SHARDS=false CRYSTAL=#{install_dir}/bin/crystal FLAGS='#{crflags}'", env: env
101-
command "clang bin/shards.o -o bin/shards_arm64 -target arm64-apple-darwin -L#{install_dir}/embedded/lib -lyaml -lpcre2-8 -lgc -lpthread -levent -liconv -ldl", env: env
102+
command "clang bin/shards.o -o bin/shards_arm64 -target #{crtarget} -L#{install_dir}/embedded/lib -lyaml -lpcre2-8 -lgc -lpthread -levent -liconv -ldl", env: env
102103

103104
# Lipo them up
104105
command "lipo -create -output bin/shards bin/shards_x86_64 bin/shards_arm64"

0 commit comments

Comments
 (0)