diff --git a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py index 757dc652f..d4318b625 100644 --- a/mesonbuild/compilers/mixins/gnu.py +++ b/mesonbuild/compilers/mixins/gnu.py @@ -286,6 +286,8 @@ class GnuLikeCompiler(metaclass=abc.ABCMeta): return ['-c'] def get_include_args(self, path: str, is_system: bool) -> typing.List[str]: + if not path: + path = '.' if is_system: return ['-isystem' + path] return ['-I' + path] diff --git a/test cases/common/225 include_dir dot/meson.build b/test cases/common/225 include_dir dot/meson.build new file mode 100644 index 000000000..71f7189c5 --- /dev/null +++ b/test cases/common/225 include_dir dot/meson.build @@ -0,0 +1,8 @@ +project('Include Here', 'c') + +# The layout with the .h file in . and the .c files in src/ is critical to +# tickle the bug #5847 + +inc = include_directories('.') + +subdir('src') \ No newline at end of file diff --git a/test cases/common/225 include_dir dot/rone.h b/test cases/common/225 include_dir dot/rone.h new file mode 100644 index 000000000..48d7a79e8 --- /dev/null +++ b/test cases/common/225 include_dir dot/rone.h @@ -0,0 +1 @@ +int rOne(void); \ No newline at end of file diff --git a/test cases/common/225 include_dir dot/src/main.c b/test cases/common/225 include_dir dot/src/main.c new file mode 100644 index 000000000..31f6046bf --- /dev/null +++ b/test cases/common/225 include_dir dot/src/main.c @@ -0,0 +1,5 @@ +#include "rone.h" + +int main() { + return rOne(); +} \ No newline at end of file diff --git a/test cases/common/225 include_dir dot/src/meson.build b/test cases/common/225 include_dir dot/src/meson.build new file mode 100644 index 000000000..fcbefb0b9 --- /dev/null +++ b/test cases/common/225 include_dir dot/src/meson.build @@ -0,0 +1,6 @@ +t = executable( + 'main', + ['main.c', 'rone.c'], + include_directories : inc, + implicit_include_directories : false, +) \ No newline at end of file diff --git a/test cases/common/225 include_dir dot/src/rone.c b/test cases/common/225 include_dir dot/src/rone.c new file mode 100644 index 000000000..63cb0d319 --- /dev/null +++ b/test cases/common/225 include_dir dot/src/rone.c @@ -0,0 +1,3 @@ +int rOne(void) { + return 1; +} \ No newline at end of file