for f in compiler.files do
var i = 0
- var hfile: nullable OFStream = null
var count = 0
- var cfilename = "{f.name}.0.h"
- var cfilepath = "{compile_dir}/{cfilename}"
- hfile = new OFStream.open(cfilepath)
- hfile.write "#include \"{hfilename}\"\n"
- for key in f.required_declarations do
- if not compiler.provided_declarations.has_key(key) then
- var node = compiler.requirers_of_declarations.get_or_null(key)
- if node != null then
- node.debug "No provided declaration for {key}"
- else
- print "No provided declaration for {key}"
- end
- abort
- end
- hfile.write compiler.provided_declarations[key]
- hfile.write "\n"
- end
- hfile.close
var file: nullable OFStream = null
for vis in f.writers do
if vis == compiler.header then continue
if file == null or count > 10000 then
i += 1
if file != null then file.close
- cfilename = "{f.name}.{i}.c"
- cfilepath = "{compile_dir}/{cfilename}"
+ var cfilename = "{f.name}.{i}.c"
+ var cfilepath = "{compile_dir}/{cfilename}"
self.toolcontext.info("new C source files to compile: {cfilepath}", 3)
cfiles.add(cfilename)
file = new OFStream.open(cfilepath)
file.write "\n"
end
end
- if file != null then file.close
+ if file == null then continue
+ file.close
+
+ var cfilename = "{f.name}.0.h"
+ var cfilepath = "{compile_dir}/{cfilename}"
+ var hfile: nullable OFStream = null
+ hfile = new OFStream.open(cfilepath)
+ hfile.write "#include \"{hfilename}\"\n"
+ for key in f.required_declarations do
+ if not compiler.provided_declarations.has_key(key) then
+ var node = compiler.requirers_of_declarations.get_or_null(key)
+ if node != null then
+ node.debug "No provided declaration for {key}"
+ else
+ print "No provided declaration for {key}"
+ end
+ abort
+ end
+ hfile.write compiler.provided_declarations[key]
+ hfile.write "\n"
+ end
+ hfile.close
end
self.toolcontext.info("Total C source files to compile: {cfiles.length}", 2)