From f235eea8b3c55a9b5b877cc3e1e9db644e9920f2 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Mon, 3 Feb 2020 12:16:16 -0500 Subject: [PATCH] tools: unify make-v8.sh for ppc64le and s390x Refactor `tools/make-v8.sh` to minimise differences between the `ppc64le` and `s390x` paths to allow us to enable `ccache` on the `ppc64le` machines in the CI. PR-URL: https://github.com/nodejs/node/pull/31628 Refs: https://github.com/nodejs/build/pull/1927 Refs: https://github.com/nodejs/build/issues/1940 Reviewed-By: Anna Henningsen Reviewed-By: Sam Roberts --- tools/make-v8.sh | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/tools/make-v8.sh b/tools/make-v8.sh index 41c5ff76dbd641..37bc57f4994fb0 100755 --- a/tools/make-v8.sh +++ b/tools/make-v8.sh @@ -8,35 +8,28 @@ tools/node/fetch_deps.py . ARCH="`arch`" if [[ "$ARCH" == "s390x" ]] || [[ "$ARCH" == "ppc64le" ]]; then + TARGET_ARCH=$ARCH + if [[ "$ARCH" == "ppc64le" ]]; then + TARGET_ARCH="ppc64" + fi # set paths manually for now to use locally installed gn export BUILD_TOOLS=/home/iojs/build-tools export LD_LIBRARY_PATH=$BUILD_TOOLS:$LD_LIBRARY_PATH - export PATH=$BUILD_TOOLS:$PATH - if [[ X"$CXX" != X ]]; then - CXX_PATH=`which $CXX |grep g++` - fi - if [[ X"$CC" != X ]]; then - CC_PATH=`which $CC |grep gcc` - fi + # Avoid linking to ccache symbolic links as ccache decides which + # binary to run based on the name of the link (we always name them gcc/g++). + CC_PATH=`which -a $CC gcc | grep -v ccache | head -n 1` + CXX_PATH=`which -a $CXX g++ | grep -v ccache | head -n 1` rm -f "$BUILD_TOOLS/g++" rm -f "$BUILD_TOOLS/gcc" -fi -if [[ "$ARCH" == "s390x" ]]; then ln -s $CXX_PATH "$BUILD_TOOLS/g++" ln -s $CC_PATH "$BUILD_TOOLS/gcc" + export PATH=$BUILD_TOOLS:$PATH + g++ --version + gcc --version export PKG_CONFIG_PATH=$BUILD_TOOLS/pkg-config - gn gen -v out.gn/$BUILD_ARCH_TYPE --args='is_component_build=false is_debug=false use_goma=false goma_dir="None" use_custom_libcxx=false v8_target_cpu="s390x" target_cpu="s390x"' + gn gen -v out.gn/$BUILD_ARCH_TYPE --args="is_component_build=false is_debug=false use_goma=false goma_dir=\"None\" use_custom_libcxx=false v8_target_cpu=\"$TARGET_ARCH\" target_cpu=\"$TARGET_ARCH\"" ninja -v -C out.gn/$BUILD_ARCH_TYPE d8 cctest inspector-test -elif [[ "$ARCH" == "ppc64le" ]]; then - if [[ X"$CXX" != X ]]; then - ln -s /usr/bin/$CXX "$BUILD_TOOLS/g++" - ln -s /usr/bin/$CC "$BUILD_TOOLS/gcc" - fi - g++ --version - export PKG_CONFIG_PATH=$BUILD_TOOLS/pkg-config-files - gn gen out.gn/$BUILD_ARCH_TYPE --args='is_component_build=false is_debug=false use_goma=false goma_dir="None" use_custom_libcxx=false v8_target_cpu="ppc64" target_cpu="ppc64"' - ninja -C out.gn/$BUILD_ARCH_TYPE d8 cctest inspector-test else PATH=~/_depot_tools:$PATH tools/dev/v8gen.py $BUILD_ARCH_TYPE --no-goma $V8_BUILD_OPTIONS PATH=~/_depot_tools:$PATH ninja -C out.gn/$BUILD_ARCH_TYPE/ d8 cctest inspector-test