summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/compilers/mixins/clike.py4
-rw-r--r--test cases/common/262 internal dependency includes in checks/include/test_262_header.h1
-rw-r--r--test cases/common/262 internal dependency includes in checks/meson.build7
3 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
index f333357e2..4999d6054 100644
--- a/mesonbuild/compilers/mixins/clike.py
+++ b/mesonbuild/compilers/mixins/clike.py
@@ -450,6 +450,10 @@ class CLikeCompiler(Compiler):
for d in dependencies:
# Add compile flags needed by dependencies
cargs += d.get_compile_args()
+ system_incdir = d.get_include_type() == 'system'
+ for i in d.get_include_dirs():
+ for idir in i.to_string_list(env.get_source_dir(), env.get_build_dir()):
+ cargs.extend(self.get_include_args(idir, system_incdir))
if mode is CompileCheckMode.LINK:
# Add link flags needed to find dependencies
largs += d.get_link_args()
diff --git a/test cases/common/262 internal dependency includes in checks/include/test_262_header.h b/test cases/common/262 internal dependency includes in checks/include/test_262_header.h
new file mode 100644
index 000000000..5a2ca62ad
--- /dev/null
+++ b/test cases/common/262 internal dependency includes in checks/include/test_262_header.h
@@ -0,0 +1 @@
+int foo(void);
diff --git a/test cases/common/262 internal dependency includes in checks/meson.build b/test cases/common/262 internal dependency includes in checks/meson.build
new file mode 100644
index 000000000..c8b527758
--- /dev/null
+++ b/test cases/common/262 internal dependency includes in checks/meson.build
@@ -0,0 +1,7 @@
+project('test 262', 'c')
+
+cc = meson.get_compiler('c')
+
+internal_dep = declare_dependency(include_directories: 'include')
+
+assert(cc.has_header_symbol('test_262_header.h', 'foo', dependencies: internal_dep))