Skip to content

Commit 38d09ed

Browse files
committed
build: do not include shared gtest in node link path
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: #66626 Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com>
1 parent b9feae7 commit 38d09ed

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

‎configure.py‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1903,9 +1903,10 @@ def configure_napi(output):
19031903
version = getnapibuildversion.get_napi_version()
19041904
output['variables']['napi_build_version'] = version
19051905

1906-
def configure_library(lib, output, pkgname=None):
1906+
def configure_library(lib, output, pkgname=None, libraries_key='libraries'):
19071907
shared_lib = 'shared_' + lib
19081908
output['variables']['node_' + shared_lib] = b(getattr(options, shared_lib))
1909+
libraries = output[libraries_key]
19091910

19101911
if getattr(options, shared_lib):
19111912
(pkg_libs, pkg_cflags, pkg_libpath, _) = pkg_config(pkgname or lib)
@@ -1924,17 +1925,17 @@ def configure_library(lib, output, pkgname=None):
19241925
output['msvs_settings']['VCLinkerTool']['AdditionalOptions'] += [
19251926
f"/LIBPATH:{options.__dict__[shared_lib + '_libpath']}"]
19261927
else:
1927-
output['libraries'] += [
1928+
libraries += [
19281929
f"-L{options.__dict__[shared_lib + '_libpath']}"]
19291930
elif pkg_libpath:
1930-
output['libraries'] += [pkg_libpath]
1931+
libraries += [pkg_libpath]
19311932

19321933
default_libs = getattr(options, shared_lib + '_libname')
19331934

19341935
if default_libs:
1935-
output['libraries'] += [f'-l{l}' for l in default_libs.split(',')]
1936+
libraries += [f'-l{l}' for l in default_libs.split(',')]
19361937
elif pkg_libs:
1937-
output['libraries'] += pkg_libs.split()
1938+
libraries += pkg_libs.split()
19381939

19391940

19401941
def configure_v8(o, configs):
@@ -2526,7 +2527,9 @@ def make_bin_override():
25262527
configure_library('simdutf', output)
25272528
configure_library('brotli', output, pkgname=['libbrotlidec', 'libbrotlienc'])
25282529
configure_library('cares', output, pkgname='libcares')
2529-
configure_library('gtest', output)
2530+
# Only cctest uses gtest; keep it out of the node binary's link line.
2531+
output['variables']['node_shared_gtest_libraries'] = []
2532+
configure_library('gtest', output, 'node_shared_gtest_libraries')
25302533
configure_library('hdr_histogram', output)
25312534
configure_library('merve', output)
25322535
configure_library('nbytes', output)

‎node.gyp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
'node_shared_brotli%': 'false',
1919
'node_shared_cares%': 'false',
2020
'node_shared_gtest%': 'false',
21+
'node_shared_gtest_libraries%': [],
2122
'node_shared_hdr_histogram%': 'false',
2223
'node_shared_http_parser%': 'false',
2324
'node_shared_libuv%': 'false',
@@ -1309,7 +1310,7 @@
13091310
],
13101311
}],
13111312
[ 'node_shared_gtest=="true"', {
1312-
'libraries': [ '-lgtest_main' ],
1313+
'libraries': [ '-lgtest_main', '<@(node_shared_gtest_libraries)' ],
13131314
}],
13141315
[ 'node_shared_hdr_histogram=="false"', {
13151316
'dependencies': [

0 commit comments

Comments
 (0)