diff options
| author | Daniel Bevenius <daniel.bevenius@gmail.com> | 2020-04-06 14:17:57 +0200 |
|---|---|---|
| committer | Richard Lau <riclau@uk.ibm.com> | 2020-05-11 06:44:26 -0400 |
| commit | 0744547abb08e14dee2291872ff79adb0d50ccb6 (patch) | |
| tree | 79da1da9ea6db927fc8158d504324124ce5634b5 | |
| parent | 3a0821b26c23f3e3b54eee514aa54e219cd59e19 (diff) | |
| download | node-new-v13.x-staging.tar.gz | |
build: add --error-on-warn configure flagv13.x-staging
This commit adds a configuration time flag named error-on-warn:
$ ./configure --help | grep -A1 error-on-warn
--error-on-warn Turn compiler warnings into errors for node core
sources.
The motivation for this is that CI jobs can use this flag to turn
warnings into errors.
PR-URL: https://github.com/nodejs/node/pull/32685
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matheus Marchini <mat@mmarchini.me>
| -rw-r--r-- | common.gypi | 10 | ||||
| -rwxr-xr-x | configure.py | 6 | ||||
| -rw-r--r-- | node.gyp | 6 |
3 files changed, 21 insertions, 1 deletions
diff --git a/common.gypi b/common.gypi index 85e5cc6e3d..8a7c7349f6 100644 --- a/common.gypi +++ b/common.gypi @@ -26,6 +26,7 @@ 'uv_library%': 'static_library', 'clang%': 0, + 'error_on_warn%': 'false', 'openssl_fips%': '', 'openssl_no_asm%': 0, @@ -218,7 +219,14 @@ # Forcibly disable -Werror. We support a wide range of compilers, it's # simply not feasible to squelch all warnings, never mind that the # libraries in deps/ are not under our control. - 'cflags!': ['-Werror'], + 'conditions': [ + [ 'error_on_warn=="false"', { + 'cflags!': ['-Werror'], + }, '(_target_name!="<(node_lib_target_name)" or ' + '_target_name!="<(node_core_target_name)")', { + 'cflags!': ['-Werror'], + }], + ], 'msvs_settings': { 'VCCLCompilerTool': { 'BufferSecurityCheck': 'true', diff --git a/configure.py b/configure.py index 2e7deb5a15..ac26f62916 100755 --- a/configure.py +++ b/configure.py @@ -117,6 +117,11 @@ parser.add_option('--dest-os', choices=valid_os, help='operating system to build for ({0})'.format(', '.join(valid_os))) +parser.add_option('--error-on-warn', + action='store_true', + dest='error_on_warn', + help='Turn compiler warnings into errors for node core sources.') + parser.add_option('--gdb', action='store_true', dest='gdb', @@ -1018,6 +1023,7 @@ def configure_node(o): o['variables']['node_install_npm'] = b(not options.without_npm) o['variables']['debug_node'] = b(options.debug_node) o['default_configuration'] = 'Debug' if options.debug else 'Release' + o['variables']['error_on_warn'] = b(options.error_on_warn) host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc() target_arch = options.dest_cpu or host_arch @@ -374,6 +374,9 @@ 'msvs_disabled_warnings!': [4244], 'conditions': [ + [ 'error_on_warn=="true"', { + 'cflags': ['-Werror'], + }], [ 'node_intermediate_lib_type=="static_library" and ' 'node_shared=="true" and OS=="aix"', { # For AIX, shared lib is linked by static lib and .exp. In the @@ -746,6 +749,9 @@ 'msvs_disabled_warnings!': [4244], 'conditions': [ + [ 'error_on_warn=="true"', { + 'cflags': ['-Werror'], + }], [ 'node_builtin_modules_path!=""', { 'defines': [ 'NODE_BUILTIN_MODULES_PATH="<(node_builtin_modules_path)"' ] }], |
