comp.lang.ada
 help / color / mirror / Atom feed
From: Lucretia <laguest9000@googlemail.com>
Subject: Re: Current status of Ada development for an Android target ?
Date: Mon, 13 Jun 2016 06:49:33 -0700 (PDT)
Date: 2016-06-13T06:49:33-07:00	[thread overview]
Message-ID: <81c51d47-df1a-44e6-93f4-f0e2a1d35ed9@googlegroups.com> (raw)
In-Reply-To: <njkrlh$6f7$1@dont-email.me>

On Monday, 13 June 2016 00:36:19 UTC+1, Simon Clubley  wrote:
 
> 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/laguest/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-android-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)

 
> 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.
> 
> 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.
 
> 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 can 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.


  parent reply	other threads:[~2016-06-13 13:49 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-11 15:51 Current status of Ada development for an Android target ? Simon Clubley
2016-06-12  7:28 ` Luke A. Guest
2016-06-12  8:25 ` Luke A. Guest
2016-06-12  8:27 ` Luke A. Guest
2016-06-12 23:36   ` Simon Clubley
2016-06-13  4:24     ` Shark8
2016-06-13 13:49     ` Lucretia [this message]
2016-06-13 14:34       ` Lucretia
2016-06-14 13:22 ` jrmarino
2016-06-14 18:39   ` Simon Clubley
2016-06-15  9:41     ` jrmarino
2016-06-15 13:11       ` Simon Clubley
2016-06-15 12:12     ` Luke A. Guest
2016-06-15 13:02       ` Simon Clubley
2016-06-15 13:13         ` Lucretia
2016-06-16 19:20 ` Lucretia
2016-06-16 19:29   ` Simon Clubley
2016-06-16 19:49     ` Luke A. Guest
2016-06-18 15:44       ` Ada and C++ in the same binary, was: " Simon Clubley
2016-06-18 16:38         ` Simon Clubley
2016-06-18 18:21         ` Luke A. Guest
2016-06-19 14:50           ` Simon Clubley
2016-06-18 18:24         ` Shark8
2016-06-19 15:00           ` Simon Clubley
2016-06-19 15:32             ` Luke A. Guest
2016-06-19 17:52               ` Simon Clubley
2016-06-19 18:40                 ` Luke A. Guest
2016-06-19 19:16                   ` Simon Clubley
2016-06-19 20:32                     ` Luke A. Guest
2016-06-20 12:11             ` Jacob Sparre Andersen
2016-06-20 14:28               ` Luke A. Guest
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox