Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
d57325b
Update Node.js to 8174d0c8ca
hashseed Jul 11, 2018
456581b
Restore README.md
hashseed Jul 9, 2018
8fcc375
node-gyp: support for Chromium versions of Python
rryk Nov 14, 2017
8076a08
Enhancements to --build-v8-with-gn
agrieve Apr 17, 2018
49c10f5
Fix ninja builds on Windows
agrieve Apr 17, 2018
124650a
Properly convert .gypi -> .json in js2c.py
agrieve Apr 25, 2018
fd66b85
Fix --use-clang-cl flag.
agrieve Apr 25, 2018
05d782b
Forward DEPOT_TOOLS_WIN_TOOLCHAIN_ROOT
agrieve Apr 25, 2018
570fd7e
tools: properly convert .gypi in install.py
mi-ac Apr 30, 2018
427afa4
Fix configure for build_v8_with_gn_depot_tools
hashseed Jul 11, 2018
a2f9a4c
Fix tests failures and propagate untrusted-code-mitigations flag
hashseed May 7, 2018
0c5c2c0
src: use modern v8::Platform worker threads APIs
May 9, 2018
625d843
src: initialize PerIsolateData eagerly
gahaas Jun 3, 2018
d11dafa
v8: Prepare for swallowed rejection hook.
bmeurer Jul 5, 2018
eab77c7
test: remove parallel/test-v8-stats.js
hashseed Jun 15, 2018
a2d3495
Update V8 to 80508f1457
hashseed Jul 11, 2018
0316fdf
Fix node_test_fixture.h
hashseed Jul 11, 2018
e3636fb
test: fix scriptParsed event expectations
RReverser Apr 17, 2018
c4f0452
src: update NODE_MODULE_VERSION to 66
targos Jul 2, 2018
d5a76af
test: fix inspector tests after V8 upgrade
alexkozy May 11, 2018
820faa8
Bump ICU to 62.1
hashseed Jul 11, 2018
c59d247
Temporarily remove doctool/test-make-doc
hashseed Jul 11, 2018
43906ca
tools: Remove lldbinit file from install script
backes Jul 12, 2018
7571231
Update V8 to a37b78bd90
hashseed Jul 13, 2018
14e8565
Simplify python version string parsing
hashseed Jul 17, 2018
94831af
Update V8 to b819afeb4f
hashseed Jul 18, 2018
b450796
Update to renamed inspector scripts
hashseed Jul 18, 2018
c9b5b9e
Bring in inspector_protocol as a direct dependency
aslushnikov Jul 25, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
640 changes: 9 additions & 631 deletions README.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@
['build_v8_with_gn == "true"', {
'conditions': [
['GENERATOR == "ninja"', {
'v8_base': '<(PRODUCT_DIR)/obj/deps/v8/gypfiles/v8_monolith.gen/gn/obj/libv8_monolith.a',
'v8_base': '<(PRODUCT_DIR)/obj/deps/v8/gypfiles/v8_monolith.gen/gn/obj/<(STATIC_LIB_PREFIX)v8_monolith<(STATIC_LIB_SUFFIX)',
}, {
'v8_base': '<(PRODUCT_DIR)/obj.target/v8_monolith/geni/gn/obj/libv8_monolith.a',
'v8_base': '<(PRODUCT_DIR)/obj.target/v8_monolith/geni/gn/obj/<(STATIC_LIB_PREFIX)v8_monolith<(STATIC_LIB_SUFFIX)',
}],
],
}],
Expand Down
60 changes: 58 additions & 2 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,28 @@ parser.add_option('--build-v8-with-gn',
dest='build_v8_with_gn',
default=False,
help='build V8 using GN instead of gyp')
parser.add_option('--build-v8-with-gn-max-jobs',
dest='build_v8_with_gn_max_jobs',
default='',
help='Value for the -j parameter for the ninja invocation.')
parser.add_option('--build-v8-with-gn-max-load',
dest='build_v8_with_gn_max_load',
default='',
help='Value for the -l parameter for the ninja invocation.')
parser.add_option('--build-v8-with-gn-extra-gn-args',
dest='build_v8_with_gn_extra_gn_args',
default='',
help='Extra gn args to pass add to the "gn gen --args "..." invocation')
parser.add_option('--use-clang-cl',
action='store_true',
dest='use_clang_cl',
default=False,
help='On Windows, build using clang-cl. By default, uses the copy of '
'clang-cl that is bundled with V8. Requires --ninja.')
parser.add_option('--clang-cl-base-path',
dest='clang_cl_base_path',
help='Absolute path to a directory containing a bin\\clang-cl.exe '
'(requires --use-clang-cl).')

# Create compile_commands.json in out/Debug and out/Release.
parser.add_option('-C',
Expand Down Expand Up @@ -590,6 +612,20 @@ def warn(msg):
# track if warnings occurred
warn.warned = False

if options.use_clang_cl:
if not options.use_ninja:
warn('--use-clang-cl requires --ninja')
if options.clang_cl_base_path:
clang_base_path = options.clang_cl_base_path
else:
clang_base_path = os.path.abspath(os.path.join(
'deps', 'v8', 'third_party', 'llvm-build', 'Release+Asserts'))
# GN arg sets the path for --build-v8-using-gn.
if options.build_v8_with_gn_extra_gn_args:
options.build_v8_with_gn_extra_gn_args += ' '
options.build_v8_with_gn_extra_gn_args += 'clang_base_path="{}"'.format(
clang_base_path)

def b(value):
"""Returns the string 'true' if value is truthy, 'false' otherwise."""
if value:
Expand Down Expand Up @@ -1077,11 +1113,26 @@ def configure_v8(o):
if options.without_bundled_v8 and options.build_v8_with_gn:
raise Exception(
'--build-v8-with-gn is incompatible with --without-bundled-v8.')
o['variables']['build_v8_with_gn'] = b(options.build_v8_with_gn)
if options.build_v8_with_gn:
v8_path = os.path.join('deps', 'v8')
print('Fetching dependencies to build V8 with GN')
options.build_v8_with_gn = FetchDeps(v8_path)
o['variables']['build_v8_with_gn'] = b(options.build_v8_with_gn)
# Default to non-Googler configuration.
if 'DEPOT_TOOLS_WIN_TOOLCHAIN' not in os.environ:
os.environ['DEPOT_TOOLS_WIN_TOOLCHAIN'] = '0'
depot_tools = FetchDeps(v8_path)

o['variables']['build_v8_with_gn_extra_gn_args'] = (
options.build_v8_with_gn_extra_gn_args)
o['variables']['build_v8_with_gn_max_jobs'] = (
options.build_v8_with_gn_max_jobs)
o['variables']['build_v8_with_gn_max_load'] = (
options.build_v8_with_gn_max_load)
o['variables']['build_v8_with_gn_bundled_win_toolchain'] = (
os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', ''))
o['variables']['build_v8_with_gn_bundled_win_toolchain_root'] = (
os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN_ROOT', ''))
o['variables']['build_v8_with_gn_depot_tools'] = b(depot_tools)


def configure_openssl(o):
Expand Down Expand Up @@ -1514,6 +1565,11 @@ if 'make_fips_settings' in output:
write('config_fips.gypi', do_not_edit +
pprint.pformat(config_fips, indent=2) + '\n')

if options.use_clang_cl:
make_global_settings = output.setdefault('make_global_settings', [])
make_global_settings.append(
['CC', os.path.join(clang_base_path, 'bin', 'clang-cl')])

# make_global_settings should be a root level element too
if 'make_global_settings' in output:
make_global_settings = output['make_global_settings']
Expand Down
11 changes: 11 additions & 0 deletions deps/inspector_protocol/CheckProtocolCompatibility.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env python
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import sys

import check_protocol_compatibility


sys.exit(check_protocol_compatibility.main())
6 changes: 6 additions & 0 deletions deps/inspector_protocol/CodeGenerator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env python
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import code_generator
10 changes: 10 additions & 0 deletions deps/inspector_protocol/ConvertProtocolToJSON.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env python
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import convert_protocol_to_json


def main():
convert_protocol_to_json.main()
27 changes: 27 additions & 0 deletions deps/inspector_protocol/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// Copyright 2016 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8 changes: 8 additions & 0 deletions deps/inspector_protocol/OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
set noparent

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
10 changes: 10 additions & 0 deletions deps/inspector_protocol/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Chromium inspector (devtools) protocol

This package contains code generators and templates for the Chromium
inspector protocol.

In the Chromium tree, it's rolled into
https://cs.chromium.org/chromium/src/third_party/inspector_protocol/

In the V8 tree, it's rolled into
https://cs.chromium.org/chromium/src/v8/third_party/inspector_protocol/
16 changes: 16 additions & 0 deletions deps/inspector_protocol/README.v8
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Name: inspector protocol
Short Name: inspector_protocol
URL: https://chromium.googlesource.com/deps/inspector_protocol/
Version: 0
Revision: 0d4255502019144a5dec5669d7992165ae8924e7
License: BSD
License File: LICENSE
Security Critical: no

Description:
src/inspector uses these scripts to generate handlers from protocol
description.

Local modifications:
- This only includes the lib/ and templates/ directories, scripts, build
and the LICENSE files.
Loading