redef fun compile_module_block(block, ecc, mmodule)
do
if block.is_c_header then
- ecc.header_custom.add( block.location.as_line_pragma )
- ecc.header_custom.add( block.code )
+ ecc.header_custom.add block.location.as_line_pragma
+ ecc.header_custom.add "\n"
+ ecc.header_custom.add block.code
else if block.is_c_body then
- ecc.body_custom.add( block.location.as_line_pragma )
- ecc.body_impl.add( block.code )
+ ecc.body_impl.add block.location.as_line_pragma
+ ecc.body_impl.add "\n"
+ ecc.body_impl.add block.code
end
end
end
redef class Location
- fun as_line_pragma: String do return "#line {line_start} \"{file.filename}\"\n"
+ fun as_line_pragma: String do return "#line {line_start-1} \"{file.filename}\"\n"
end
redef class MModule
- var c_compiler_options = "" is writable
- var c_linker_options = "" is writable
+ var cflags = "" is writable
+ var ldflags = "" is writable
# Additional libraries needed for the compilation
# Will be used with pkg-config
super ForeignType
redef var ctype: String
-
- init(ctype: String)
- do
- self.ctype = ctype
- end
end
redef class NitniCallback
class ToCCallContext
super CallContext
- private init do end
+ # TODO: private init because singleton instance (see `to_c_call_context`)
redef fun name_mtype(mtype)
do
class FromCCallContext
super CallContext
- private init do end
+ # TODO: private init because singleton instance (see `from_c_call_context`)
redef fun name_mtype(mtype) do return mtype.cname
end