Skip to content

Commit e63f93e

Browse files
author
Ash Cripps
committed
build: update Makefile to support fat binary
build a binary that is both x86_64 and arm64 on macos
1 parent cda60c5 commit e63f93e

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

Makefile

+16-2
Original file line numberDiff line numberDiff line change
@@ -982,12 +982,26 @@ $(PKG): release-only
982982
| sed -E "s/\\{npmversion\\}/$(NPMVERSION)/g" \
983983
>$(MACOSOUTDIR)/installer/productbuild/Resources/$$lang/conclusion.html ; \
984984
done
985+
CC_host="cc -arch x86_64" CXX_host="c++ -arch x86_64" \
986+
CC_target="cc -arch x86_64" CXX_target="c++ -arch x86_64" \
987+
CC="cc -arch x86_64" CXX="c++ -arch x86_64" $(PYTHON) ./configure \
988+
--dest-cpu=x86_64 \
989+
--tag=$(TAG) \
990+
--release-urlbase=$(RELEASE_URLBASE) \
991+
$(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS)
992+
arch -x86_64 $(MAKE) install V=$(V) DESTDIR=$(MACOSOUTDIR)/dist/x64/node
993+
SIGN="$(CODESIGN_CERT)" PKGDIR="$(MACOSOUTDIR)/dist/node/usr/local" sh \
994+
tools/osx-codesign.sh
985995
$(PYTHON) ./configure \
986-
--dest-cpu=x64 \
996+
--dest-cpu=arm64 \
987997
--tag=$(TAG) \
988998
--release-urlbase=$(RELEASE_URLBASE) \
989999
$(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS)
990-
$(MAKE) install V=$(V) DESTDIR=$(MACOSOUTDIR)/dist/node
1000+
$(MAKE) install V=$(V) DESTDIR=$(MACOSOUTDIR)/dist/arm64/node
1001+
lipo $(MACOSOUTDIR)/dist/x64/node/usr/local/bin/node \
1002+
$(MACOSOUTDIR)/dist/arm64/node/usr/local/bin/node \
1003+
-output $(MACOSOUTDIR)/dist/node \
1004+
-create
9911005
SIGN="$(CODESIGN_CERT)" PKGDIR="$(MACOSOUTDIR)/dist/node/usr/local" sh \
9921006
tools/osx-codesign.sh
9931007
mkdir -p $(MACOSOUTDIR)/dist/npm/usr/local/lib/node_modules

0 commit comments

Comments
 (0)