From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.58.230.72 with SMTP id sw8mr1580129vec.5.1390432020624; Wed, 22 Jan 2014 15:07:00 -0800 (PST) X-Received: by 10.140.27.233 with SMTP id 96mr63871qgx.32.1390432020590; Wed, 22 Jan 2014 15:07:00 -0800 (PST) Path: backlog1.nntp.dca.giganews.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.glorb.com!k15no157630qaq.0!news-out.google.com!y18ni2qap.1!nntp.google.com!k15no157628qaq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 22 Jan 2014 15:07:00 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=130.255.19.191; posting-account=Zsf4jwoAAADEqwCydv835KU9-S3h_Y26 NNTP-Posting-Host: 130.255.19.191 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Ada on Android and iOS? From: jrmarino Injection-Date: Wed, 22 Jan 2014 23:07:00 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: number.nntp.dca.giganews.com comp.lang.ada:184514 Date: 2014-01-22T15:07:00-08:00 List-Id: On Wednesday, January 22, 2014 10:35:00 PM UTC+1, coding...@gmail.com wrote= : > 1) How were you able to figure out that you needed to patch GCC? Was it l= ike the build would fail and you had to dig into the GCC code and figure ou= t what the offending code was trying to do? Or was it more like the cross c= ompiler built successfully but the ACATS failed and you dug into the assemb= ler to figure out why it failed? I've never patched a compiler before, nor = have I ever taken a compiler course in college. I decided to try to build an Android cross-compiler after I already had exp= erience "porting" GNAT to FreeBSD, DragonFly, OpenBSD, and NetBSD. In theo= ry, GNAT was already ported to FreeBSD, but it didn't work (didn't pass a b= ig chunk of ACATS) and certainty x86-64 was a non-starter. There was no un= wind implemented, so zero cost exceptions didn't work. I had to update tar= gets and change GNAT codes on a per target basis. It took several iteratio= ns and yes, ACATS failures gives a hint what is broken. By the time I had = GNAT working on *BSD, creating an Android target was a logical progression. > 2) What did you mean when you said "I had to implement the target and som= e functionality"? Did you have to implement something in the GNAT run time = to use an Android sub-system? With 4.6, there was no android target at all. With 4.7, it seems like linu= x-eabi and some flavor of android-eabi was supported, but I don't think tha= t extended to GNAT. So at the very minimum the android target had to be de= fined. But that's not all. Temp files are handled differently, threading = has to be tweaked now, signals needed dedicated code, etc. > 3) For the target header files, did you use the NDK header files and comb= ined them with newer Linux headers from somewhere else like I did? see lang/gnatdroid-sysroot Should be whatever the latest android kit was at the time (2.3, API v9) http://www.freshports.org/lang/gnatdroid-sysroot/ > I'll take a look at the GNATDroid make files as you suggested. BTW, is th= ere a mailing list or something that you and anyone else involved with GNAT= Droid > collaborate on? I think it would be interesting to find out what goes beh= ind the scene of maintaining GNATDroid. Not anymore. www.dragonlace.net is occasionally updated. GNATDroid has been static. I was hoping somebody would recreate a java int= erface to all the standard android tools. You'd probably be interested in Rob Veenker's work:=20 http://rveenker.home.xs4all.nl/Ada%20on%20Android.html John