| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -491,6 +491,19 @@ | |||
| 491 | 491 | ['clang==0 and OS!="win"', { | |
| 492 | 492 | 'cflags': [ '-Wno-restrict', ], | |
| 493 | 493 | }], | |
| 494 | + # TODO(joyeecheung): investigate if it breaks addons. | ||
| 495 | + # ['OS=="mac"', { | ||
| 496 | + # 'xcode_settings': { | ||
| 497 | + # 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden | ||
| 498 | + # 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES' # -fvisibility-inlines-hidden | ||
| 499 | + # }, | ||
| 500 | + # }], | ||
| 501 | + # ['OS!="win" or clang==1', { | ||
| 502 | + # 'cflags': [ | ||
| 503 | + # '-fvisibility=hidden', | ||
| 504 | + # '-fvisibility-inlines-hidden' | ||
| 505 | + # ], | ||
| 506 | + # }], | ||
| 494 | 507 | # Pointer authentication for ARM64. | |
| 495 | 508 | ['target_arch=="arm64"', { | |
| 496 | 509 | 'target_conditions': [ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -46,22 +46,31 @@ | |||
| 46 | 46 | } | |
| 47 | 47 | }, | |
| 48 | 48 | 'conditions': [ | |
| 49 | - ['OS=="mac"', { | ||
| 50 | - # Hide symbols that are not explicitly exported with V8_EXPORT. | ||
| 51 | - # TODO(joyeecheung): enable it on other platforms. Currently gcc times out | ||
| 52 | - # or run out of memory with -fvisibility=hidden on some machines in the CI. | ||
| 53 | - 'xcode_settings': { | ||
| 54 | - 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden | ||
| 55 | - }, | ||
| 49 | + # Build with -fvisibility=hidden and -fvisibility-inlines-hidden to avoid | ||
| 50 | + # including unnecessary internal symbols, which may lead to run-time fixups. | ||
| 51 | + # This is not done on AIX where symbols are exported by tools/create_expfile.sh | ||
| 52 | + # see https://github.com/nodejs/node/pull/56290#issuecomment-2582703109 | ||
| 53 | + ['OS!="aix"', { | ||
| 56 | 54 | 'defines': [ | |
| 57 | 55 | 'BUILDING_V8_SHARED', # Make V8_EXPORT visible. | |
| 58 | - ], | ||
| 56 | + ] | ||
| 59 | 57 | }], | |
| 60 | 58 | ['node_shared=="true"', { | |
| 61 | 59 | 'defines': [ | |
| 62 | 60 | 'V8_TLS_USED_IN_LIBRARY', # Enable V8_TLS_LIBRARY_MODE. | |
| 63 | 61 | ], | |
| 64 | 62 | }], | |
| 63 | + ['OS=="mac"', { | ||
| 64 | + 'xcode_settings': { | ||
| 65 | + 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden | ||
| 66 | + 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES' # -fvisibility-inlines-hidden | ||
| 67 | + }, | ||
| 68 | + }, 'OS!="aix" and (OS!="win" or clang==1)', { | ||
| 69 | + 'cflags': [ | ||
| 70 | + '-fvisibility=hidden', | ||
| 71 | + '-fvisibility-inlines-hidden' | ||
| 72 | + ], | ||
| 73 | + }], # MSVC hides the non-public symbols by default so no need to configure it. | ||
| 65 | 74 | ], | |
| 66 | 75 | }, | |
| 67 | 76 | 'targets': [ | |
| Back | FazBrowse Home | New Git URL |
0 commit comments