File tree Expand file tree Collapse file tree 2 files changed +6
-7
lines changed Expand file tree Collapse file tree 2 files changed +6
-7
lines changed Original file line number Diff line number Diff line change 68
68
mkdir ".build"
69
69
copy "#{ output_bin } _x86_64" , ".build/crystal"
70
70
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"
74
71
make "deps" , env : env
75
72
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
77
75
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
79
77
delete "#{ output_path } /crystal.o"
80
78
81
79
# Lipo them up
Original file line number Diff line number Diff line change 96
96
make "clean" , env : env
97
97
98
98
# 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 } "
100
101
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
102
103
103
104
# Lipo them up
104
105
command "lipo -create -output bin/shards bin/shards_x86_64 bin/shards_arm64"
You can’t perform that action at this time.
0 commit comments