2013-06-19 13:31:57 +00:00
|
|
|
{
|
2015-04-01 12:26:46 +00:00
|
|
|
'includes': [
|
|
|
|
'vendor/brightray/brightray.gypi',
|
|
|
|
],
|
2013-06-19 13:31:57 +00:00
|
|
|
'variables': {
|
|
|
|
'clang': 0,
|
2014-09-30 13:35:22 +00:00
|
|
|
'openssl_no_asm': 1,
|
2013-06-19 13:31:57 +00:00
|
|
|
'conditions': [
|
2013-12-31 11:27:31 +00:00
|
|
|
['OS=="mac" or OS=="linux"', {
|
2013-06-19 13:31:57 +00:00
|
|
|
'clang': 1,
|
|
|
|
}],
|
|
|
|
],
|
2014-12-10 01:25:45 +00:00
|
|
|
# Required by breakpad.
|
|
|
|
'os_bsd': 0,
|
2013-07-02 01:16:56 +00:00
|
|
|
# Reflects node's config.gypi.
|
2013-12-09 15:18:36 +00:00
|
|
|
'component%': 'static_library',
|
2013-07-02 01:16:56 +00:00
|
|
|
'python': 'python',
|
|
|
|
'node_install_npm': 'false',
|
|
|
|
'node_prefix': '',
|
|
|
|
'node_shared_cares': 'false',
|
|
|
|
'node_shared_http_parser': 'false',
|
|
|
|
'node_shared_libuv': 'false',
|
|
|
|
'node_shared_openssl': 'false',
|
|
|
|
'node_shared_v8': 'true',
|
|
|
|
'node_shared_zlib': 'false',
|
|
|
|
'node_tag': '',
|
|
|
|
'node_use_dtrace': 'false',
|
|
|
|
'node_use_etw': 'false',
|
2014-06-28 11:31:04 +00:00
|
|
|
'node_use_mdb': 'false',
|
2013-07-02 01:16:56 +00:00
|
|
|
'node_use_openssl': 'true',
|
|
|
|
'node_use_perfctr': 'false',
|
2014-06-28 11:31:04 +00:00
|
|
|
'uv_library': 'static_library',
|
|
|
|
'uv_parent_path': 'vendor/node/deps/uv',
|
|
|
|
'uv_use_dtrace': 'false',
|
2013-12-09 15:18:36 +00:00
|
|
|
'v8_postmortem_support': 'false',
|
2014-12-07 21:09:50 +00:00
|
|
|
'v8_enable_i18n_support': 'false',
|
2014-02-26 07:20:57 +00:00
|
|
|
# Required by Linux (empty for now, should support it in future).
|
|
|
|
'sysroot': '',
|
2013-06-19 13:31:57 +00:00
|
|
|
},
|
2013-07-01 09:58:01 +00:00
|
|
|
# Settings to compile node under Windows.
|
|
|
|
'target_defaults': {
|
|
|
|
'target_conditions': [
|
2015-04-01 12:26:46 +00:00
|
|
|
['_target_name in ["libuv", "http_parser", "cares", "openssl", "openssl-cli", "node", "zlib"]', {
|
2013-07-01 09:58:01 +00:00
|
|
|
'msvs_disabled_warnings': [
|
2014-06-27 03:04:58 +00:00
|
|
|
4703, # potentially uninitialized local pointer variable 'req' used
|
2013-07-01 09:58:01 +00:00
|
|
|
4013, # 'free' undefined; assuming extern returning int
|
|
|
|
4054, #
|
|
|
|
4057, # 'function' : 'volatile LONG *' differs in indirection to slightly different base types from 'unsigned long *'
|
|
|
|
4189, #
|
|
|
|
4131, # uses old-style declarator
|
|
|
|
4133, # incompatible types
|
2013-12-17 06:01:40 +00:00
|
|
|
4146, # unary minus operator applied to unsigned type, result still unsigned
|
2013-07-01 09:58:01 +00:00
|
|
|
4152, # function/data pointer conversion in expression
|
|
|
|
4206, # translation unit is empty
|
|
|
|
4204, # non-constant aggregate initializer
|
2013-07-01 10:45:46 +00:00
|
|
|
4214, # bit field types other than int
|
2013-07-01 10:36:58 +00:00
|
|
|
4232, # address of dllimport 'free' is not static, identity not guaranteed
|
2014-01-13 10:43:09 +00:00
|
|
|
4291, # no matching operator delete found
|
2013-07-01 10:36:58 +00:00
|
|
|
4295, # array is too small to include a terminating null character
|
2013-07-01 09:58:01 +00:00
|
|
|
4389, # '==' : signed/unsigned mismatch
|
|
|
|
4505, # unreferenced local function has been removed
|
|
|
|
4701, # potentially uninitialized local variable 'sizew' used
|
|
|
|
4706, # assignment within conditional expression
|
2014-01-13 10:41:40 +00:00
|
|
|
4804, # unsafe use of type 'bool' in operation
|
|
|
|
4996, # this function or variable may be unsafe.
|
2013-07-01 09:58:01 +00:00
|
|
|
],
|
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
'WarnAsError': 'false',
|
|
|
|
},
|
|
|
|
},
|
2013-07-02 01:16:56 +00:00
|
|
|
'xcode_settings': {
|
2013-11-12 10:16:37 +00:00
|
|
|
'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO',
|
|
|
|
'WARNING_CFLAGS': [
|
|
|
|
'-Wno-parentheses-equality',
|
|
|
|
'-Wno-unused-function',
|
|
|
|
'-Wno-sometimes-uninitialized',
|
|
|
|
'-Wno-pointer-sign',
|
|
|
|
'-Wno-string-plus-int',
|
|
|
|
'-Wno-unused-variable',
|
|
|
|
'-Wno-deprecated-declarations',
|
|
|
|
'-Wno-return-type',
|
2014-12-03 23:21:50 +00:00
|
|
|
'-Wno-gnu-folding-constant',
|
2013-11-12 10:16:37 +00:00
|
|
|
],
|
2013-07-02 01:16:56 +00:00
|
|
|
},
|
2013-12-31 11:40:19 +00:00
|
|
|
'conditions': [
|
|
|
|
['OS=="linux"', {
|
|
|
|
'cflags': [
|
|
|
|
'-Wno-parentheses-equality',
|
|
|
|
'-Wno-unused-function',
|
|
|
|
'-Wno-sometimes-uninitialized',
|
|
|
|
'-Wno-pointer-sign',
|
|
|
|
'-Wno-string-plus-int',
|
|
|
|
'-Wno-unused-variable',
|
2014-02-20 10:58:56 +00:00
|
|
|
'-Wno-unused-value',
|
2013-12-31 11:40:19 +00:00
|
|
|
'-Wno-deprecated-declarations',
|
|
|
|
'-Wno-return-type',
|
2015-04-01 15:44:55 +00:00
|
|
|
# Fix relocation error when compiling as shared library.
|
|
|
|
'-fPIC',
|
2013-12-31 11:40:19 +00:00
|
|
|
],
|
|
|
|
}],
|
|
|
|
],
|
2013-07-01 09:58:01 +00:00
|
|
|
}],
|
2015-04-01 12:26:46 +00:00
|
|
|
['_target_name in ["node", "atom_lib"]', {
|
2013-12-09 15:18:36 +00:00
|
|
|
'include_dirs': [
|
2015-04-03 03:38:04 +00:00
|
|
|
'<(libchromiumcontent_src_dir)/v8/include',
|
2013-12-09 15:18:36 +00:00
|
|
|
],
|
|
|
|
}],
|
2015-04-01 12:26:46 +00:00
|
|
|
['_target_name=="node"', {
|
2015-04-03 03:38:04 +00:00
|
|
|
'conditions': [
|
|
|
|
['OS=="mac"', {
|
|
|
|
'libraries': [ '-undefined dynamic_lookup' ],
|
|
|
|
'xcode_settings': {
|
|
|
|
'DYLIB_INSTALL_NAME_BASE': '@rpath'
|
|
|
|
},
|
|
|
|
}],
|
|
|
|
['OS=="win"', {
|
|
|
|
'libraries': [
|
|
|
|
'<(libchromiumcontent_root_dir)/shared_library/v8.dll.lib',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
['OS=="linux"', {
|
|
|
|
'cflags': [ '-fPIC' ],
|
|
|
|
}],
|
|
|
|
]
|
2015-04-01 12:26:46 +00:00
|
|
|
}],
|
2013-10-28 02:43:01 +00:00
|
|
|
['_target_name=="libuv"', {
|
|
|
|
'conditions': [
|
|
|
|
['OS=="win"', {
|
|
|
|
# Expose libuv's symbols.
|
|
|
|
'defines': [
|
|
|
|
'BUILDING_UV_SHARED=1',
|
|
|
|
],
|
|
|
|
}], # OS=="win"
|
|
|
|
],
|
|
|
|
}],
|
2013-11-15 14:52:08 +00:00
|
|
|
['_target_name.startswith("breakpad") or _target_name in ["crash_report_sender", "dump_syms"]', {
|
2014-02-26 07:43:22 +00:00
|
|
|
'conditions': [
|
|
|
|
['OS=="mac"', {
|
|
|
|
'xcode_settings': {
|
|
|
|
'WARNING_CFLAGS': [
|
|
|
|
'-Wno-deprecated-declarations',
|
2014-05-09 02:04:13 +00:00
|
|
|
'-Wno-deprecated-register',
|
2014-02-26 07:43:22 +00:00
|
|
|
'-Wno-unused-private-field',
|
|
|
|
'-Wno-unused-function',
|
|
|
|
],
|
|
|
|
},
|
|
|
|
}], # OS=="mac"
|
|
|
|
['OS=="linux"', {
|
|
|
|
'cflags': [
|
|
|
|
'-Wno-empty-body',
|
|
|
|
],
|
|
|
|
}], # OS=="linux"
|
|
|
|
],
|
2013-11-12 10:16:37 +00:00
|
|
|
}],
|
2015-01-16 01:02:04 +00:00
|
|
|
['_type in ["executable", "shared_library"]', {
|
|
|
|
# On some machines setting CLANG_CXX_LIBRARY doesn't work for linker.
|
|
|
|
'xcode_settings': {
|
|
|
|
'OTHER_LDFLAGS': [
|
|
|
|
'-stdlib=libc++'
|
|
|
|
],
|
|
|
|
},
|
|
|
|
}],
|
2013-07-01 09:58:01 +00:00
|
|
|
],
|
|
|
|
'msvs_cygwin_shell': 0, # Strangely setting it to 1 would make building under cygwin fail.
|
|
|
|
'msvs_disabled_warnings': [
|
|
|
|
4005, # (node.h) macro redefinition
|
2013-07-02 10:47:51 +00:00
|
|
|
4189, # local variable is initialized but not referenced
|
2013-07-01 09:58:01 +00:00
|
|
|
4201, # (uv.h) nameless struct/union
|
2014-12-16 19:27:38 +00:00
|
|
|
4503, # decorated name length exceeded, name was truncated
|
2013-07-01 09:58:01 +00:00
|
|
|
4800, # (v8.h) forcing value to bool 'true' or 'false'
|
|
|
|
4819, # The file contains a character that cannot be represented in the current code page
|
2014-06-27 03:04:58 +00:00
|
|
|
4996, # (atlapp.h) 'GetVersionExW': was declared deprecated
|
2013-07-01 09:58:01 +00:00
|
|
|
],
|
2013-07-09 02:22:38 +00:00
|
|
|
'msvs_settings': {
|
2013-10-26 11:39:45 +00:00
|
|
|
'VCCLCompilerTool': {
|
|
|
|
# Programs that use the Standard C++ library must be compiled with C++
|
|
|
|
# exception handling enabled.
|
|
|
|
# http://support.microsoft.com/kb/154419
|
|
|
|
'ExceptionHandling': 1,
|
|
|
|
},
|
2013-07-09 02:22:38 +00:00
|
|
|
'VCLinkerTool': {
|
|
|
|
'AdditionalOptions': [
|
|
|
|
# ATL 8.0 included in WDK 7.1 makes the linker to generate following
|
|
|
|
# warnings:
|
|
|
|
# - warning LNK4254: section 'ATL' (50000040) merged into
|
|
|
|
# '.rdata' (40000040) with different attributes
|
|
|
|
# - warning LNK4078: multiple 'ATL' sections found with
|
|
|
|
# different attributes
|
|
|
|
'/ignore:4254',
|
|
|
|
'/ignore:4078',
|
|
|
|
# views_chromiumcontent.lib generates this warning because it's
|
|
|
|
# symobls are defined as dllexport but used as static library:
|
|
|
|
# - warning LNK4217: locally defined symbol imported in function
|
2013-07-24 10:33:27 +00:00
|
|
|
# - warning LNK4049: locally defined symbol imported
|
2013-07-09 02:22:38 +00:00
|
|
|
'/ignore:4217',
|
2013-07-24 10:33:27 +00:00
|
|
|
'/ignore:4049',
|
2013-07-09 02:22:38 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
2013-11-15 14:52:08 +00:00
|
|
|
'xcode_settings': {
|
|
|
|
'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
|
|
|
|
},
|
2013-07-01 09:58:01 +00:00
|
|
|
},
|
2013-06-19 13:31:57 +00:00
|
|
|
'conditions': [
|
2013-07-01 09:58:01 +00:00
|
|
|
# Settings to compile with clang under OS X.
|
2013-06-19 13:31:57 +00:00
|
|
|
['clang==1', {
|
|
|
|
'make_global_settings': [
|
|
|
|
['CC', '/usr/bin/clang'],
|
|
|
|
['CXX', '/usr/bin/clang++'],
|
|
|
|
['LINK', '$(CXX)'],
|
|
|
|
['CC.host', '$(CC)'],
|
|
|
|
['CXX.host', '$(CXX)'],
|
|
|
|
['LINK.host', '$(LINK)'],
|
|
|
|
],
|
|
|
|
'target_defaults': {
|
|
|
|
'cflags_cc': [
|
2015-01-15 01:40:24 +00:00
|
|
|
'-std=c++11',
|
2013-06-19 13:31:57 +00:00
|
|
|
],
|
|
|
|
'xcode_settings': {
|
|
|
|
'CC': '/usr/bin/clang',
|
|
|
|
'LDPLUSPLUS': '/usr/bin/clang++',
|
|
|
|
'OTHER_CFLAGS': [
|
|
|
|
'-fcolor-diagnostics',
|
|
|
|
],
|
|
|
|
|
|
|
|
'GCC_C_LANGUAGE_STANDARD': 'c99', # -std=c99
|
2015-01-15 01:40:24 +00:00
|
|
|
'CLANG_CXX_LIBRARY': 'libc++', # -stdlib=libc++
|
|
|
|
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
|
2013-06-19 13:31:57 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}], # clang==1
|
2013-11-19 12:43:30 +00:00
|
|
|
# The breakdpad on Windows assumes Debug_x64 and Release_x64 configurations.
|
|
|
|
['OS=="win"', {
|
|
|
|
'target_defaults': {
|
|
|
|
'configurations': {
|
|
|
|
'Debug_x64': {
|
|
|
|
},
|
|
|
|
'Release_x64': {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}], # OS=="win"
|
2014-01-21 12:34:35 +00:00
|
|
|
# The breakdpad on Mac assumes Release_Base configuration.
|
|
|
|
['OS=="mac"', {
|
|
|
|
'target_defaults': {
|
|
|
|
'configurations': {
|
|
|
|
'Release_Base': {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}], # OS=="mac"
|
2014-03-03 04:35:52 +00:00
|
|
|
# The breakpad on Linux needs the binary to be built with -g to generate
|
|
|
|
# unmangled symbols.
|
|
|
|
['OS=="linux"', {
|
|
|
|
'target_defaults': {
|
|
|
|
'cflags': [ '-g' ],
|
|
|
|
'conditions': [
|
|
|
|
['target_arch=="ia32"', {
|
|
|
|
'target_conditions': [
|
|
|
|
['_toolset=="target"', {
|
|
|
|
'ldflags': [
|
|
|
|
# Workaround for linker OOM.
|
|
|
|
'-Wl,--no-keep-memory',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
],
|
|
|
|
},
|
|
|
|
}],
|
2013-06-19 13:31:57 +00:00
|
|
|
],
|
|
|
|
}
|