digitalmars.D.announce - [Tutorial][Binaries] gdc for android
- Johannes Pfau (33/33) Feb 04 2012 Hi,
- Nick Sabalausky (3/36) Feb 04 2012 Awesome! I look forward to giving it a try.
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.
Feb 04 2012
"Johannes Pfau" <nospam example.com> wrote in message news:20120204203109.26c9a80b jpf-laptop...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.Awesome! I look forward to giving it a try.
Feb 04 2012