@@ -10,6 +10,7 @@ TEST_CI_ARGS ?=
10
10
STAGINGSERVER ?= node-www
11
11
LOGLEVEL ?= silent
12
12
OSTYPE := $(shell uname -s | tr '[:upper:]' '[:lower:]')
13
+ ARCHTYPE := $(shell uname -m | tr '[:upper:]' '[:lower:]')
13
14
COVTESTS ?= test-cov
14
15
COV_SKIP_TESTS ?= core_line_numbers.js,testFinalizer.js,test_function/test.js
15
16
GTEST_FILTER ?= "*"
@@ -972,6 +973,16 @@ release-only: check-xz
972
973
fi
973
974
974
975
$(PKG ) : release-only
976
+ # pkg building is currently only supported on an ARM64 macOS host for
977
+ # ease of compiling fat-binaries for both macOS architectures.
978
+ ifneq ($(OSTYPE ) ,darwin)
979
+ $(warning Invalid OSTYPE)
980
+ $(error OSTYPE should be `darwin` currently is $(OSTYPE))
981
+ endif
982
+ ifneq ($(ARCHTYPE ) ,arm64)
983
+ $(warning Invalid ARCHTYPE)
984
+ $(error ARCHTYPE should be `arm64` currently is $(ARCHTYPE))
985
+ endif
975
986
$(RM) -r $(MACOSOUTDIR)
976
987
mkdir -p $(MACOSOUTDIR)/installer/productbuild
977
988
cat tools/macos-installer/productbuild/distribution.xml.tmpl \
@@ -992,14 +1003,28 @@ $(PKG): release-only
992
1003
| sed -E "s/\\{npmversion\\}/$(NPMVERSION)/g" \
993
1004
>$(MACOSOUTDIR)/installer/productbuild/Resources/$$lang/conclusion.html ; \
994
1005
done
1006
+ CC_host="cc -arch x86_64" CXX_host="c++ -arch x86_64" \
1007
+ CC_target="cc -arch x86_64" CXX_target="c++ -arch x86_64" \
1008
+ CC="cc -arch x86_64" CXX="c++ -arch x86_64" $(PYTHON) ./configure \
1009
+ --dest-cpu=x86_64 \
1010
+ --tag=$(TAG) \
1011
+ --release-urlbase=$(RELEASE_URLBASE) \
1012
+ $(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS)
1013
+ arch -x86_64 $(MAKE) install V=$(V) DESTDIR=$(MACOSOUTDIR)/dist/x64/node
1014
+ SIGN="$(CODESIGN_CERT)" PKGDIR="$(MACOSOUTDIR)/dist/x64/node/usr/local" sh \
1015
+ tools/osx-codesign.sh
995
1016
$(PYTHON) ./configure \
996
- --dest-cpu=x64 \
1017
+ --dest-cpu=arm64 \
997
1018
--tag=$(TAG) \
998
1019
--release-urlbase=$(RELEASE_URLBASE) \
999
1020
$(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS)
1000
1021
$(MAKE) install V=$(V) DESTDIR=$(MACOSOUTDIR)/dist/node
1001
1022
SIGN="$(CODESIGN_CERT)" PKGDIR="$(MACOSOUTDIR)/dist/node/usr/local" sh \
1002
1023
tools/osx-codesign.sh
1024
+ lipo $(MACOSOUTDIR)/dist/x64/node/usr/local/bin/node \
1025
+ $(MACOSOUTDIR)/dist/node/usr/local/bin/node \
1026
+ -output $(MACOSOUTDIR)/dist/node/usr/local/bin/node \
1027
+ -create
1003
1028
mkdir -p $(MACOSOUTDIR)/dist/npm/usr/local/lib/node_modules
1004
1029
mkdir -p $(MACOSOUTDIR)/pkgs
1005
1030
mv $(MACOSOUTDIR)/dist/node/usr/local/lib/node_modules/npm \
0 commit comments