wscript: Allow start code to be written in C

Start code for most platforms requires hand-coded ASM but some can be
bootstrapped entirely in C, especially for paravirtualized platforms.
This change allows start code to be written in C where possible instead
of requiring architecture-specific ASM to bridge to C.
This commit is contained in:
Kinsey Moore
2022-04-18 12:24:47 -05:00
committed by Joel Sherrill
parent 76b4bb27a3
commit 88dc1880ec

View File

@@ -561,7 +561,11 @@ class StartFileItem(Item):
super(StartFileItem, self).__init__(uid, data)
def do_build(self, bld, bic):
tgt = self.asm(bld, bic, self.data["source"], self.get(bld, "target"))
source = self.data["source"]
if os.path.splitext(source[0])[1] == ".S":
tgt = self.asm(bld, bic, source, self.get(bld, "target"))
else:
tgt = self.cc(bld, bic, source, self.get(bld, "target"))
node = bld.bldnode.make_node(tgt)
try:
bld.start_files.append(node)