From 88beaf01f14fb042de72dfbbc15f80c71b33bc9e Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Mon, 8 Apr 2019 10:48:09 -0400 Subject: [PATCH] build,win: rename node.lib to libnode.lib eliminate the need for `rename_node_bin_win` PR-URL: https://github.com/nodejs/node/pull/27150 Reviewed-By: Joyee Cheung --- node.gyp | 42 +++--------------------------------------- vcbuild.bat | 6 +++--- 2 files changed, 6 insertions(+), 42 deletions(-) diff --git a/node.gyp b/node.gyp index 8809c5204a587e..3dfbe2fc7977a3 100644 --- a/node.gyp +++ b/node.gyp @@ -22,7 +22,7 @@ 'node_v8_options%': '', 'node_enable_v8_vtunejit%': 'false', 'node_core_target_name%': 'node', - 'node_lib_target_name%': 'node_lib', + 'node_lib_target_name%': 'libnode', 'node_intermediate_lib_type%': 'static_library', 'library_files': [ 'lib/internal/bootstrap/environment.js', @@ -335,7 +335,7 @@ 'msvs_settings': { 'VCLinkerTool': { 'AdditionalOptions': [ - '/WHOLEARCHIVE:<(node_core_target_name)<(STATIC_LIB_SUFFIX)', + '/WHOLEARCHIVE:<(node_lib_target_name)<(STATIC_LIB_SUFFIX)', ], }, }, @@ -364,12 +364,6 @@ 'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ], }, }], - [ 'node_intermediate_lib_type=="shared_library" and OS=="win"', { - # On Windows, having the same name for both executable and shared - # lib causes filename collision. Need a different PRODUCT_NAME for - # the executable and rename it back to node.exe later - 'product_name': '<(node_core_target_name)-win', - }], [ 'node_report=="true"', { 'defines': [ 'NODE_REPORT', @@ -441,9 +435,8 @@ { 'target_name': '<(node_lib_target_name)', 'type': '<(node_intermediate_lib_type)', - 'product_name': '<(node_core_target_name)', 'includes': [ - 'node.gypi' + 'node.gypi', ], 'include_dirs': [ @@ -1017,41 +1010,12 @@ } ], ] }, # specialize_node_d - { - # When using shared lib to build executable in Windows, in order to avoid - # filename collision, the executable name is node-win.exe. Need to rename - # it back to node.exe - 'target_name': 'rename_node_bin_win', - 'type': 'none', - 'dependencies': [ - '<(node_core_target_name)', - ], - 'conditions': [ - [ 'OS=="win" and node_intermediate_lib_type=="shared_library"', { - 'actions': [ - { - 'action_name': 'rename_node_bin_win', - 'inputs': [ - '<(PRODUCT_DIR)/<(node_core_target_name)-win.exe' - ], - 'outputs': [ - '<(PRODUCT_DIR)/<(node_core_target_name).exe', - ], - 'action': [ - 'move', '<@(_inputs)', '<@(_outputs)', - ], - }, - ], - } ], - ] - }, # rename_node_bin_win { 'target_name': 'cctest', 'type': 'executable', 'dependencies': [ '<(node_lib_target_name)', - 'rename_node_bin_win', 'deps/gtest/gtest.gyp:gtest', 'deps/histogram/histogram.gyp:histogram', 'node_dtrace_header', diff --git a/vcbuild.bat b/vcbuild.bat index acbf42e538350e..650218c21910fd 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -311,11 +311,11 @@ set "msbplatform=Win32" if "%target_arch%"=="x64" set "msbplatform=x64" if "%target_arch%"=="arm64" set "msbplatform=ARM64" if "%target%"=="Build" ( - if defined no_cctest set target=rename_node_bin_win - if "%test_args%"=="" set target=rename_node_bin_win + if defined no_cctest set target=node + if "%test_args%"=="" set target=node if defined cctest set target="Build" ) -if "%target%"=="rename_node_bin_win" if exist "%config%\cctest.exe" del "%config%\cctest.exe" +if "%target%"=="node" if exist "%config%\cctest.exe" del "%config%\cctest.exe" if defined msbuild_args set "extra_msbuild_args=%extra_msbuild_args% %msbuild_args%" msbuild node.sln %msbcpu% /t:%target% /p:Configuration=%config% /p:Platform=%msbplatform% /clp:NoItemAndPropertyList;Verbosity=minimal /nologo %extra_msbuild_args% if errorlevel 1 (