aboutsummaryrefslogtreecommitdiff
path: root/shellgenerator.py
diff options
context:
space:
mode:
Diffstat (limited to 'shellgenerator.py')
-rwxr-xr-xshellgenerator.py21
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)