Skip to content

V8 4.9 and trace_event DEPS change #304

@ofrobots

Description

@ofrobots

Hello Build WG Members:

V8 4.9 introduces a new source dependency that embedders are going to need to be able to build V8. Specifically: https://github.com/v8/v8/blob/5312bfb9f3ecd09ebabd848dbf661e7326c84ef9/DEPS#L16

Basically, the directory v8/base/trace_event/common is supposed to be fetched from the external repository (https://chromium.googlesource.com/chromium/src/base/trace_event/common.git) as a pre-requisite in order to be able to build V8.

Since we (Node.js) don't use depot_tools and instead have a copy of V8 checked into our repository, we'll need some changes to ensure we can build and update V8 smoothly going forward.

Here are some of the options I can think of:

  1. Delete (or edit) deps/v8/.gitignore in our repo and include copy of base/trace_event/common into the copy of V8 in our repository. This is simplest for the short term but requires overhead going forward when V8 or trace_event is updated.
  2. Track base/trace_event/common as a direct dependency of Node.js. I.e. create a deps/trace-event-common directory with a copy of https://chromium.googlesource.com/chromium/src/base/trace_event/common.git. At build time we will have to copy / symlink this into the deps/v8/base/trace_event/common directory to allow V8 to be built.
  3. Start using the v8 DEPS file directly and fetching all the dependencies as a step in the build process. This might be a more future proof solution.

Ideas/thoughts/comments?

/cc @nodejs/v8 @jeisinger

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions