diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-09-02 22:52:37 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-09-02 22:52:37 +0300 |
commit | a9da6c513281bd7c213d8d3d33c78c7ceed9dfd4 (patch) | |
tree | 427d16a3d47561291a3bd2465177133f2a187f73 | |
parent | 36870ace0fb52ee8f2ca40c8ddb9cfb142032906 (diff) | |
download | meson-a9da6c513281bd7c213d8d3d33c78c7ceed9dfd4.zip meson-a9da6c513281bd7c213d8d3d33c78c7ceed9dfd4.tar.gz meson-a9da6c513281bd7c213d8d3d33c78c7ceed9dfd4.tar.bz2 |
Moved targets with same name into subdirs to make all tests pass.
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 21 | ||||
-rw-r--r-- | mesonbuild/compilers.py | 15 | ||||
-rw-r--r-- | test cases/common/86 same basename/meson.build | 8 | ||||
-rw-r--r-- | test cases/common/86 same basename/sharedsub/meson.build | 1 | ||||
-rw-r--r-- | test cases/common/86 same basename/staticsub/meson.build | 3 |
5 files changed, 16 insertions, 32 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 7a9ad44..1f848f3 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1433,19 +1433,6 @@ rule FORTRAN_DEP_HACK return [] return compiler.get_no_stdinc_args() - - def get_pdb_name_suffix(self, target): - if isinstance(target, build.Executable): - suffix = '__exe' - elif isinstance(target, build.SharedLibrary): - suffix = '__dll' - elif isinstance(target, build.StaticLibrary): - suffix = '__lib' - else: - raise MesonException('Tried to build PDB for a non-buildtarget. Please file a bug.') - return suffix - - def get_compile_debugfile_args(self, compiler, target, objfile): if compiler.id != 'msvc': return [] @@ -1473,16 +1460,14 @@ rule FORTRAN_DEP_HACK # # If you feel that the above is completely wrong and all of this is # actually doable, please send patches. - suffix = self.get_pdb_name_suffix(target) if target.has_pch(): tfilename = self.get_target_filename_abs(target) - return compiler.get_compile_debugfile_args(tfilename, suffix) + return compiler.get_compile_debugfile_args(tfilename) else: - return compiler.get_compile_debugfile_args(objfile, suffix) + return compiler.get_compile_debugfile_args(objfile) def get_link_debugfile_args(self, linker, target, outname): - suffix = self.get_pdb_name_suffix(target) - return linker.get_link_debugfile_args(outname, suffix) + return linker.get_link_debugfile_args(outname) def generate_single_compile(self, target, outfile, src, is_generated=False, header_deps=[], order_deps=[]): if(isinstance(src, str) and src.endswith('.h')): diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py index 4738abd..8394aca 100644 --- a/mesonbuild/compilers.py +++ b/mesonbuild/compilers.py @@ -354,10 +354,10 @@ class Compiler(): # Some compilers (msvc) write debug info to a separate file. # These args specify where it should be written. - def get_compile_debugfile_args(self, rel_obj, fname_suffix): + def get_compile_debugfile_args(self, rel_obj): return [] - def get_link_debugfile_args(self, rel_obj, fname_suffix): + def get_link_debugfile_args(self, rel_obj): return [] class CCompiler(Compiler): @@ -1607,15 +1607,13 @@ class VisualStudioCCompiler(CCompiler): raise MesonException('Compiling test app failed.') return not(warning_text in stde or warning_text in stdo) - def get_compile_debugfile_args(self, rel_obj, name_suffix): + def get_compile_debugfile_args(self, rel_obj): pdbarr = rel_obj.split('.')[:-1] - pdbarr[-1] += name_suffix pdbarr += ['pdb'] return ['/Fd' + '.'.join(pdbarr)] - def get_link_debugfile_args(self, targetfile, name_suffix): + def get_link_debugfile_args(self, targetfile): pdbarr = targetfile.split('.')[:-1] - pdbarr[-1] += name_suffix pdbarr += ['pdb'] return ['/DEBUG', '/PDB:' + '.'.join(pdbarr)] @@ -2295,9 +2293,8 @@ class VisualStudioLinker(): def unix_compile_flags_to_native(self, args): return args[:] - def get_link_debugfile_args(self, targetfile, name_suffix): + def get_link_debugfile_args(self, targetfile): pdbarr = targetfile.split('.')[:-1] - pdbarr[-1] += name_suffix pdbarr += ['pdb'] return ['/DEBUG', '/PDB:' + '.'.join(pdbarr)] @@ -2350,5 +2347,5 @@ class ArLinker(): def unix_compile_flags_to_native(self, args): return args[:] - def get_link_debugfile_args(self, targetfile, suffix): + def get_link_debugfile_args(self, targetfile): return [] diff --git a/test cases/common/86 same basename/meson.build b/test cases/common/86 same basename/meson.build index 3dc384e..856c536 100644 --- a/test cases/common/86 same basename/meson.build +++ b/test cases/common/86 same basename/meson.build @@ -1,13 +1,11 @@ project('same basename', 'c') +subdir('sharedsub') +subdir('staticsub') + # Use the same source file to check that each top level target # has its own unique working directory. If they don't # then the .o files will clobber each other. -shlib = shared_library('name', 'lib.c', c_args : '-DSHAR') - -# On Windows a static lib is now libfoo.a, so it does not conflict with foo.lib -# from the shared library above -stlib = static_library('name', 'lib.c', c_args : '-DSTAT') exe1 = executable('name', 'exe1.c', link_with : stlib) exe2 = executable('name2', 'exe2.c', link_with : shlib) diff --git a/test cases/common/86 same basename/sharedsub/meson.build b/test cases/common/86 same basename/sharedsub/meson.build new file mode 100644 index 0000000..29654a9 --- /dev/null +++ b/test cases/common/86 same basename/sharedsub/meson.build @@ -0,0 +1 @@ +shlib = shared_library('name', '../lib.c', c_args : '-DSHAR') diff --git a/test cases/common/86 same basename/staticsub/meson.build b/test cases/common/86 same basename/staticsub/meson.build new file mode 100644 index 0000000..5e5242e --- /dev/null +++ b/test cases/common/86 same basename/staticsub/meson.build @@ -0,0 +1,3 @@ +# On Windows a static lib is now libfoo.a, so it does not conflict with foo.lib +# from the shared library above +stlib = static_library('name', '../lib.c', c_args : '-DSTAT') |