comp.lang.ada
 help / color / mirror / Atom feed
From: Mark Lorenzen <mark.lorenzen@gmail.com>
Subject: Re: gnat-2017 - ZFP add tasking support
Date: Mon, 26 Jun 2017 06:35:37 -0700 (PDT)
Date: 2017-06-26T06:35:37-07:00	[thread overview]
Message-ID: <12108259-486f-4958-b779-4814ad9a5853@googlegroups.com> (raw)
In-Reply-To: <d5fb793d-f1b6-47e8-9304-02307712f1cd@googlegroups.com>

On Monday, June 26, 2017 at 12:20:49 PM UTC+2, alby....@gmail.com wrote:
> 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

OK that makes sense. I would definately try option 2!

Try and look in this document for information on restricted run-time systems: http://docs.adacore.com/gnathie_ug-docs/html/gnathie_ug/gnathie_ug.html You should especially check chapter 5.

Regards,

Mark L

  parent reply	other threads:[~2017-06-26 13:35 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
2017-06-26 13:06     ` Simon Wright
2017-06-26 13:35     ` Mark Lorenzen [this message]
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