aboutsummaryrefslogtreecommitdiff
path: root/shellgenerator.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2012-12-29 22:04:24 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2012-12-29 22:04:24 +0200
commit4fbb42da96c25002a6170a4bca4e8f4eb7f2b94e (patch)
treeb3f1303e9088bd05e75c4ca6f707a8799b71990f /shellgenerator.py
parentec08280df103bb24cebe66523886a02809c3a095 (diff)
downloadmeson-4fbb42da96c25002a6170a4bca4e8f4eb7f2b94e.zip
meson-4fbb42da96c25002a6170a4bca4e8f4eb7f2b94e.tar.gz
meson-4fbb42da96c25002a6170a4bca4e8f4eb7f2b94e.tar.bz2
Can link executables.
Diffstat (limited to 'shellgenerator.py')
-rwxr-xr-xshellgenerator.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/shellgenerator.py b/shellgenerator.py
index 36dce31..60ece26 100755
--- a/shellgenerator.py
+++ b/shellgenerator.py
@@ -46,7 +46,8 @@ class ShellGenerator():
abs_src = os.path.join(self.environment.get_source_dir(), src)
abs_obj = os.path.join(self.environment.get_build_dir(), src)
abs_obj += '.' + self.environment.get_object_suffix()
- commands = compiler.get_exelist()
+ commands = []
+ commands += compiler.get_exelist()
commands += compiler.get_debug_flags()
commands += compiler.get_std_warn_flags()
commands += compiler.get_compile_only_flags()
@@ -54,11 +55,20 @@ class ShellGenerator():
commands += compiler.get_output_flags()
commands.append(abs_obj)
quoted = environment.shell_quote(commands) + ['\n']
+ outfile.write('\necho Compiling %s\n' % src)
outfile.write(' '.join(quoted))
return abs_obj
def generate_exe_link(self, outfile, outname, obj_list):
- outfile.write('Linking %s with files %s.\n' % (outname, ' '.join(obj_list)))
+ linker = self.interpreter.compilers[0] # Fixme.
+ commands = []
+ commands += linker.get_exelist()
+ commands += obj_list
+ commands += linker.get_output_flags()
+ commands.append(outname)
+ quoted = environment.shell_quote(commands) + ['\n']
+ outfile.write('\necho Linking %s.\n' % outname)
+ outfile.write(' '.join(quoted))
def generate_commands(self, outfile):
for i in self.interpreter.get_executables().items():