diff options
author | Refael Ackermann <refack@gmail.com> | 2019-02-03 15:51:20 -0500 |
---|---|---|
committer | Refael Ackermann <refack@gmail.com> | 2019-02-14 15:14:40 -0500 |
commit | 20a917c571a410c3e5abed67dc55ec495cd221cd (patch) | |
tree | f2b429f8e2b1975078534897a96793846d9e5774 /node.gyp | |
parent | 582c0d5a092b04616fef4b11b0fd893c181356f1 (diff) | |
download | node-new-20a917c571a410c3e5abed67dc55ec495cd221cd.tar.gz |
build: move optimizing link directives to node.exe target
* ASCIIbetize directives
* Merge duplicate directives from 'conditions'
PR-URL: https://github.com/nodejs/node/pull/25931
Reviewed-By: João Reis <reis@janeasystems.com>
Diffstat (limited to 'node.gyp')
-rw-r--r-- | node.gyp | 42 |
1 files changed, 40 insertions, 2 deletions
@@ -266,6 +266,16 @@ ], 'dependencies': [ 'deps/histogram/histogram.gyp:histogram' ], + 'msvs_settings': { + 'VCLinkerTool': { + 'GenerateMapFile': 'true', # /MAP + 'MapExports': 'true', # /MAPINFO:EXPORTS + 'RandomizedBaseAddress': 2, # enable ASLR + 'DataExecutionPrevention': 2, # enable DEP + 'AllowIsolation': 'true', + }, + }, + # - "C4244: conversion from 'type1' to 'type2', possible loss of data" # Ususaly safe. Disable for `dep`, enable for `src` 'msvs_disabled_warnings!': [4244], @@ -281,8 +291,7 @@ }, { 'dependencies': [ '<(node_lib_target_name)' ], }], - [ 'node_intermediate_lib_type=="static_library" and ' - 'node_shared=="false"', { + [ 'node_intermediate_lib_type=="static_library" and node_shared=="false"', { 'xcode_settings': { 'OTHER_LDFLAGS': [ '-Wl,-force_load,<(PRODUCT_DIR)/<(STATIC_LIB_PREFIX)' @@ -348,6 +357,35 @@ }], ], }], + ['node_with_ltcg=="true"', { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'WholeProgramOptimization': 'true' # /GL, whole program optimization, needed for LTCG + }, + 'VCLibrarianTool': { + 'AdditionalOptions': [ + '/LTCG:INCREMENTAL', # link time code generation + ], + }, + 'VCLinkerTool': { + 'OptimizeReferences': 2, # /OPT:REF + 'EnableCOMDATFolding': 2, # /OPT:ICF + 'LinkIncremental': 1, # disable incremental linking + 'AdditionalOptions': [ + '/LTCG:INCREMENTAL', # incremental link-time code generation + ], + } + } + }, { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'WholeProgramOptimization': 'false' + }, + 'VCLinkerTool': { + 'LinkIncremental': 2 # enable incremental linking + }, + }, + }] ], }, # node_core_target_name { |