From 99028d351dfd6de6c185e6c81624f7dc0505e622 Mon Sep 17 00:00:00 2001 From: Henry Chan Date: Thu, 26 Mar 2026 17:49:53 +0800 Subject: [PATCH 1/2] Fix lipo extract command for M1 macs --- packages/grpc-tools/build_binaries.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/grpc-tools/build_binaries.sh b/packages/grpc-tools/build_binaries.sh index 281ea0b6e..fa96c631e 100755 --- a/packages/grpc-tools/build_binaries.sh +++ b/packages/grpc-tools/build_binaries.sh @@ -75,8 +75,12 @@ Darwin) for arch in "x64" "arm64"; do mkdir "$base/build/bin/$arch" + case "$arch" in + x64) lipo_arch=x86_64 ;; + arm64) lipo_arch=arm64 ;; + esac for bin in protoc grpc_node_plugin; do - lipo -extract x86_64 "$base/build/bin/$bin" -o "$base/build/bin/$arch/$bin" + lipo -extract $lipo_arch "$base/build/bin/$bin" -o "$base/build/bin/$arch/$bin" otool -l "$base/build/bin/$arch/$bin" | grep minos done artifacts darwin $arch "$base/build/bin/$arch/" From d7dac60e143b488cdca9397a86c9c8ebb6978e4e Mon Sep 17 00:00:00 2001 From: Henry Chan Date: Thu, 26 Mar 2026 17:54:05 +0800 Subject: [PATCH 2/2] unroll loop and remove unnecessary check --- packages/grpc-tools/build_binaries.sh | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/packages/grpc-tools/build_binaries.sh b/packages/grpc-tools/build_binaries.sh index fa96c631e..7a32e7751 100755 --- a/packages/grpc-tools/build_binaries.sh +++ b/packages/grpc-tools/build_binaries.sh @@ -73,17 +73,13 @@ Linux) Darwin) build -DGRPC_TOOLS_TARGET=x86_64 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" - for arch in "x64" "arm64"; do - mkdir "$base/build/bin/$arch" - case "$arch" in - x64) lipo_arch=x86_64 ;; - arm64) lipo_arch=arm64 ;; - esac - for bin in protoc grpc_node_plugin; do - lipo -extract $lipo_arch "$base/build/bin/$bin" -o "$base/build/bin/$arch/$bin" - otool -l "$base/build/bin/$arch/$bin" | grep minos - done - artifacts darwin $arch "$base/build/bin/$arch/" + mkdir "$base/build/bin/x64" + mkdir "$base/build/bin/arm64" + for bin in protoc grpc_node_plugin; do + lipo -extract x86_64 "$base/build/bin/$bin" -o "$base/build/bin/x64/$bin" + lipo -extract arm64 "$base/build/bin/$bin" -o "$base/build/bin/arm64/$bin" done + artifacts darwin x64 "$base/build/bin/x64/" + artifacts darwin arm64 "$base/build/bin/arm64/" ;; esac