mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 21:19:50 +01:00
build: do not build mksnapshot and mkcodecache for --shared
To build mkcodecache and mksnapshot (they are executables), we currently build libnode with unresolved symbols, then build the two exectuables with src/node_snapshot_stub.cc and src/node_code_cache_stub.cc. Each of them write a C++ file to disk when being run. We then use the generated C++ files & libnode (with unresolved symbols) to build the final Node executable. However, if libnode itself is the final product, then we should not build it with unresolved symbols. https://github.com/nodejs/node/pull/28897 added the two stubs for the libnode target when the --shared configure option is used, but it did not get rid of the actions to build and run mksnapshot and mkcodecache for --shared, so to get it working we also need a patch to make sure --shared imply --without-node-code-cache and --without-node-snapshot, until we actually fix the TODO so that mksnapshot and mkcodecache do not use the libnode that way. 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>
This commit is contained in:
parent
6fd2898601
commit
8cf8eb16ac
@ -981,13 +981,15 @@ def configure_node(o):
|
||||
o['variables']['want_separate_host_toolset'] = int(cross_compiling)
|
||||
|
||||
if not options.without_node_snapshot:
|
||||
o['variables']['node_use_node_snapshot'] = b(not cross_compiling)
|
||||
o['variables']['node_use_node_snapshot'] = b(
|
||||
not cross_compiling and not options.shared)
|
||||
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)
|
||||
o['variables']['node_use_node_code_cache'] = b(
|
||||
not cross_compiling and not options.shared)
|
||||
else:
|
||||
o['variables']['node_use_node_code_cache'] = 'false'
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user