From ecbd07951d29f11c40599160c07adcca559098cc Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Fri, 26 Aug 2016 10:07:29 -0400 Subject: [PATCH] build: fix dependencies on AIX Addon tests were still starting to run before the node exp file creation was complete. - remove process_outputs_as_sources as it did not fix the problem - update create_expfile.sh so that exp file is created in a temporary file and then renamed to final name so that file is only visible once it is complete - update target used in building Addons so that for AIX it depends on the exp file being available PR-URL: https://github.com/nodejs/node/pull/8285 Reviewed-By: Ben Noordhuis Reviewed-By: Myles Borins --- Makefile | 11 +++++++++-- node.gyp | 1 - tools/create_expfile.sh | 6 ++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 817fe4fae70450..e12bee8bec92cc 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,8 @@ uninstall: $(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)' clean: - -rm -rf out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE) + -rm -rf out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE) \ + out/$(BUILDTYPE)/node.exp @if [ -d out ]; then find out/ -name '*.o' -o -name '*.a' -o -name '*.d' | xargs rm -rf; fi -rm -rf node_modules @if [ -d deps/icu ]; then echo deleting deps/icu; rm -rf deps/icu; fi @@ -128,7 +129,13 @@ test/gc/node_modules/weak/build/Release/weakref.node: $(NODE_EXE) --nodedir="$(shell pwd)" # Implicitly depends on $(NODE_EXE), see the build-addons rule for rationale. -test/addons/.docbuildstamp: tools/doc/addon-verify.js doc/api/addons.md +DOCBUILDSTAMP_PREREQS = tools/doc/addon-verify.js doc/api/addons.md + +ifeq ($(OSTYPE),aix) +DOCBUILDSTAMP_PREREQS := $(DOCBUILDSTAMP_PREREQS) out/$(BUILDTYPE)/node.exp +endif + +test/addons/.docbuildstamp: $(DOCBUILDSTAMP_PREREQS) $(RM) -r test/addons/??_*/ $(NODE) $< touch $@ diff --git a/node.gyp b/node.gyp index d6511793e07a3b..341ac34dce4c26 100644 --- a/node.gyp +++ b/node.gyp @@ -731,7 +731,6 @@ }, { 'target_name': 'node_exp', - 'process_outputs_as_sources': 1, 'type': 'none', 'dependencies': [ '<(node_core_target_name)', diff --git a/tools/create_expfile.sh b/tools/create_expfile.sh index ff4420a9e87218..e27ed777571dc4 100755 --- a/tools/create_expfile.sh +++ b/tools/create_expfile.sh @@ -36,7 +36,7 @@ echo "Searching $1 to write out expfile to $2" # this special sequence must be at the start of the exp file -echo "#!." > $2 +echo "#!." > $2.tmp # pull the symbols from the .a files find $1 -name "*.a" | grep -v gtest \ @@ -45,4 +45,6 @@ find $1 -name "*.a" | grep -v gtest \ if ((($2 == "T") || ($2 == "D") || ($2 == "B")) && (substr($3,1,1) != ".")) { print $3 } }' \ - | sort -u >> $2 + | sort -u >> $2.tmp + +mv -f $2.tmp $2