comp.lang.ada
 help / color / mirror / Atom feed
From: alby.gamper@gmail.com
Subject: Re: gnat-2017 - ZFP add tasking support
Date: Mon, 26 Jun 2017 03:20:47 -0700 (PDT)
Date: 2017-06-26T03:20:47-07:00	[thread overview]
Message-ID: <d5fb793d-f1b6-47e8-9304-02307712f1cd@googlegroups.com> (raw)
In-Reply-To: <8e27f6c4-050d-4005-ab87-7d9981712c77@googlegroups.com>

On Monday, June 26, 2017 at 5:56:18 PM UTC+10, Mark Lorenzen wrote:
> On Monday, June 26, 2017 at 3:20:22 AM UTC+2, alby....@gmail.com wrote:
> > I was pleasantly surprised that the recent distribution of gnat-2017 (GPL)
> > included a ZFP for native platforms (mine is windows x86). And the project(s)
> > compiled cleanly, even on my personal x64 gnat build
> > 
> > Using this ZFP, along with my WinRT/UWP library, I was a able to build a
> > simple Hello World (XAML based) that now PASSES the "Windows Store app Certification". Note this is a true blue native Windows Store app, and does
> > NOT use the bridging/Centennial technology.
> > 
> > The main caveat in all this is, the use of the ZFP which is fairly
> > restrictive, and does not allow me to use features of Ada that I feel would be
> > a must have running under this environment. In particular "Tasking and maybe
> > controlled types"
> > 
> > Could someone give me guidance on how to add "Tasking" support to the ZFP ?
> > I can use the Mingw-64 code base, I assume its not just as simple as adding
> > these source files to the ZFP source tree ? Is their any other configuration
> > changes needed other than in system.ads ?
> > 
> > Thanks
> > 
> > Alex
> 
> So you want to use the ZERO footprint run-time system, but at the same time you want to use tasks and controlled types? How does this stack up?
> 
> Why don't you simply use the default run-time system?
> 
> Regards,
> 
> Mark L

Hi Mark

Apologies for the slight confusion, what I should have said/meant was that I
would like to use the ZFP as a base for a new runtime profile (similar to
what AdaCore do for some of their non default run-time systems, such as the
various flavours of Ravenscar and high integrity run-time systems)

And yes I could use the default run-time, but in its current form on mingw-64
its NOT certified to be distributed via "Windows Store" since it uses parts
of the "C/C++" runtime that are not compatible with that environment.

So I have 2 options

1) Start from the ZFP and add the relevant features such as Tasking
or
2) Use the default runtime and strip out all the "Windows Store" functions
that are not compatible

I would tend to favour the second approach, but the intent of my original
question was to try and determine the amount of effort needed for option 1)

Please note that the central theme of incompatibles with the default run-time
and "windows store" are the following

a) Store apps have no notion of a "Console" so "C" functions like printf
and family wont work.
b) "C" functions such as memcpy, memset are NOT supported in "Windows Store"
c) There are some other functions in libgnat to do with exception handling
that are also NOT supported in "Windows Store"

I hope this helps in clarifying what I am trying to achieve

Thanks

Alex

  reply	other threads:[~2017-06-26 10:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-26  1:20 gnat-2017 - ZFP add tasking support alby.gamper
2017-06-26  7:56 ` Mark Lorenzen
2017-06-26 10:20   ` alby.gamper [this message]
2017-06-26 13:06     ` Simon Wright
2017-06-26 13:35     ` Mark Lorenzen
2017-06-29  9:09       ` alby.gamper
2017-06-29 10:28         ` Mark Lorenzen
2017-06-29 17:15         ` Robert Eachus
replies disabled

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