From ba4324ab9ddb883c145f74f5cbe7efc99b29e336 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 28 Aug 2019 12:20:00 -0700 Subject: [PATCH] Fix gcc include dot --- mesonbuild/compilers/mixins/gnu.py | 2 ++ test cases/common/225 include_dir dot/meson.build | 8 ++++++++ test cases/common/225 include_dir dot/rone.h | 1 + test cases/common/225 include_dir dot/src/main.c | 5 +++++ test cases/common/225 include_dir dot/src/meson.build | 6 ++++++ test cases/common/225 include_dir dot/src/rone.c | 3 +++ 6 files changed, 25 insertions(+) create mode 100644 test cases/common/225 include_dir dot/meson.build create mode 100644 test cases/common/225 include_dir dot/rone.h create mode 100644 test cases/common/225 include_dir dot/src/main.c create mode 100644 test cases/common/225 include_dir dot/src/meson.build create mode 100644 test cases/common/225 include_dir dot/src/rone.c 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