mirror of
https://github.com/zebrajr/node.git
synced 2025-12-06 00:20:08 +01:00
tools: fix tools/make-v8.sh for clang
Update `tools/make-v8.sh` so that it can work with either `gcc` or `clang`. Adds: - clang settings when CC/CXX environment variables set to clang/clang++. - Turns off warnings as errors. Removes: - goma settings. - Machine specific settings (moved to Jenkins job configuration). Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5541431 PR-URL: https://github.com/nodejs/node/pull/59893 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
ed71aeec0f
commit
f551c31297
|
|
@ -20,37 +20,19 @@ if [ "$ARCH" = "s390x" ] || [ "$ARCH" = "ppc64le" ]; then
|
||||||
if [ "$ARCH" = "ppc64le" ]; then
|
if [ "$ARCH" = "ppc64le" ]; then
|
||||||
TARGET_ARCH="ppc64"
|
TARGET_ARCH="ppc64"
|
||||||
fi
|
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"
|
|
||||||
rm -f "$BUILD_TOOLS/g++"
|
|
||||||
rm -f "$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.
|
# Propagate ccache to gn.
|
||||||
|
# shellcheck disable=SC2154
|
||||||
case "$CXX" in
|
case "$CXX" in
|
||||||
*ccache*) CC_WRAPPER="cc_wrapper=\"ccache\"" ;;
|
*ccache*) CC_WRAPPER="cc_wrapper=\"ccache\"" ;;
|
||||||
*) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
g++ --version
|
# shellcheck disable=SC2154
|
||||||
gcc --version
|
case "$CXX" in
|
||||||
export PKG_CONFIG_PATH=$BUILD_TOOLS/pkg-config
|
*clang*) GN_COMPILER_OPTS="is_clang=true clang_base_path=\"/usr\" clang_use_chrome_plugins=false treat_warnings_as_errors=false use_custom_libcxx=false" ;;
|
||||||
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"
|
*) GN_COMPILER_OPTS="treat_warnings_as_errors=false use_custom_libcxx=false" ;;
|
||||||
|
esac
|
||||||
|
gn gen -v "out.gn/$BUILD_ARCH_TYPE" --args="$GN_COMPILER_OPTS is_component_build=false is_debug=false v8_target_cpu=\"$TARGET_ARCH\" target_cpu=\"$TARGET_ARCH\" v8_enable_backtrace=true $CC_WRAPPER"
|
||||||
ninja -v -C "out.gn/$BUILD_ARCH_TYPE" "${JOBS_ARG}" d8 cctest inspector-test
|
ninja -v -C "out.gn/$BUILD_ARCH_TYPE" "${JOBS_ARG}" d8 cctest inspector-test
|
||||||
else
|
else
|
||||||
DEPOT_TOOLS_DIR="$(cd depot_tools && pwd)"
|
DEPOT_TOOLS_DIR="$(cd depot_tools && pwd)"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user