aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test cases/common/132 dependency file generation/meson.build10
-rw-r--r--test cases/common/22 header in file list/meson.build10
-rw-r--r--test cases/common/64 custom header generator/meson.build10
3 files changed, 26 insertions, 4 deletions
diff --git a/test cases/common/132 dependency file generation/meson.build b/test cases/common/132 dependency file generation/meson.build
index dcfdcd9..d5e1c07 100644
--- a/test cases/common/132 dependency file generation/meson.build
+++ b/test cases/common/132 dependency file generation/meson.build
@@ -1,11 +1,13 @@
project('dep file gen', 'c')
-cc_id = meson.get_compiler('c').get_id()
-if cc_id == 'intel'
- # ICC does not escape spaces in paths in the dependency file, so Ninja
+cc_id = meson.get_compiler('c').get_id()
+cc_ver = meson.get_compiler('c').version()
+
+if cc_id == 'intel' or (cc_id == 'lcc' and cc_ver.version_compare('<=1.21.22')
+ # ICC and LCC <= 1.21.22 do not escape spaces in paths in the dependency file, so Ninja
# (correctly) thinks that the rule has multiple outputs and errors out:
# 'depfile has multiple output paths'
- error('MESON_SKIP_TEST: Skipping test with Intel compiler because it generates broken dependency files')
+ error('MESON_SKIP_TEST: Skipping test because your compiler is known to generate broken dependency files')
endif
e = executable('main file', 'main .c')
diff --git a/test cases/common/22 header in file list/meson.build b/test cases/common/22 header in file list/meson.build
index cc30c71..5e478cf 100644
--- a/test cases/common/22 header in file list/meson.build
+++ b/test cases/common/22 header in file list/meson.build
@@ -1,4 +1,14 @@
project('header in file list', 'c')
+cc_id = meson.get_compiler('c').get_id()
+cc_ver = meson.get_compiler('c').version()
+
+if cc_id == 'intel' or (cc_id == 'lcc' and cc_ver.version_compare('<=1.21.22')
+ # ICC and LCC <= 1.21.22 do not escape spaces in paths in the dependency file, so Ninja
+ # (correctly) thinks that the rule has multiple outputs and errors out:
+ # 'depfile has multiple output paths'
+ error('MESON_SKIP_TEST: Skipping test because your compiler is known to generate broken dependency files')
+endif
+
exe = executable('prog', 'prog.c', 'header.h')
test('basic', exe)
diff --git a/test cases/common/64 custom header generator/meson.build b/test cases/common/64 custom header generator/meson.build
index bcc9a53..a691dbb 100644
--- a/test cases/common/64 custom header generator/meson.build
+++ b/test cases/common/64 custom header generator/meson.build
@@ -1,5 +1,15 @@
project('custom header generator', 'c')
+cc_id = meson.get_compiler('c').get_id()
+cc_ver = meson.get_compiler('c').version()
+
+if cc_id == 'intel' or (cc_id == 'lcc' and cc_ver.version_compare('<=1.21.22')
+ # ICC and LCC <= 1.21.22 do not escape spaces in paths in the dependency file, so Ninja
+ # (correctly) thinks that the rule has multiple outputs and errors out:
+ # 'depfile has multiple output paths'
+ error('MESON_SKIP_TEST: Skipping test because your compiler is known to generate broken dependency files')
+endif
+
gen = find_program('makeheader.py')
generated_h = custom_target('makeheader.py',