build: harmonize Clang checks

- Set the clang variable in `config.gypi` so it depends on compiler
  checks made by the configure script.
- Replace gyp conditions with `llvm_version` and "0.0" with conditions
  that use the `clang` variable.
- Always use `clang==1` or `clang==0` in gyp conditions

PR-URL: https://github.com/nodejs/node/pull/52873
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
This commit is contained in:
Michaël Zasso 2024-05-07 13:55:58 +02:00 committed by Node.js GitHub Bot
parent 4338a28391
commit 25c788009f
7 changed files with 13 additions and 13 deletions

View File

@ -107,7 +107,6 @@
'v8_base': '<(PRODUCT_DIR)/obj.target/tools/v8_gypfiles/libv8_snapshot.a',
}],
['OS=="mac"', {
'clang%': 1,
'obj_dir%': '<(PRODUCT_DIR)/obj.target',
'v8_base': '<(PRODUCT_DIR)/libv8_snapshot.a',
}],
@ -182,10 +181,10 @@
}, {
'MSVC_runtimeType': 2 # MultiThreadedDLL (/MD)
}],
['llvm_version=="0.0"', {
'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC
}, {
['clang==1', {
'lto': ' -flto ', # Clang
}, {
'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC
}],
],
},

View File

@ -1042,6 +1042,7 @@ def get_gas_version(cc):
# quite prepared to go that far yet.
def check_compiler(o):
if sys.platform == 'win32':
o['variables']['clang'] = 0
o['variables']['llvm_version'] = '0.0'
if not options.openssl_no_asm and options.dest_cpu in ('x86', 'x64'):
nasm_version = get_nasm_version('nasm')
@ -1051,6 +1052,7 @@ def check_compiler(o):
return
ok, is_clang, clang_version, gcc_version = try_check_compiler(CXX, 'c++')
o['variables']['clang'] = B(is_clang)
version_str = ".".join(map(str, clang_version if is_clang else gcc_version))
print_verbose(f"Detected {'clang ' if is_clang else ''}C++ compiler (CXX={CXX}) version: {version_str}")
if not ok:

View File

@ -67,7 +67,7 @@
'TERMIOS',
],
'conditions': [
[ 'llvm_version=="0.0"', {
[ 'clang==0', {
'cflags': ['-Wno-old-style-declaration',],
}],
],

7
deps/zlib/zlib.gyp vendored
View File

@ -7,7 +7,6 @@
'ZLIB_ROOT': '.',
'use_system_zlib%': 0,
'arm_fpu%': '',
'llvm_version%': '0.0',
},
'conditions': [
['use_system_zlib==0', {
@ -24,7 +23,7 @@
},{
'defines': [ 'X86_NOT_WINDOWS' ],
}],
['OS!="win" or llvm_version!="0.0"', {
['OS!="win" or clang==1', {
'cflags': [ '-mssse3' ],
'xcode_settings': {
'OTHER_CFLAGS': [ '-mssse3' ],
@ -65,7 +64,7 @@
'conditions': [
['OS!="ios"', {
'conditions': [
['OS!="win" and llvm_version=="0.0"', {
['OS!="win" and clang==0', {
'cflags': [ '-march=armv8-a+aes+crc' ],
}],
['OS=="android"', {
@ -111,7 +110,7 @@
# 'target_name': 'zlib_crc32_simd',
# 'type': 'static_library',
# 'conditions': [
# ['OS!="win" or llvm_version!="0.0"', {
# ['OS!="win" or clang==1', {
# 'cflags': [
# '-msse4.2',
# '-mpclmul',

View File

@ -504,7 +504,7 @@
'-Wl,-bnoerrmsg',
],
}],
['OS == "linux" and llvm_version != "0.0"', {
['OS=="linux" and clang==1', {
'libraries': ['-latomic'],
}],
],

View File

@ -134,7 +134,7 @@
'<(V8_ROOT)/include',
],
'conditions': [
['clang', {
['clang==1', {
'cflags': [ '-Werror', '-Wno-unknown-pragmas' ],
},{
'cflags!': [ '-Wall', '-Wextra' ],
@ -144,7 +144,7 @@
'-flax-vector-conversions',
],
}],
['clang or OS!="win"', {
['clang==1 or OS!="win"', {
'cflags': [ '-Wno-invalid-offsetof' ],
'xcode_settings': {
'WARNING_CFLAGS': ['-Wno-invalid-offsetof']

View File

@ -1879,7 +1879,7 @@
['enable_lto=="true"', {
'cflags_cc': [ '-fno-lto' ],
}],
['clang or OS!="win"', {
['clang==1 or OS!="win"', {
'conditions': [
['_toolset == "host" and host_arch == "x64" or _toolset == "target" and target_arch=="x64"', {
'sources': [