You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							147 lines
						
					
					
						
							4.0 KiB
						
					
					
				
			
		
		
	
	
							147 lines
						
					
					
						
							4.0 KiB
						
					
					
				{ | 
						|
  'variables' : { | 
						|
    'node_engine_include_dir%': 'deps/v8/include', | 
						|
  }, | 
						|
  'target_defaults': { | 
						|
    'type': 'loadable_module', | 
						|
    'win_delay_load_hook': 'true', | 
						|
    'product_prefix': '', | 
						|
 | 
						|
    'conditions': [ | 
						|
      [ 'node_engine=="chakracore"', { | 
						|
        'variables': { | 
						|
          'node_engine_include_dir%': 'deps/chakrashim/include' | 
						|
        }, | 
						|
      }] | 
						|
    ], | 
						|
 | 
						|
    'include_dirs': [ | 
						|
      '<(node_root_dir)/include/node', | 
						|
      '<(node_root_dir)/src', | 
						|
      '<(node_root_dir)/deps/openssl/config', | 
						|
      '<(node_root_dir)/deps/openssl/openssl/include', | 
						|
      '<(node_root_dir)/deps/uv/include', | 
						|
      '<(node_root_dir)/deps/zlib', | 
						|
      '<(node_root_dir)/<(node_engine_include_dir)' | 
						|
    ], | 
						|
    'defines!': [ | 
						|
      'BUILDING_UV_SHARED=1',  # Inherited from common.gypi. | 
						|
      'BUILDING_V8_SHARED=1',  # Inherited from common.gypi. | 
						|
    ], | 
						|
    'defines': [ | 
						|
      'NODE_GYP_MODULE_NAME=>(_target_name)', | 
						|
      'USING_UV_SHARED=1', | 
						|
      'USING_V8_SHARED=1', | 
						|
      # Warn when using deprecated V8 APIs. | 
						|
      'V8_DEPRECATION_WARNINGS=1' | 
						|
    ], | 
						|
 | 
						|
    'target_conditions': [ | 
						|
      ['_type=="loadable_module"', { | 
						|
        'product_extension': 'node', | 
						|
        'defines': [ | 
						|
          'BUILDING_NODE_EXTENSION' | 
						|
        ], | 
						|
        'xcode_settings': { | 
						|
          'OTHER_LDFLAGS': [ | 
						|
            '-undefined dynamic_lookup' | 
						|
          ], | 
						|
        }, | 
						|
      }], | 
						|
 | 
						|
      ['_type=="static_library"', { | 
						|
        # set to `1` to *disable* the -T thin archive 'ld' flag. | 
						|
        # older linkers don't support this flag. | 
						|
        'standalone_static_library': '<(standalone_static_library)' | 
						|
      }], | 
						|
 | 
						|
      ['_win_delay_load_hook=="true"', { | 
						|
        # If the addon specifies `'win_delay_load_hook': 'true'` in its | 
						|
        # binding.gyp, link a delay-load hook into the DLL. This hook ensures | 
						|
        # that the addon will work regardless of whether the node/iojs binary | 
						|
        # is named node.exe, iojs.exe, or something else. | 
						|
        'conditions': [ | 
						|
          [ 'OS=="win"', { | 
						|
            'sources': [ | 
						|
              '<(node_gyp_dir)/src/win_delay_load_hook.cc', | 
						|
            ], | 
						|
            'msvs_settings': { | 
						|
              'VCLinkerTool': { | 
						|
                'DelayLoadDLLs': [ 'iojs.exe', 'node.exe' ], | 
						|
                # Don't print a linker warning when no imports from either .exe | 
						|
                # are used. | 
						|
                'AdditionalOptions': [ '/ignore:4199' ], | 
						|
              }, | 
						|
            }, | 
						|
          }], | 
						|
        ], | 
						|
      }], | 
						|
    ], | 
						|
 | 
						|
    'conditions': [ | 
						|
      [ 'OS=="mac"', { | 
						|
        'defines': [ | 
						|
          '_DARWIN_USE_64_BIT_INODE=1' | 
						|
        ], | 
						|
        'xcode_settings': { | 
						|
          'DYLIB_INSTALL_NAME_BASE': '@rpath' | 
						|
        }, | 
						|
      }], | 
						|
      [ 'OS=="aix"', { | 
						|
        'ldflags': [ | 
						|
          '-Wl,-bimport:<(node_exp_file)' | 
						|
        ], | 
						|
      }], | 
						|
      [ 'OS=="zos"', { | 
						|
        'cflags': [ | 
						|
          '-q64', | 
						|
          '-Wc,DLL', | 
						|
          '-qlonglong' | 
						|
        ], | 
						|
        'ldflags': [ | 
						|
          '-q64', | 
						|
          '<(node_exp_file)' | 
						|
        ], | 
						|
      }], | 
						|
      [ 'OS=="win"', { | 
						|
        'conditions': [ | 
						|
          ['node_engine=="chakracore"', { | 
						|
            'library_dirs': [ '<(node_root_dir)/$(ConfigurationName)' ], | 
						|
            'libraries': [ '<@(node_engine_libs)' ], | 
						|
          }], | 
						|
        ], | 
						|
        'libraries': [ | 
						|
          '-lkernel32.lib', | 
						|
          '-luser32.lib', | 
						|
          '-lgdi32.lib', | 
						|
          '-lwinspool.lib', | 
						|
          '-lcomdlg32.lib', | 
						|
          '-ladvapi32.lib', | 
						|
          '-lshell32.lib', | 
						|
          '-lole32.lib', | 
						|
          '-loleaut32.lib', | 
						|
          '-luuid.lib', | 
						|
          '-lodbc32.lib', | 
						|
          '-lDelayImp.lib', | 
						|
          '-l"<(node_lib_file)"' | 
						|
        ], | 
						|
        'msvs_disabled_warnings': [ | 
						|
          # warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent<T>' | 
						|
          # needs to have dll-interface to be used by | 
						|
          # clients of class 'node::ObjectWrap' | 
						|
          4251 | 
						|
        ], | 
						|
      }, { | 
						|
        # OS!="win" | 
						|
        'defines': [ | 
						|
          '_LARGEFILE_SOURCE', | 
						|
          '_FILE_OFFSET_BITS=64' | 
						|
        ], | 
						|
      }], | 
						|
      [ 'OS in "freebsd openbsd netbsd solaris" or \ | 
						|
         (OS=="linux" and target_arch!="ia32")', { | 
						|
        'cflags': [ '-fPIC' ], | 
						|
      }] | 
						|
    ] | 
						|
  } | 
						|
}
 | 
						|
 |