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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.140.109.33 with SMTP id k30mr12157018qgf.2.1465825773933; Mon, 13 Jun 2016 06:49:33 -0700 (PDT) X-Received: by 10.157.11.135 with SMTP id 7mr155075oth.17.1465825773888; Mon, 13 Jun 2016 06:49:33 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!au2pb.net!feeder.erje.net!2.us.feeder.erje.net!newspeer1.nac.net!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!p34no6321797qgp.1!news-out.google.com!u18ni171qgd.1!nntp.google.com!p34no6321796qgp.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 13 Jun 2016 06:49:33 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=5.69.20.108; posting-account=L2-UcQkAAAAfd_BqbeNHs3XeM0jTXloS NNTP-Posting-Host: 5.69.20.108 References: <1879226768.487412780.402071.laguest-archeia.com@nntp.aioe.org> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <81c51d47-df1a-44e6-93f4-f0e2a1d35ed9@googlegroups.com> Subject: Re: Current status of Ada development for an Android target ? From: Lucretia Injection-Date: Mon, 13 Jun 2016 13:49:33 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:30713 Date: 2016-06-13T06:49:33-07:00 List-Id: On Monday, 13 June 2016 00:36:19 UTC+1, Simon Clubley wrote: =20 > What's going on here is that I'm working on a personal project which > has a range of libraries and other code associated with it. I can see > myself reusing various parts of it on a range of targets in the future > including Android NDK applications. Well, armv7-a/neon builds fine. mipsel doesn't failing because of a missing= variable: /home/laguest/src/mine/free-ada/tmp/android-mips/gcc/./gcc/xgcc -B/home/lag= uest/src/mine/free-ada/tmp/android-mips/gcc/./gcc/ -B/home/laguest/opt/test= -android-gcc/mipsel-linux-androideabi/bin/ -B/home/laguest/opt/test-android= -gcc/mipsel-linux-androideabi/lib/ -isystem /home/laguest/opt/test-android-= gcc/mipsel-linux-androideabi/include -isystem /home/laguest/opt/test-androi= d-gcc/mipsel-linux-androideabi/sys-include -c -g -O2 -W -Wall -gnatpg = -nostdinc g-soccon.ads -o g-soccon.o g-socket.ads:436:55: "MAX_tv_sec" not declared in "OS_Constants" g-socket.ads:1171:58: "SIZEOF_fd_set" not declared in "OS_Constants" ../gcc-interface/Makefile:310: recipe for target 'g-soccon.o' failed Looking at the source code, I can't see how it's not being defined: /** ** On Solaris, field tv_sec in struct timeval has an undocumented ** hard-wired limit of 100 million. ** On IA64 HP-UX the limit is 2**31 - 1. **/ #if defined (sun) # define MAX_tv_sec "100_000_000" #elif defined (__hpux__) # define MAX_tv_sec "16#7fffffff#" #else # define MAX_tv_sec "2 ** (SIZEOF_tv_sec * 8 - 1) - 1" #endif CNS(MAX_tv_sec, "") } (from s-oscons-tmplt.c) =20 > For that reason I originally started writing it in pure C, but even > with some libraries I've written (such as a safer string library) > the C code is taking too long to write and there's way too much > boilerplate code and low level handling of things going on. >=20 > Given a good range of unknown future targets the next best logical > option for portability is to use C++ but my heart _really_ wants to > use Ada now that I've accepted I need to use a higher level language > for this project. I know what you mean. =20 > As such I am having a serious think about the Ada compiler situation > as it relates to the viability of Ada for various targets. BTW, I also > see the DragonEgg project is still dead (the frontend is still stalled > at LLVM 3.3 and gcc 4.6 for Ada; I really wish LLVM had a native Ada > front end so you could use the full range of LLVM targets.) This is a major problem atm, both Google and Apple have deprecated GCC, I c= an see this happening more and more and LLVM doesn't have an Ada compiler. = Getting GNAT onto LLVM would automatically open up these targets. Luke.