summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2019-11-26 13:03:22 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2019-12-03 17:30:30 +0800
commit6fd289860190f80b616fdb126bb97ce3f8a0a1c7 (patch)
treee423b347d2a851b8409c2ca356d8822dbc96be9f
parentcc3f2b386c6ee34f5574c69c29647165a9bc3aef (diff)
downloadandroid-node-v8-6fd289860190f80b616fdb126bb97ce3f8a0a1c7.tar.gz
android-node-v8-6fd289860190f80b616fdb126bb97ce3f8a0a1c7.tar.bz2
android-node-v8-6fd289860190f80b616fdb126bb97ce3f8a0a1c7.zip
build: add --without-node-code-cache configure option
So that it's possible to build without code cache (in particular, without building mkcodecache) for testing. PR-URL: https://github.com/nodejs/node/pull/30647 Refs: https://github.com/nodejs/node/issues/28845 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
-rwxr-xr-xconfigure.py15
-rw-r--r--node.gyp2
-rw-r--r--test/parallel/test-code-cache.js7
3 files changed, 16 insertions, 8 deletions
diff --git a/configure.py b/configure.py
index 959c1db651..61708a4447 100755
--- a/configure.py
+++ b/configure.py
@@ -455,6 +455,11 @@ parser.add_option('--without-node-snapshot',
dest='without_node_snapshot',
help='Turn off V8 snapshot integration. Currently experimental.')
+parser.add_option('--without-node-code-cache',
+ action='store_true',
+ dest='without_node_code_cache',
+ help='Turn off V8 Code cache integration.')
+
intl_optgroup.add_option('--download',
action='store',
dest='download_list',
@@ -980,6 +985,12 @@ def configure_node(o):
else:
o['variables']['node_use_node_snapshot'] = 'false'
+ if not options.without_node_code_cache:
+ # TODO(refack): fix this when implementing embedded code-cache when cross-compiling.
+ o['variables']['node_use_node_code_cache'] = b(not cross_compiling)
+ else:
+ o['variables']['node_use_node_code_cache'] = 'false'
+
if target_arch == 'arm':
configure_arm(o)
elif target_arch in ('mips', 'mipsel', 'mips64el'):
@@ -1100,9 +1111,7 @@ def configure_node(o):
o['variables']['debug_nghttp2'] = 'false'
o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
- # TODO(refack): fix this when implementing embedded code-cache when cross-compiling.
- if o['variables']['want_separate_host_toolset'] == 0:
- o['variables']['node_code_cache'] = 'yes' # For testing
+
o['variables']['node_shared'] = b(options.shared)
node_module_version = getmoduleversion.get_version()
diff --git a/node.gyp b/node.gyp
index cffd150845..8becce9062 100644
--- a/node.gyp
+++ b/node.gyp
@@ -436,7 +436,7 @@
},
},
}],
- ['want_separate_host_toolset==0', {
+ ['node_use_node_code_cache=="true"', {
'dependencies': [
'mkcodecache',
],
diff --git a/test/parallel/test-code-cache.js b/test/parallel/test-code-cache.js
index d01392f1ee..3c4488c557 100644
--- a/test/parallel/test-code-cache.js
+++ b/test/parallel/test-code-cache.js
@@ -33,6 +33,8 @@ const loadedModules = process.moduleLoadList
// are all compiled without cache and we are doing the bookkeeping right.
if (!process.features.cached_builtins) {
console.log('The binary is not configured with code cache');
+ assert(!process.config.variables.node_use_node_code_cache);
+
if (isMainThread) {
assert.deepStrictEqual(compiledWithCache, new Set());
for (const key of loadedModules) {
@@ -46,10 +48,7 @@ if (!process.features.cached_builtins) {
assert.notDeepStrictEqual(compiledWithCache, new Set());
}
} else { // Native compiled
- assert.strictEqual(
- process.config.variables.node_code_cache,
- 'yes'
- );
+ assert(process.config.variables.node_use_node_code_cache);
if (!isMainThread) {
for (const key of [ 'internal/bootstrap/pre_execution' ]) {