diff --git a/node.gyp b/node.gyp index 1633ed2d832fc5..0cea898f2bd860 100644 --- a/node.gyp +++ b/node.gyp @@ -490,6 +490,19 @@ ['clang==0 and OS!="win"', { 'cflags': [ '-Wno-restrict', ], }], + # TODO(joyeecheung): investigate if it breaks addons. + # ['OS=="mac"', { + # 'xcode_settings': { + # 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden + # 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES' # -fvisibility-inlines-hidden + # }, + # }], + # ['OS!="win" or clang==1', { + # 'cflags': [ + # '-fvisibility=hidden', + # '-fvisibility-inlines-hidden' + # ], + # }], # Pointer authentication for ARM64. ['target_arch=="arm64"', { 'target_conditions': [ diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index 9ccab9214a650c..b418f6995dab2c 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -41,16 +41,20 @@ 'AdditionalOptions': ['/utf-8'] } }, + 'defines': [ + 'BUILDING_V8_SHARED', # Make V8_EXPORT visible. + ], 'conditions': [ ['OS=="mac"', { - # Hide symbols that are not explicitly exported with V8_EXPORT. - # TODO(joyeecheung): enable it on other platforms. Currently gcc times out - # or run out of memory with -fvisibility=hidden on some machines in the CI. 'xcode_settings': { 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden + 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES' # -fvisibility-inlines-hidden }, - 'defines': [ - 'BUILDING_V8_SHARED', # Make V8_EXPORT visible. + }], + ['OS!="win" or clang==1', { + 'cflags': [ + '-fvisibility=hidden', + '-fvisibility-inlines-hidden' ], }], ],