3 'vendor/brightray/brightray.gypi',
14 # Tell crashpad to build as external project.
15 'crashpad_dependencies': 'external',
16 # Required by breakpad.
19 # Reflects node's config.gypi.
20 'component%': 'static_library',
25 'OPENSSL_PRODUCT': 'libopenssl.a',
26 'node_release_urlbase': 'https://atom.io/download/atom-shell',
27 'node_byteorder': '<!(node <(DEPTH)/tools/get-endianness.js)',
28 'node_target_type': 'shared_library',
29 'node_install_npm': 'false',
31 'node_shared': 'true',
32 'node_shared_cares': 'false',
33 'node_shared_http_parser': 'false',
34 'node_shared_libuv': 'false',
35 'node_shared_openssl': 'false',
36 'node_shared_v8': 'true',
37 'node_shared_zlib': 'false',
39 'node_use_dtrace': 'false',
40 'node_use_etw': 'false',
41 'node_use_mdb': 'false',
42 'node_use_openssl': 'true',
43 'node_use_perfctr': 'false',
44 'node_use_v8_platform': 'false',
45 'node_use_bundled_v8': 'false',
46 'node_enable_d8': 'false',
47 'uv_library': 'static_library',
48 'uv_parent_path': 'vendor/node/deps/uv',
49 'uv_use_dtrace': 'false',
51 'v8_postmortem_support': 'false',
52 'v8_enable_i18n_support': 'false',
53 'v8_inspector': 'false',
55 # Settings to compile node under Windows.
57 'target_conditions': [
58 ['_target_name in ["libuv", "http_parser", "openssl", "openssl-cli", "cares", "node", "zlib"]', {
59 'msvs_disabled_warnings': [
60 4003, # not enough actual parameters for macro 'V'
61 4013, # 'free' undefined; assuming extern returning int
62 4018, # signed/unsigned mismatch
64 4055, # 'type cast' : from data pointer 'void *' to function pointer
65 4057, # 'function' : 'volatile LONG *' differs in indirection to slightly different base types from 'unsigned long *'
66 4065, # switch statement contains 'default' but no 'case' labels
68 4131, # uses old-style declarator
69 4133, # incompatible types
70 4146, # unary minus operator applied to unsigned type, result still unsigned
71 4164, # intrinsic function not declared
72 4152, # function/data pointer conversion in expression
73 4206, # translation unit is empty
74 4204, # non-constant aggregate initializer
75 4210, # nonstandard extension used : function given file scope
76 4214, # bit field types other than int
77 4232, # address of dllimport 'free' is not static, identity not guaranteed
78 4291, # no matching operator delete found
79 4295, # array is too small to include a terminating null character
80 4311, # 'type cast': pointer truncation from 'void *const ' to 'unsigned long'
81 4389, # '==' : signed/unsigned mismatch
82 4456, # declaration of 'm' hides previous local declaration
83 4457, # declaration of 'message' hides function parameter
84 4459, # declaration of 'wq' hides global declaration
85 4477, # format string '%.*s' requires an argument of type 'int'
86 4505, # unreferenced local function has been removed
87 4701, # potentially uninitialized local variable 'sizew' used
88 4703, # potentially uninitialized local pointer variable 'req' used
89 4706, # assignment within conditional expression
90 4804, # unsafe use of type 'bool' in operation
91 4996, # this function or variable may be unsafe.
95 'WarnAsError': 'false',
99 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO',
101 '-Wno-unknown-warning-option',
102 '-Wno-parentheses-equality',
103 '-Wno-unused-function',
104 '-Wno-sometimes-uninitialized',
107 '-Wno-string-plus-int',
108 '-Wno-unused-variable',
109 '-Wno-deprecated-declarations',
111 '-Wno-gnu-folding-constant',
112 '-Wno-shift-negative-value',
113 '-Wno-varargs', # https://git.io/v6Olj
119 '-Wno-parentheses-equality',
120 '-Wno-unused-function',
121 '-Wno-sometimes-uninitialized',
123 '-Wno-string-plus-int',
124 '-Wno-unused-variable',
126 '-Wno-deprecated-declarations',
128 '-Wno-shift-negative-value',
130 '-Wno-varargs', # https://git.io/v6Olj
131 # Required when building as shared library.
137 ['_target_name=="node"', {
139 '<(libchromiumcontent_src_dir)',
140 '<(libchromiumcontent_src_dir)/third_party/icu/source/common',
141 '<(libchromiumcontent_src_dir)/third_party/icu/source/i18n',
142 '<(libchromiumcontent_src_dir)/v8',
143 '<(libchromiumcontent_src_dir)/v8/include',
146 ['OS=="mac" and libchromiumcontent_component==0', {
147 # -all_load is the "whole-archive" on macOS.
149 'OTHER_LDFLAGS': [ '-Wl,-all_load' ],
153 # Fix passing fd across modules, see |osfhandle.h| for more.
155 '<(DEPTH)/atom/node/osfhandle.cc',
156 '<(DEPTH)/atom/node/osfhandle.h',
159 '<(DEPTH)/atom/node',
162 # Node is using networking API but linking with this itself.
169 ['OS=="linux" and libchromiumcontent_component==0', {
170 # Prevent the linker from stripping symbols.
172 '-Wl,--whole-archive',
173 '<@(libchromiumcontent_v8_libraries)',
174 '-Wl,--no-whole-archive',
177 'libraries': [ '<@(libchromiumcontent_v8_libraries)' ],
181 ['_target_name=="openssl"', {
183 'DEAD_CODE_STRIPPING': 'YES', # -Wl,-dead_strip
184 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
185 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',
188 '-fvisibility=hidden',
191 ['_target_name=="libuv"', {
194 # Expose libuv's symbols.
196 'BUILDING_UV_SHARED=1',
201 ['_target_name.startswith("crashpad")', {
206 '-Wno-unused-private-field',
207 '-Wno-address-of-packed-member',
213 ['_target_name.startswith("breakpad") or _target_name in ["crash_report_sender", "dump_syms"]', {
218 '-Wno-deprecated-declarations',
219 '-Wno-deprecated-register',
220 '-Wno-unused-private-field',
221 '-Wno-unused-function',
231 'msvs_disabled_warnings': [
232 # unreferenced local function has been removed.
239 'msvs_cygwin_shell': 0, # Strangely setting it to 1 would make building under cygwin fail.
240 'msvs_disabled_warnings': [
241 4005, # (node.h) macro redefinition
242 4091, # (node_extern.h) '__declspec(dllimport)' : ignored on left of 'node::Environment' when no variable is declared
243 4099, # (pdf_render_settings.h) type name first seen using 'class' now seen using 'struct'
244 4189, # local variable is initialized but not referenced
245 4201, # (uv.h) nameless struct/union
246 4267, # conversion from 'size_t' to 'int', possible loss of data
247 4302, # (atldlgs.h) 'type cast': truncation from 'LPCTSTR' to 'WORD'
248 4458, # (atldlgs.h) declaration of 'dwCommonButtons' hides class member
249 4503, # decorated name length exceeded, name was truncated
250 4800, # (v8.h) forcing value to bool 'true' or 'false'
251 4819, # The file contains a character that cannot be represented in the current code page
252 4838, # (atlgdi.h) conversion from 'int' to 'UINT' requires a narrowing conversion
253 4996, # (atlapp.h) 'GetVersionExW': was declared deprecated
257 # The breakdpad on Windows assumes Debug_x64 and Release_x64 configurations.
268 # The breakdpad on Mac assumes Release_Base configuration.