backends: move method from ninjabackend to base class

The baseclass has code that assumes said method exists, and it really
doesn't seem to do anything ninja specific, so move it to the generic
backend.
pull/9143/head
Dylan Baker 3 years ago committed by Daniel Mensinger
parent a3c94956c8
commit 0bc77c604f
  1. 11
      mesonbuild/backend/backends.py
  2. 5
      mesonbuild/backend/ninjabackend.py

@ -789,16 +789,21 @@ class Backend:
return pch_rel_to_build
@staticmethod
def escape_extra_args(compiler, args):
def escape_extra_args(args: T.List[str]) -> T.List[str]:
# all backslashes in defines are doubly-escaped
extra_args = []
extra_args: T.List[str] = []
for arg in args:
if arg.startswith('-D') or arg.startswith('/D'):
if arg.startswith(('-D', '/D')):
arg = arg.replace('\\', '\\\\')
extra_args.append(arg)
return extra_args
def get_no_stdlib_args(self, target: 'build.BuildTarget', compiler: 'Compiler') -> T.List[str]:
if compiler.language in self.build.stdlibs[target.for_machine]:
return compiler.get_no_stdinc_args()
return []
def generate_basic_compiler_args(self, target: build.BuildTarget, compiler: 'Compiler', no_warn_args: bool = False) -> 'CompilerArgs':
# Create an empty commands list, and start adding arguments from
# various sources in the order in which they must override each other

@ -2313,11 +2313,6 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
mod_files = _scan_fortran_file_deps(src, srcdir, dirname, tdeps, compiler)
return mod_files
def get_no_stdlib_args(self, target, compiler):
if compiler.language in self.build.stdlibs[target.for_machine]:
return compiler.get_no_stdinc_args()
return []
def get_no_stdlib_link_args(self, target, linker):
if hasattr(linker, 'language') and linker.language in self.build.stdlibs[target.for_machine]:
return linker.get_no_stdlib_link_args()

Loading…
Cancel
Save