diff options
Diffstat (limited to 'shellgenerator.py')
-rwxr-xr-x | shellgenerator.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/shellgenerator.py b/shellgenerator.py index 009ac7c..e493354 100755 --- a/shellgenerator.py +++ b/shellgenerator.py @@ -22,15 +22,14 @@ def shell_quote(cmdlist): class ShellGenerator(): - def __init__(self, interpreter, environment): - self.environment = environment - self.interpreter = interpreter + def __init__(self, build): + self.build = build + self.environment = build.environment self.build_filename = 'compile.sh' self.test_filename = 'run_tests.sh' self.processed_targets = {} def generate(self): - self.interpreter.run() self.generate_compile_script() self.generate_test_script() @@ -39,7 +38,7 @@ class ShellGenerator(): outfile = open(outfilename, 'w') outfile.write('#!/bin/sh\n\n') outfile.write('echo This is an autogenerated shell script build file for project \\"%s\\".\n' - % self.interpreter.get_project()) + % self.build.get_project()) outfile.write('echo This is experimental and most likely will not work!\n') cdcmd = ['cd', self.environment.get_build_dir()] outfile.write(' '.join(shell_quote(cdcmd)) + '\n') @@ -53,7 +52,7 @@ class ShellGenerator(): outfile = open(outfilename, 'w') outfile.write('#!/bin/sh\n\n') outfile.write('echo This is an autogenerated shell script test file for project \\"%s\\".\n' - % self.interpreter.get_project()) + % self.build.get_project()) outfile.write('echo Run the compile script before this one or bad things will happen!\n') cdcmd = ['cd', self.environment.get_build_dir()] outfile.write(' '.join(shell_quote(cdcmd)) + '\n') @@ -63,7 +62,7 @@ class ShellGenerator(): stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) def generate_tests(self, outfile): - for t in self.interpreter.get_tests(): + for t in self.build.get_tests(): cmds = [] cmds.append(self.get_target_filename(t.get_exe())) outfile.write('echo Running test \\"%s\\".\n' % t.get_name()) @@ -71,7 +70,7 @@ class ShellGenerator(): def generate_single_compile(self, target, outfile, src): compiler = None - for i in self.interpreter.compilers: + for i in self.build.compilers: if i.can_compile(src): compiler = i break @@ -108,9 +107,9 @@ class ShellGenerator(): def generate_link(self, target, outfile, outname, obj_list): if isinstance(target, interpreter.StaticLibrary): - linker = self.interpreter.static_linker + linker = self.build.static_linker else: - linker = self.interpreter.compilers[0] # Fixme. + linker = self.build.compilers[0] # Fixme. commands = [] commands += linker.get_exelist() if isinstance(target, interpreter.Executable): @@ -138,7 +137,7 @@ class ShellGenerator(): return dirname def generate_commands(self, outfile): - for i in self.interpreter.get_targets().items(): + for i in self.build.get_targets().items(): target = i[1] self.generate_target(target, outfile) |