[Tutorial][Binaries] gdc for android

Johannes Pfau nospam at example.com
Sun Feb 5 09:04:12 PST 2012


Am Sun, 5 Feb 2012 02:31:01 +0200
schrieb Manu <turkeyman at gmail.com>:

> On 5 February 2012 01:17, Johannes Pfau <nospam at example.com> wrote:
> 
> > Am Sat, 4 Feb 2012 22:17:54 +0000
> > schrieb Iain Buclaw <ibuclaw at ubuntu.com>:
> >
> > > On 4 February 2012 21:59, Manu <turkeyman at gmail.com> wrote:
> > > > On 4 February 2012 21:31, Johannes Pfau <nospam at 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.
> > >
> > > Virtualbox. :þ
> > >
> >
> > According to the docs I just have to pass --mingw to the build
> > script and use the windows ndk as a base. I'll try this tomorrow,
> > but I'd be surprised if it really was that easy ;-)
> >
> 
> Me too, but good luck!
> Here's hoping... :P
> 

somehow the build scripts pick up the wrong compiler and I have no clue
why.

-------------------
configure:2642: checking for i586-mingw32msvc-gcc
configure:2669: result: gcc
configure:2938: checking for C compiler version
configure:2947: gcc --version >&5
gcc (Debian 4.6.1-4) 4.6.1
-------------------

I will probably need some more time to get this working...



More information about the D.gnu mailing list