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.176.18.107 with SMTP id s43mr102004uac.41.1498484137908; Mon, 26 Jun 2017 06:35:37 -0700 (PDT) X-Received: by 10.157.60.116 with SMTP id j49mr4400ote.0.1498484137857; Mon, 26 Jun 2017 06:35:37 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.glorb.com!v31no870294qtb.0!news-out.google.com!s132ni2500itb.0!nntp.google.com!185no1409628itv.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 26 Jun 2017 06:35:37 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=193.163.1.105; posting-account=Srm5lQoAAAAEMX9rv2ilEKR6FDPapmSq NNTP-Posting-Host: 193.163.1.105 References: <8e27f6c4-050d-4005-ab87-7d9981712c77@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <12108259-486f-4958-b779-4814ad9a5853@googlegroups.com> Subject: Re: gnat-2017 - ZFP add tasking support From: Mark Lorenzen Injection-Date: Mon, 26 Jun 2017 13:35:37 +0000 Content-Type: text/plain; charset="UTF-8" Xref: news.eternal-september.org comp.lang.ada:47126 Date: 2017-06-26T06:35:37-07:00 List-Id: 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