compile: generate classes init iroutines sooner to insert global analysis
[nit.git] / src / nitc.nit
index faf8d03..c0d3133 100644 (file)
@@ -19,6 +19,7 @@ package nitc
 
 import abstracttool
 import analysis
+import program
 private import compiling
 private import syntax
 
@@ -66,10 +67,10 @@ special AbstractCompiler
                if clibdir == null then
                        var dir = once ("NIT_DIR".to_symbol).environ
                        if dir.is_empty then 
-                               dir = "{sys.program_name.dirname}/../lib"
+                               dir = "{sys.program_name.dirname}/../clib"
                                if dir.file_exists then clibdir = dir
                        else
-                               dir = "{dir}/lib"
+                               dir = "{dir}/clib"
                                if dir.file_exists then clibdir = dir
                        end
                        if clibdir == null then
@@ -124,9 +125,11 @@ special AbstractCompiler
                        dump_intermediate_code(mods)
                end
                for mod in mods do
-                       mod.compile_prog_to_c(self)
+                       var p = new Program(mod)
+                       p.do_table_computation(self)
+                       p.generate_classes_init_to_icode
+                       p.compile_prog_to_c(self)
                end
-
        end
 end