> > On 6 February 2012 00:04, Johannes Pfau <
nospam@example.com> wrote:
> >
> >> Am Sun, 5 Feb 2012 18:04:12 +0100
> >> schrieb Johannes Pfau <
nospam@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
> >>
> >
> > Amazing! You sir, are a genius!
> > I'm gonna have to have some fun with that after work tomorrow :)
> >
> > I reckon this binary distro should be put on d-p-l somewhere
> > obvious.
> >
>