Skip to content

Commit 35ce8bb

Browse files
joyeecheungtargos
authored andcommitted
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. #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: #30647 Refs: #28845 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 78c46c5 commit 35ce8bb

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

configure.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -979,13 +979,14 @@ def configure_node(o):
979979

980980
if not options.without_node_snapshot:
981981
o['variables']['node_use_node_snapshot'] = b(
982-
not cross_compiling and want_snapshots)
982+
not cross_compiling and want_snapshots and not options.shared)
983983
else:
984984
o['variables']['node_use_node_snapshot'] = 'false'
985985

986986
if not options.without_node_code_cache:
987987
# TODO(refack): fix this when implementing embedded code-cache when cross-compiling.
988-
o['variables']['node_use_node_code_cache'] = b(not cross_compiling)
988+
o['variables']['node_use_node_code_cache'] = b(
989+
not cross_compiling and not options.shared)
989990
else:
990991
o['variables']['node_use_node_code_cache'] = 'false'
991992

0 commit comments

Comments
 (0)