diff --git a/Makefile b/Makefile index fea678cf45f134..6b9aa510f2b89c 100644 --- a/Makefile +++ b/Makefile @@ -74,9 +74,9 @@ available-node = \ # BUILDTYPE=Debug builds both release and debug builds. If you want to compile # just the debug build, run `make -C out BUILDTYPE=Debug` instead. ifeq ($(BUILDTYPE),Release) -all: out/Makefile $(NODE_EXE) ## Default target, builds node in out/Release/node. +all: $(NODE_EXE) ## Default target, builds node in out/Release/node. else -all: out/Makefile $(NODE_EXE) $(NODE_G_EXE) +all: $(NODE_EXE) $(NODE_G_EXE) endif .PHONY: help diff --git a/common.gypi b/common.gypi index 46711ac76dbb63..af06295a850173 100644 --- a/common.gypi +++ b/common.gypi @@ -22,6 +22,8 @@ 'node_tag%': '', 'uv_library%': 'static_library', + 'clang%': 0, + 'openssl_fips%': '', # Default to -O0 for debug builds. @@ -91,8 +93,6 @@ }], ['OS=="mac"', { 'clang%': 1, - }, { - 'clang%': 0, }], ], }, diff --git a/node.gyp b/node.gyp index e1adf8cd12e30b..c7e55c3ddb0a6a 100644 --- a/node.gyp +++ b/node.gyp @@ -288,7 +288,7 @@ 'sources': [ 'tools/msvs/genfiles/node_etw_provider.rc' ], - }] + }], ], }], ], @@ -305,16 +305,11 @@ 'product_name': '<(node_core_target_name)-win', }], ], - }, + }, # node_core_target_name { 'target_name': '<(node_lib_target_name)', 'type': '<(node_intermediate_lib_type)', 'product_name': '<(node_core_target_name)', - - 'dependencies': [ - 'node_js2c#host', - ], - 'includes': [ 'node.gypi' ], @@ -460,7 +455,6 @@ '<@(library_files)', # node.gyp is added to the project by default. 'common.gypi', - '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc', ], 'variables': { @@ -618,15 +612,9 @@ 'src/tls_wrap.h' ], }], - ], - }, - { - 'target_name': 'mkssldef', - 'type': 'none', - # TODO(bnoordhuis) Make all platforms export the same list of symbols. - # Teach mkssldef.py to generate linker maps that UNIX linkers understand. - 'conditions': [ [ 'use_openssl_def==1', { + # TODO(bnoordhuis) Make all platforms export the same list of symbols. + # Teach mkssldef.py to generate linker maps that UNIX linkers understand. 'variables': { 'mkssldef_flags': [ # Categories to export. @@ -656,6 +644,7 @@ 'deps/openssl/openssl/util/libssl.num', ], 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/openssl.def'], + 'process_outputs_as_sources': 1, 'action': [ 'python', 'tools/mkssldef.py', @@ -668,39 +657,12 @@ ], }], ], - }, - # generate ETW header and resource files - { - 'target_name': 'node_etw', - 'type': 'none', - 'conditions': [ - [ 'node_use_etw=="true"', { - 'actions': [ - { - 'action_name': 'node_etw', - 'inputs': [ 'src/res/node_etw_provider.man' ], - 'outputs': [ - 'tools/msvs/genfiles/node_etw_provider.rc', - 'tools/msvs/genfiles/node_etw_provider.h', - 'tools/msvs/genfiles/node_etw_providerTEMP.BIN', - ], - 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ] - } - ] - } ] - ] - }, - { - 'target_name': 'node_js2c', - 'type': 'none', - 'toolsets': ['host'], 'actions': [ { 'action_name': 'node_js2c', 'process_outputs_as_sources': 1, 'inputs': [ '<@(library_files)', - './config.gypi', 'tools/check_macros.py' ], 'outputs': [ @@ -718,14 +680,34 @@ }] ], 'action': [ - 'python', - 'tools/js2c.py', + 'python', 'tools/js2c.py', '<@(_outputs)', - '<@(_inputs)', + '<@(_inputs)', 'config.gypi', ], }, ], - }, # end node_js2c + }, # node_lib_target_name + { + # generate ETW header and resource files + 'target_name': 'node_etw', + 'type': 'none', + 'conditions': [ + [ 'node_use_etw=="true"', { + 'actions': [ + { + 'action_name': 'node_etw', + 'inputs': [ 'src/res/node_etw_provider.man' ], + 'outputs': [ + 'tools/msvs/genfiles/node_etw_provider.rc', + 'tools/msvs/genfiles/node_etw_provider.h', + 'tools/msvs/genfiles/node_etw_providerTEMP.BIN', + ], + 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ] + } + ] + } ] + ] + }, # node_etw { 'target_name': 'node_dtrace_header', 'type': 'none', @@ -753,7 +735,7 @@ ] } ], ] - }, + }, # node_dtrace_header { 'target_name': 'node_dtrace_provider', 'type': 'none', @@ -788,7 +770,7 @@ ], }], ] - }, + }, # node_dtrace_provider { 'target_name': 'node_dtrace_ustack', 'type': 'none', @@ -836,7 +818,7 @@ ] } ], ] - }, + }, # node_dtrace_ustack { 'target_name': 'specialize_node_d', 'type': 'none', @@ -862,7 +844,7 @@ ], } ], ] - }, + }, # specialize_node_d { # When using shared lib to build executable in Windows, in order to avoid # filename collision, the executable name is node-win.exe. Need to rename @@ -890,7 +872,7 @@ ], } ], ] - }, + }, # rename_node_bin_win { 'target_name': 'cctest', 'type': 'executable', @@ -899,7 +881,6 @@ '<(node_lib_target_name)', 'rename_node_bin_win', 'deps/gtest/gtest.gyp:gtest', - 'node_js2c#host', 'node_dtrace_header', 'node_dtrace_ustack', 'node_dtrace_provider', @@ -957,7 +938,7 @@ 'type': 'none', }], ], - } + }, # cctest ], # end targets 'conditions': [ diff --git a/node.gypi b/node.gypi index db29084335be50..fe133039d3d43a 100644 --- a/node.gypi +++ b/node.gypi @@ -24,6 +24,16 @@ }, 'force_load%': '<(force_load)', }, + # Putting these explicitly here so not to be dependant on common.gypi. + 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], + 'xcode_settings': { + 'WARNING_CFLAGS': [ + '-Wall', + '-Wendif-labels', + '-W', + '-Wno-unused-parameter', + ], + }, 'conditions': [ [ 'node_shared=="false"', { 'msvs_settings': {