diff options
-rw-r--r-- | backends.py | 3 | ||||
-rw-r--r-- | test cases/common/54 same file name/d1/file.c | 1 | ||||
-rw-r--r-- | test cases/common/54 same file name/d2/file.c | 1 | ||||
-rw-r--r-- | test cases/common/54 same file name/meson.build | 3 | ||||
-rw-r--r-- | test cases/common/54 same file name/prog.c | 6 |
5 files changed, 13 insertions, 1 deletions
diff --git a/backends.py b/backends.py index 4af9be2..c92f48e 100644 --- a/backends.py +++ b/backends.py @@ -878,7 +878,8 @@ class NinjaBackend(Backend): src_filename = os.path.basename(src) else: src_filename = src - rel_obj = os.path.join(self.get_target_private_dir(target), os.path.basename(src_filename)) + obj_basename = src_filename.replace('/', '_').replace('\\', '_') + rel_obj = os.path.join(self.get_target_private_dir(target), obj_basename) rel_obj += '.' + self.environment.get_object_suffix() dep_file = rel_obj + '.' + compiler.get_depfile_suffix() if self.environment.coredata.use_pch: diff --git a/test cases/common/54 same file name/d1/file.c b/test cases/common/54 same file name/d1/file.c new file mode 100644 index 0000000..8084d73 --- /dev/null +++ b/test cases/common/54 same file name/d1/file.c @@ -0,0 +1 @@ +int func1() { return 42; } diff --git a/test cases/common/54 same file name/d2/file.c b/test cases/common/54 same file name/d2/file.c new file mode 100644 index 0000000..d1444a2 --- /dev/null +++ b/test cases/common/54 same file name/d2/file.c @@ -0,0 +1 @@ +int func2() { return 42; } diff --git a/test cases/common/54 same file name/meson.build b/test cases/common/54 same file name/meson.build new file mode 100644 index 0000000..3f351af --- /dev/null +++ b/test cases/common/54 same file name/meson.build @@ -0,0 +1,3 @@ +project('samefile', 'c') + +test('basic', executable('prog', 'prog.c', 'd1/file.c', 'd2/file.c')) diff --git a/test cases/common/54 same file name/prog.c b/test cases/common/54 same file name/prog.c new file mode 100644 index 0000000..3441288 --- /dev/null +++ b/test cases/common/54 same file name/prog.c @@ -0,0 +1,6 @@ +int func1(); +int func2(); + +int main(int argc, char **argv) { + return func1() - func2(); +} |