lib: intro the method String::file_copy_to

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: keep a list of source files to copy to the compile_dir

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: actually copy over files to compile_dir

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: move adding gc_chooser out of the makefile generation

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: copy over gc_choser files

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: use only local files in compilation

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: divide C compilation into 3 methods in abstract compiler

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Merge branch 'privat' into 'cleanup-c-make-and-copy'

For FFI and use of compile_dir.
nitg: minor optimization and cleanup

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg: fix errors related to mainmodule (.mk file and generated binary)

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Merge remote-tracking branch 'alexis/cleanup-c-make-and-copy'

This is in preparation for the support of different platforms,
especially Android.

Copy all .[ch] files used by the legacy native interface and the
gc_chooser.[ch] files to the compilation dir. Allows for local
compilation, generated code portability and compatibility with difficult
compilation tool chains. Only the output executable may link outside of
the compilation dir.

Also cleans up the method in charge of compiling the C code and
Makefile. It is now separated in three methods with a clearer use of
variables and better readability. This will allow to customize the
behavior of the final compilation according to the platform.