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 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
Original file line number Diff line number Diff line change 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"
You can’t perform that action at this time.
0 commit comments