"Fossies" - the Fresh Open Source Software Archive

Member "node-v19.8.1-win-x64/node_modules/npm/node_modules/node-gyp/addon.gypi" (16 Feb 2023, 6144 Bytes) of package /windows/www/node-v19.8.1-win-x64.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 {
    2   'variables' : {
    3     'node_engine_include_dir%': 'deps/v8/include',
    4     'node_host_binary%': 'node',
    5     'node_with_ltcg%': 'true',
    6   },
    7   'target_defaults': {
    8     'type': 'loadable_module',
    9     'win_delay_load_hook': 'true',
   10     'product_prefix': '',
   11 
   12     'conditions': [
   13       [ 'node_engine=="chakracore"', {
   14         'variables': {
   15           'node_engine_include_dir%': 'deps/chakrashim/include'
   16         },
   17       }]
   18     ],
   19 
   20     'include_dirs': [
   21       '<(node_root_dir)/include/node',
   22       '<(node_root_dir)/src',
   23       '<(node_root_dir)/deps/openssl/config',
   24       '<(node_root_dir)/deps/openssl/openssl/include',
   25       '<(node_root_dir)/deps/uv/include',
   26       '<(node_root_dir)/deps/zlib',
   27       '<(node_root_dir)/<(node_engine_include_dir)'
   28     ],
   29     'defines!': [
   30       'BUILDING_UV_SHARED=1',  # Inherited from common.gypi.
   31       'BUILDING_V8_SHARED=1',  # Inherited from common.gypi.
   32     ],
   33     'defines': [
   34       'NODE_GYP_MODULE_NAME=>(_target_name)',
   35       'USING_UV_SHARED=1',
   36       'USING_V8_SHARED=1',
   37       # Warn when using deprecated V8 APIs.
   38       'V8_DEPRECATION_WARNINGS=1'
   39     ],
   40 
   41     'target_conditions': [
   42       ['_type=="loadable_module"', {
   43         'product_extension': 'node',
   44         'defines': [
   45           'BUILDING_NODE_EXTENSION'
   46         ],
   47         'xcode_settings': {
   48           'OTHER_LDFLAGS': [
   49             '-undefined dynamic_lookup'
   50           ],
   51         },
   52       }],
   53 
   54       ['_type=="static_library"', {
   55         # set to `1` to *disable* the -T thin archive 'ld' flag.
   56         # older linkers don't support this flag.
   57         'standalone_static_library': '<(standalone_static_library)'
   58       }],
   59 
   60       ['_type!="executable"', {
   61         'conditions': [
   62           [ 'OS=="android"', {
   63             'cflags!': [ '-fPIE' ],
   64           }]
   65         ]
   66       }],
   67 
   68       ['_win_delay_load_hook=="true"', {
   69         # If the addon specifies `'win_delay_load_hook': 'true'` in its
   70         # binding.gyp, link a delay-load hook into the DLL. This hook ensures
   71         # that the addon will work regardless of whether the node/iojs binary
   72         # is named node.exe, iojs.exe, or something else.
   73         'conditions': [
   74           [ 'OS=="win"', {
   75             'defines': [ 'HOST_BINARY=\"<(node_host_binary)<(EXECUTABLE_SUFFIX)\"', ],
   76             'sources': [
   77               '<(node_gyp_dir)/src/win_delay_load_hook.cc',
   78             ],
   79             'msvs_settings': {
   80               'VCLinkerTool': {
   81                 'DelayLoadDLLs': [ '<(node_host_binary)<(EXECUTABLE_SUFFIX)' ],
   82                 # Don't print a linker warning when no imports from either .exe
   83                 # are used.
   84                 'AdditionalOptions': [ '/ignore:4199' ],
   85               },
   86             },
   87           }],
   88         ],
   89       }],
   90     ],
   91 
   92     'conditions': [
   93       [ 'OS=="mac"', {
   94         'defines': [
   95           '_DARWIN_USE_64_BIT_INODE=1'
   96         ],
   97         'xcode_settings': {
   98           'DYLIB_INSTALL_NAME_BASE': '@rpath'
   99         },
  100       }],
  101       [ 'OS=="aix"', {
  102         'ldflags': [
  103           '-Wl,-bimport:<(node_exp_file)'
  104         ],
  105       }],
  106       [ 'OS=="os400"', {
  107         'ldflags': [
  108           '-Wl,-bimport:<(node_exp_file)'
  109         ],
  110       }],
  111       [ 'OS=="zos"', {
  112         'conditions': [
  113           [ '"<!(echo $CC)" != "clang" and \
  114              "<!(echo $CC)" != "ibm-clang64" and \
  115              "<!(echo $CC)" != "ibm-clang"', {
  116             'cflags': [
  117               '-q64',
  118               '-Wc,DLL',
  119               '-qlonglong',
  120               '-qenum=int',
  121               '-qxclang=-fexec-charset=ISO8859-1'
  122             ],
  123             'ldflags': [
  124               '-q64',
  125               '<(node_exp_file)',
  126             ],
  127           }, {
  128             'cflags': [
  129               '-m64',
  130             ],
  131             'ldflags': [
  132               '-m64',
  133               '<(node_exp_file)',
  134             ],
  135           }],
  136         ],
  137         'defines': [
  138           '_ALL_SOURCE',
  139           'MAP_FAILED=-1',
  140           '_UNIX03_SOURCE',
  141         ],
  142       }],
  143       [ 'OS=="win"', {
  144         'conditions': [
  145           ['node_engine=="chakracore"', {
  146             'library_dirs': [ '<(node_root_dir)/$(ConfigurationName)' ],
  147             'libraries': [ '<@(node_engine_libs)' ],
  148           }],
  149           ['node_with_ltcg=="true"', {
  150             'msvs_settings': {
  151               'VCCLCompilerTool': {
  152                 'WholeProgramOptimization': 'true' # /GL, whole program optimization, needed for LTCG
  153               },
  154               'VCLibrarianTool': {
  155                 'AdditionalOptions': [
  156                   '/LTCG:INCREMENTAL', # incremental link-time code generation
  157                 ]
  158               },
  159               'VCLinkerTool': {
  160                 'OptimizeReferences': 2, # /OPT:REF
  161                 'EnableCOMDATFolding': 2, # /OPT:ICF
  162                 'LinkIncremental': 1, # disable incremental linking
  163                 'AdditionalOptions': [
  164                   '/LTCG:INCREMENTAL', # incremental link-time code generation
  165                 ]
  166               }
  167             }
  168           }]
  169         ],
  170         'libraries': [
  171           '-lkernel32.lib',
  172           '-luser32.lib',
  173           '-lgdi32.lib',
  174           '-lwinspool.lib',
  175           '-lcomdlg32.lib',
  176           '-ladvapi32.lib',
  177           '-lshell32.lib',
  178           '-lole32.lib',
  179           '-loleaut32.lib',
  180           '-luuid.lib',
  181           '-lodbc32.lib',
  182           '-lDelayImp.lib',
  183           '-l"<(node_lib_file)"'
  184         ],
  185         'msvs_disabled_warnings': [
  186           # warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent<T>'
  187           # needs to have dll-interface to be used by
  188           # clients of class 'node::ObjectWrap'
  189           4251
  190         ],
  191       }, {
  192         # OS!="win"
  193         'defines': [
  194           '_LARGEFILE_SOURCE',
  195           '_FILE_OFFSET_BITS=64'
  196         ],
  197       }],
  198       [ 'OS in "freebsd openbsd netbsd solaris android" or \
  199          (OS=="linux" and target_arch!="ia32")', {
  200         'cflags': [ '-fPIC' ],
  201       }],
  202     ]
  203   }
  204 }