From 1571bfc6a9462fc4f5f0e8f13c470de2ec3ae1a3 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 30 Aug 2013 23:07:26 +0300 Subject: Static cross linking works again. --- backends.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'backends.py') diff --git a/backends.py b/backends.py index 69b46e2..b0d3dad 100644 --- a/backends.py +++ b/backends.py @@ -486,7 +486,9 @@ class NinjaBackend(Backend): outfile.write('# Rules for compiling.\n\n') self.generate_compile_rules(outfile) outfile.write('# Rules for linking.\n\n') - self.generate_static_link_rules(outfile) + if self.environment.is_cross_build(): + self.generate_static_link_rules(True, outfile) + self.generate_static_link_rules(False, outfile) self.generate_dynamic_link_rules(outfile) self.generate_dep_gen_rules(outfile) outfile.write('# Other rules\n\n') @@ -503,9 +505,14 @@ class NinjaBackend(Backend): outfile.write(' description = Regenerating build files\n') outfile.write(' generator = 1\n\n') - def generate_static_link_rules(self, outfile): - static_linker = self.build.static_linker - rule = 'rule STATIC_LINKER\n' + def generate_static_link_rules(self, is_cross, outfile): + if is_cross: + static_linker = self.build.static_cross_linker + crstr = '_CROSS' + else: + static_linker = self.build.static_linker + crstr = '' + rule = 'rule STATIC%s_LINKER\n' % crstr command = ' command = %s $LINK_FLAGS %s $in\n' % \ (' '.join(static_linker.get_exelist()), ' '.join(static_linker.get_output_flags('$out'))) -- cgit v1.1