Am Sun, 5 Feb 2012 18:04:12 +0100 schrieb Johannes Pfau <nos...@example.com>:
> I will probably need some more time to get this working... > I have some good news: http://www.mediafire.com/?107we120sh3xx I fixed that problem and then the whole build worked fine. I'll post build instructions soon, but the binaries are ready. I only did a simple gdc -c test.d to check the compiler, but it seems to work. Linking against druntime fails, as it uses functions which are not available on Android (backtrace, signal stuff). I also built a simple hello world on linux (printf, no runtime) and ran it on my android phone, and it worked! In case you haven't used GDC without runtime before, a short introduction: * use gdc -nophoboslib to make gdc not link against phobos (and afaik, druntime) * theres also -nostdlib in case you need it * complex code may require -fno-section-anchors because of bug #120 * You'll get an error about a missing _Dmodule_ref symbol. That symbol is used by module constructors and not generated by gdc if -nophoboslib was passed. As long as you don't run the module constructors, you can add a fake _Dmodule_ref in a .c file: ------------ void* _Dmodule_ref; ------------ * The compiler defines version(Android) Here's my hello world: ------------ version(Android) { pragma(msg, "Hello Android!"); } extern(C) { int printf(in char* format, ...); } extern(C) void main() { printf("Hello, %s!\n".ptr, "Android".ptr); } ------------ compile the _Dmodule_ref into hack.o, then use gdc -nophoboslib hello.d hack.o