nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
contrib/inkscape_tools: add option for the full path to the generated source
[nit.git]
/
src
/
compiler
/
compiler_ffi.nit
diff --git
a/src/compiler/compiler_ffi.nit
b/src/compiler/compiler_ffi.nit
index
8466af1
..
42423f9
100644
(file)
--- a/
src/compiler/compiler_ffi.nit
+++ b/
src/compiler/compiler_ffi.nit
@@
-49,10
+49,11
@@
extern void nitni_global_ref_incr(void*);
extern void nitni_global_ref_decr(void*);
"""
extern void nitni_global_ref_decr(void*);
"""
+ var cflags = self.cflags[""].join(" ")
nitni_ccu.write_as_nitni(self, v.compiler.modelbuilder.compile_dir)
for file in nitni_ccu.files do
nitni_ccu.write_as_nitni(self, v.compiler.modelbuilder.compile_dir)
for file in nitni_ccu.files do
- var f = new ExternCFile(file, c_compiler_options)
+ var f = new ExternCFile(file, cflags)
f.pkgconfigs.add_all pkgconfigs
v.compiler.extern_bodies.add(f)
end
f.pkgconfigs.add_all pkgconfigs
v.compiler.extern_bodies.add(f)
end
@@
-76,11
+77,8
@@
extern void nitni_global_ref_decr(void*);
redef fun collect_linker_libs
do
redef fun collect_linker_libs
do
- var s = c_linker_options
- if s.is_empty then return null
- var res = new ArraySet[String]
- res.add s
- return res
+ if not self.ldflags.keys.has("") then return null
+ return self.ldflags[""]
end
private var compiled_callbacks = new Array[NitniCallback]
end
private var compiled_callbacks = new Array[NitniCallback]
@@
-390,7
+388,7
@@
redef class MExplicitCall
var recv_var = null
if mproperty.is_init then
var recv_mtype = recv_mtype
var recv_var = null
if mproperty.is_init then
var recv_mtype = recv_mtype
- recv_var = nitni_visitor.init_instance(recv_mtype)
+ recv_var = nitni_visitor.init_instance_or_extern(recv_mtype)
nitni_visitor.add("{mtype.ctype} recv /* var self: {mtype} */;")
nitni_visitor.add("recv = {recv_var};")
else
nitni_visitor.add("{mtype.ctype} recv /* var self: {mtype} */;")
nitni_visitor.add("recv = {recv_var};")
else