Merge: Ropefix
[nit.git] / src / ffi / ffi.nit
index a418616..93acf66 100644 (file)
@@ -32,6 +32,7 @@ import c
 import cpp
 import java
 import extra_java_files
+import objc
 
 redef class MModule
        # Does this module uses the FFI?
@@ -56,11 +57,17 @@ redef class MModule
 
                # include dependancies FFI
                for mod in header_dependencies do
-                       if mod.uses_ffi then ffi_ccu.header_custom.add("#include \"{mod.name}._ffi.h\"\n")
+                       if mod.uses_ffi then ffi_ccu.header_custom.add("#include \"{mod.c_name}._ffi.h\"\n")
                end
 
+               var cflags = self.cflags[""].join(" ")
+
                ffi_ccu.write_as_impl(self, compdir)
-               for filename in ffi_ccu.files do ffi_files.add(new ExternCFile(filename, c_compiler_options))
+               for filename in ffi_ccu.files do
+                       var f = new ExternCFile(filename, cflags)
+                       f.pkgconfigs.add_all pkgconfigs
+                       ffi_files.add(f)
+               end
        end
 
        # Avoid the compile a ffi propdef more than once
@@ -90,7 +97,7 @@ redef class AModule
                        language.compile_module_block(block, ffi_ccu, mmodule)
                end
 
-               ffi_ccu.header_c_base.add( "#include \"{mmodule.name}._nitni.h\"\n" )
+               ffi_ccu.header_c_base.add( "#include \"{mmodule.c_name}._nitni.h\"\n" )
 
                ffi_ccu.body_decl.add("#ifdef ANDROID\n")
                ffi_ccu.body_decl.add(" #include <android/log.h>\n")