• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh
2
3set -xe
4
5BUILD_ARCH_TYPE=$1
6V8_BUILD_OPTIONS=$2
7
8cd deps/v8 || exit
9find . -type d -name .git -print0 | xargs -0 rm -rf
10../../tools/v8/fetch_deps.py .
11
12ARCH=$(arch)
13if [ "$ARCH" = "s390x" ] || [ "$ARCH" = "ppc64le" ]; then
14  TARGET_ARCH=$ARCH
15  if [ "$ARCH" = "ppc64le" ]; then
16    TARGET_ARCH="ppc64"
17  fi
18  # set paths manually for now to use locally installed gn
19  export BUILD_TOOLS=/home/iojs/build-tools
20  export LD_LIBRARY_PATH="$BUILD_TOOLS:$LD_LIBRARY_PATH"
21  rm -f "$BUILD_TOOLS/g++"
22  rm -f "$BUILD_TOOLS/gcc"
23  # V8's build config looks for binaries called `gcc` and `g++` if not using
24  # clang. Ensure that `gcc` and `g++` point to the compilers we want to
25  # invoke, creating symbolic links placed at the front of PATH, if needed.
26  # Avoid linking to ccache symbolic links as ccache decides which binary
27  # to run based on the name of the link (i.e. `gcc`/`g++` in our case).
28  # shellcheck disable=SC2154
29  if [ "$CC" != "" ] && [ "$CC" != "gcc" ]; then
30    CC_PATH=$(command -v "$CC" gcc | grep -v ccache | head -n 1)
31    ln -s "$CC_PATH" "$BUILD_TOOLS/gcc"
32  fi
33  # shellcheck disable=SC2154
34  if [ "$CXX" != "" ] && [ "$CXX" != "g++" ]; then
35    CXX_PATH=$(command -v "$CXX" g++ | grep -v ccache | head -n 1)
36    ln -s "$CXX_PATH" "$BUILD_TOOLS/g++"
37  fi
38  export PATH="$BUILD_TOOLS:$PATH"
39  # Propagate ccache to gn.
40  case "$CXX" in
41    *ccache*) CC_WRAPPER="cc_wrapper=\"ccache\"" ;;
42    *) ;;
43  esac
44
45  g++ --version
46  gcc --version
47  export PKG_CONFIG_PATH=$BUILD_TOOLS/pkg-config
48  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"
49  ninja -v -C "out.gn/$BUILD_ARCH_TYPE" d8 cctest inspector-test
50else
51  DEPOT_TOOLS_DIR="$(cd _depot_tools && pwd)"
52  # shellcheck disable=SC2086
53  PATH="$DEPOT_TOOLS_DIR":$PATH tools/dev/v8gen.py "$BUILD_ARCH_TYPE" --no-goma $V8_BUILD_OPTIONS
54  PATH="$DEPOT_TOOLS_DIR":$PATH ninja -C "out.gn/$BUILD_ARCH_TYPE/" d8 cctest inspector-test
55fi
56