Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRichard Lau <rlau@redhat.com>2022-03-08 02:25:41 +0300
committerGitHub <noreply@github.com>2022-03-08 02:25:41 +0300
commit60d5eed4e8718c1d1c55ad72e830b4dfbc13b151 (patch)
treec07355ac49b630de544e54e95230bbe9c3a7fac2 /tools
parent27eb91d3782879e6e8ca5896fe0ed6461a779e95 (diff)
build: use ccache in make-v8.sh on ppc64le and s390x
If `ccache` is available, use it during V8 builds on ppc64le and s390x. Only create the `gcc` and `g++` shims if necessary. PR-URL: https://github.com/nodejs/node/pull/42204 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/make-v8.sh32
1 files changed, 22 insertions, 10 deletions
diff --git a/tools/make-v8.sh b/tools/make-v8.sh
index 978b9f00860..62cabc70a6e 100755
--- a/tools/make-v8.sh
+++ b/tools/make-v8.sh
@@ -9,7 +9,7 @@ cd deps/v8 || exit
find . -type d -name .git -print0 | xargs -0 rm -rf
../../tools/v8/fetch_deps.py .
-ARCH="`arch`"
+ARCH=$(arch)
if [ "$ARCH" = "s390x" ] || [ "$ARCH" = "ppc64le" ]; then
TARGET_ARCH=$ARCH
if [ "$ARCH" = "ppc64le" ]; then
@@ -18,22 +18,34 @@ if [ "$ARCH" = "s390x" ] || [ "$ARCH" = "ppc64le" ]; then
# 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"
- # 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++).
- # shellcheck disable=SC2154
- CC_PATH=`command -v "$CC" gcc | grep -v ccache | head -n 1`
- # shellcheck disable=SC2154
- CXX_PATH=`command -v "$CXX" g++ | grep -v ccache | head -n 1`
rm -f "$BUILD_TOOLS/g++"
rm -f "$BUILD_TOOLS/gcc"
- ln -s "$CXX_PATH" "$BUILD_TOOLS/g++"
- ln -s "$CC_PATH" "$BUILD_TOOLS/gcc"
+ # V8's build config looks for binaries called `gcc` and `g++` if not using
+ # clang. Ensure that `gcc` and `g++` point to the compilers we want to
+ # invoke, creating symbolic links placed at the front of PATH, if needed.
+ # Avoid linking to ccache symbolic links as ccache decides which binary
+ # to run based on the name of the link (i.e. `gcc`/`g++` in our case).
+ # shellcheck disable=SC2154
+ if [ "$CC" != "" ] && [ "$CC" != "gcc" ]; then
+ CC_PATH=$(command -v "$CC" gcc | grep -v ccache | head -n 1)
+ ln -s "$CC_PATH" "$BUILD_TOOLS/gcc"
+ fi
+ # shellcheck disable=SC2154
+ if [ "$CXX" != "" ] && [ "$CXX" != "g++" ]; then
+ CXX_PATH=$(command -v "$CXX" g++ | grep -v ccache | head -n 1)
+ ln -s "$CXX_PATH" "$BUILD_TOOLS/g++"
+ fi
export PATH="$BUILD_TOOLS:$PATH"
+ # Propagate ccache to gn.
+ case "$CXX" in
+ *ccache*) CC_WRAPPER="cc_wrapper=\"ccache\"" ;;
+ *) ;;
+ esac
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=\"$TARGET_ARCH\" target_cpu=\"$TARGET_ARCH\" v8_enable_backtrace=true"
+ 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\" v8_enable_backtrace=true $CC_WRAPPER"
ninja -v -C "out.gn/$BUILD_ARCH_TYPE" d8 cctest inspector-test
else
DEPOT_TOOLS_DIR="$(cd _depot_tools && pwd)"