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.107.39.209 with SMTP id n200mr1633369ion.55.1498472448058; Mon, 26 Jun 2017 03:20:48 -0700 (PDT) X-Received: by 10.157.60.116 with SMTP id j49mr478021ote.0.1498472448032; Mon, 26 Jun 2017 03:20:48 -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!2.eu.feeder.erje.net!feeder.erje.net!2.us.feeder.erje.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!f20no1371650itb.0!news-out.google.com!s132ni2381itb.0!nntp.google.com!f20no1371644itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 26 Jun 2017 03:20:47 -0700 (PDT) In-Reply-To: <8e27f6c4-050d-4005-ab87-7d9981712c77@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=144.132.203.17; posting-account=wavAeAoAAAAZF_sXSZepBukuPCBO0Zqt NNTP-Posting-Host: 144.132.203.17 References: <8e27f6c4-050d-4005-ab87-7d9981712c77@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: gnat-2017 - ZFP add tasking support From: alby.gamper@gmail.com Injection-Date: Mon, 26 Jun 2017 10:20:48 +0000 Content-Type: text/plain; charset="UTF-8" Xref: news.eternal-september.org comp.lang.ada:47121 Date: 2017-06-26T03:20:47-07:00 List-Id: 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