<div class="gmail_quote">On 4 February 2012 21:31, Johannes Pfau <span dir="ltr"><<a href="mailto:nospam@example.com">nospam@example.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
I tried to rebuild the android ndk with gdc and documented the build<br>
process at <a href="https://bitbucket.org/goshawk/gdc/wiki/GDC%20on%20Android" target="_blank">https://bitbucket.org/goshawk/gdc/wiki/GDC%20on%20Android</a><br>
<br>
The tutorial explains how to build a gdc cross compiler for android. It<br>
uses GCC 4.6.2, a recent binutils snapshot and additionally provides a<br>
recent gdb 7.4.<br>
<br>
32bit linux binaries are also available here:<br>
<a href="http://www.mediafire.com/?2cex2faqx327l" target="_blank">http://www.mediafire.com/?2cex2faqx327l</a><br>
Download the android ndk r7 and extract the gdc 7z file in<br>
android-ndk-r7/toolchains/<br>
<br>
What's working:<br>
I couldn't test the compiler yet and I hope someone else will provide<br>
feedback, but the basic gdc compiler should work. druntime may or may<br>
not work, but it's distributed so that can be tested.<br>
Phobos is not being built yet.<br>
<br>
Known bugs/TODO:<br>
<br>
You need to build all D code with -fno-section-anchors, see<br>
<a href="https://bitbucket.org/goshawk/gdc/issue/120/fsection-anchors-broken-on-arm" target="_blank">https://bitbucket.org/goshawk/gdc/issue/120/fsection-anchors-broken-on-arm</a><br>
<br>
build-druntime.patch needs to be integrated with gdc. See<br>
<a href="https://gist.github.com/1739039" target="_blank">https://gist.github.com/1739039</a><br>
There are basically 3 things this patch does:<br>
* Currently gdc checks for __libc_stack_end as that's used by<br>
  druntime. This function is only available in glibc, but bionic<br>
  provides a similar function: __get_stack_base. The patch currently<br>
  simply replaces __libc_stack_end. We need some way to detect if we<br>
  build for bionic, so we can properly version this code. It should<br>
  also be tested to verify it is working correctly<br>
* Building gcc/config/unix.d fails, so the patch simply skips that<br>
  file. This should be investigated further and fixed correctly.<br>
* Disables phobos for now, although I think I just disabled building the<br>
  final library and the object files are still being built.<br>
<br>
gdbserver is not being built for some reason. Had no time to<br>
investigate that yet.<br>
</blockquote></div><br><div>Amazing!</div><div>Do you know how/could you produce binaries for the mingw host? The android toolchain for windows can only be built from linux according to the toolchain docs last time I tried to build it.</div>