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