Rust buildtype flags.
This commit is contained in:
parent
f22376701b
commit
31dbb46652
|
@ -57,6 +57,11 @@ msvc_buildtype_linker_flags = {'plain' : [],
|
||||||
'debugoptimized' : [],
|
'debugoptimized' : [],
|
||||||
'release' : []}
|
'release' : []}
|
||||||
|
|
||||||
|
rust_buildtype_flags = {'plain' : [],
|
||||||
|
'debug' : ['-g'],
|
||||||
|
'debugoptimized' : ['-g', '--opt-level', '2'],
|
||||||
|
'release' : ['--opt-level', '3']}
|
||||||
|
|
||||||
class CCompiler():
|
class CCompiler():
|
||||||
def __init__(self, exelist, version, is_cross, exe_wrapper=None):
|
def __init__(self, exelist, version, is_cross, exe_wrapper=None):
|
||||||
if type(exelist) == type(''):
|
if type(exelist) == type(''):
|
||||||
|
@ -631,6 +636,9 @@ class RustCompiler():
|
||||||
def get_dependency_gen_flags(self, outfile):
|
def get_dependency_gen_flags(self, outfile):
|
||||||
return ['--dep-info', outfile]
|
return ['--dep-info', outfile]
|
||||||
|
|
||||||
|
def get_buildtype_flags(self, buildtype):
|
||||||
|
return rust_buildtype_flags[buildtype]
|
||||||
|
|
||||||
class VisualStudioCCompiler(CCompiler):
|
class VisualStudioCCompiler(CCompiler):
|
||||||
std_warn_flags = ['/W3']
|
std_warn_flags = ['/W3']
|
||||||
std_opt_flags= ['/O2']
|
std_opt_flags= ['/O2']
|
||||||
|
|
|
@ -508,6 +508,7 @@ class NinjaBackend(backends.Backend):
|
||||||
flags.append('bin')
|
flags.append('bin')
|
||||||
else:
|
else:
|
||||||
raise InvalidArguments('Unknown target type for rustc.')
|
raise InvalidArguments('Unknown target type for rustc.')
|
||||||
|
flags += rustc.get_buildtype_flags(self.environment.coredata.buildtype)
|
||||||
flags += ['--out-dir', target.subdir, '-o', target.get_basename()]
|
flags += ['--out-dir', target.subdir, '-o', target.get_basename()]
|
||||||
element = NinjaBuildElement(target_name, 'rust_COMPILER', relsrc)
|
element = NinjaBuildElement(target_name, 'rust_COMPILER', relsrc)
|
||||||
element.add_item('FLAGS', flags)
|
element.add_item('FLAGS', flags)
|
||||||
|
|
Loading…
Reference in New Issue