diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2012-12-30 00:55:35 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2012-12-30 00:55:35 +0200 |
commit | a455780ccf5c6615b7ff7449129654d47795be8e (patch) | |
tree | dc32cc575e07be99f5aa4fd207333a770bd92bb9 /shellgenerator.py | |
parent | 7d56a2fe0076665c84097fcf207dae4d9bf04430 (diff) | |
download | meson-a455780ccf5c6615b7ff7449129654d47795be8e.zip meson-a455780ccf5c6615b7ff7449129654d47795be8e.tar.gz meson-a455780ccf5c6615b7ff7449129654d47795be8e.tar.bz2 |
Put external deps into command line.
Diffstat (limited to 'shellgenerator.py')
-rwxr-xr-x | shellgenerator.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/shellgenerator.py b/shellgenerator.py index 8b410b6..e4317a7 100755 --- a/shellgenerator.py +++ b/shellgenerator.py @@ -37,7 +37,7 @@ class ShellGenerator(): os.chmod(outfilename, stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC |\ stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) - def generate_single_compile(self, outfile, src): + def generate_single_compile(self, target, outfile, src): compiler = None for i in self.interpreter.compilers: if i.can_compile(src): @@ -53,6 +53,8 @@ class ShellGenerator(): commands += compiler.get_debug_flags() commands += compiler.get_std_warn_flags() commands += compiler.get_compile_only_flags() + for dep in target.get_external_deps(): + commands += dep.get_compile_flags() commands.append(abs_src) commands += compiler.get_output_flags() commands.append(abs_obj) @@ -61,11 +63,13 @@ class ShellGenerator(): outfile.write(' '.join(quoted)) return abs_obj - def generate_exe_link(self, outfile, outname, obj_list): + def generate_link(self, target, outfile, outname, obj_list): linker = self.interpreter.compilers[0] # Fixme. commands = [] commands += linker.get_exelist() commands += obj_list + for dep in target.get_external_deps(): + commands += dep.get_link_flags() commands += linker.get_output_flags() commands.append(outname) quoted = environment.shell_quote(commands) + ['\n'] @@ -83,8 +87,8 @@ class ShellGenerator(): outname = outname + '.' + suffix obj_list = [] for src in e.get_sources(): - obj_list.append(self.generate_single_compile(outfile, src)) - self.generate_exe_link(outfile, outname, obj_list) + obj_list.append(self.generate_single_compile(e, outfile, src)) + self.generate_link(e, outfile, outname, obj_list) if __name__ == '__main__': code = """ |