compiler: `add MakefileToolchain::outfile` to compute outnames

Signed-off-by: Jean Privat <jean@pryen.org>
android_platform: use `outfile` instead of its own stuff

Signed-off-by: Jean Privat <jean@pryen.org>
compiler: add `--dir` to just change the output directory

Signed-off-by: Jean Privat <jean@pryen.org>
colo: `MModule::properties` does no give properties is does not have

Signed-off-by: Jean Privat <jean@pryen.org>
colo: Colorize only class in the module, not all in the model

Signed-off-by: Jean Privat <jean@pryen.org>
colo: rewrite build_{meth,attr}_tables

The current implementation has two issues.

First, it relies on the full model instead of just the main module
eg. `mproperty.mpropdefs` is full-model information

Second, the order of the refienements is fragile and may be distinct form the
one given by the model.

Therefore, this commit just remplaces the code with one that just fill
slots with information given by the model (instead of recomputed in a
fragile way)

Signed-off-by: Jean Privat <jean@pryen.org>
comp: use a local `no_main` variable

Instead of modifing the global opt_no_main option

Signed-off-by: Jean Privat <jean@pryen.org>
comp: compilers do not modify opt_stacktace, it is a global info

Signed-off-by: Jean Privat <jean@pryen.org>
ffi: move guard  into the MModule to simplify management

Signed-off-by: Jean Privat <jean@pryen.org>
ffi: move guard  in the AbstractCompiler

Signed-off-by: Jean Privat <jean@pryen.org>
ffi: reset FFI compilation result attached to the module

Signed-off-by: Jean Privat <jean@pryen.org>
comp: enable multi-compilation, ie multiple main programs

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update base_simple_import.nit so the result difers from base_simple.nit

Signed-off-by: Jean Privat <jean@pryen.org>
tests: multicompile with nitg

Signed-off-by: Jean Privat <jean@pryen.org>
lib/sqlite3: rename low-level module to native_sqlite3.nit

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/sqlite3: rename classes of sqlite3_native to prevent conflict with Nity versions

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/sqlite3: use a precise type as return of column_type

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/sqlite3: column_text returns a NativeString at low-level

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
src: use multicompile to fasten the initial make

Signed-off-by: Jean Privat <jean@pryen.org>
modelize_property: enable the access of the internal attributes

The transition from old-style to new-style attributes is a mess.
So in order to facilitate the transition, this patch enable
the access to the internal attribute previously hidden by then
new_style attribute.

Therefore, the transition path is simpler since one can move declaration
from old-style to new-style but some access can still use the old `_foo`
notation.

Note, the `_foo` access is not mean to be publicized bu only made available
for specific short-term workarounds and transitions.

Practically, internal attribute named are prefixed with `_` and
made visible (but private)