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 2002:a05:660c:2c5:: with SMTP id j5mr341490itd.154.1556884378569; Fri, 03 May 2019 04:52:58 -0700 (PDT) X-Received: by 2002:aca:e814:: with SMTP id f20mr5713928oih.83.1556884378283; Fri, 03 May 2019 04:52:58 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!136no122964itk.0!news-out.google.com!v82ni159ita.0!nntp.google.com!136no122961itk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 3 May 2019 04:52:57 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=101.164.108.182; posting-account=wavAeAoAAAAZF_sXSZepBukuPCBO0Zqt NNTP-Posting-Host: 101.164.108.182 References: <13ce24c7-2cfd-4c77-8e4f-2aba216d9ca9@googlegroups.com> <12955098-0ae7-4e2e-b4dd-050620a1f039@googlegroups.com> <22ad2bb3-4d6e-48f0-9f72-ea2464390b13@googlegroups.com> <3d9b62c5-6461-420a-b051-132618c40369@googlegroups.com> <67e68b33-4fa1-45fc-aac5-3294258bb4da@googlegroups.com> <30e9156c-193e-459d-987c-06182f78ae89@googlegroups.com> <8c5d8c9a-d594-4bb2-b5d7-6235c112a39d@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: ANN: VisualAda (Ada Integration for Visual Studio 2017 & 2019) release 1.1.12 From: alby.gamper@gmail.com Injection-Date: Fri, 03 May 2019 11:52:58 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56228 Date: 2019-05-03T04:52:57-07:00 List-Id: On Thursday, May 2, 2019 at 2:45:37 AM UTC+10, Greg wrote: > Alex, >=20 > ABSOLUTELY no worries. I switched over to MSYS2 because that was what you= were using. My personal preference is GNAT CE, but either way is fine. No = rush at all, I never thought I'd be able to do something like WinRT or UWP/= XAML in Ada (and I'm trying to relearn Ada, a lot has changed since I took = classes and monkeyed with it in the 80's!). >=20 > The reason my project is called "RaceDirector" is because I'm rewriting a= ll of our timing & scoring software (and adding some hardware, like the STM= 32F769NIH6 microcontroller (embedded Ada!)) for our Soap Box Derby track (i= f you're curious, http://ghsbd.org). I thought it'd be a cool way to do it. >=20 >=20 > We're done with our Spring events, and won't start up again until late Su= mmer, early Fall (too !*&@# hot in Texas during the summer.) >=20 > Side note: I'm assuming that since these are true Windows Store apps, tha= t they could also run on Xbox, but its been a while since I messed around w= ith that. I'd love to explore that as well (I also occasionally write some = small apps for my autistic teenager to help him in a few areas.) >=20 > Let me know how I can help, test, maybe add some stuff to the extension (= Intellisense ?), whatever. >=20 > Regards, > Greg Hi Greg Your RaceDirector software sounds like an excellent candidate for the "Make= with Ada competition" sponsored/run by AdaCore. Not sure about Xbox integration, but when I get some spare time I'll look i= nto it. Now onto your original problem. Firstly some background info, which will he= lp us in finding the root cause of build failure. The VisualAda extension works a= s follows. 1) When you create a new project, a .vcxproj is created from a project temp= late supplied by the VisualAda extension 2) This .vcxproj is essentially a C/C++ project, primarily because it has a= compile AND link phase/target, unlike C# or VB, and I needed the link targ= et for UWP apps 3) The .vcxproj has additional targets to comply with the normal Ada build = procedure (ie compile, BIND and link) 4) The MSBUILD engine is used to co-ordinate the build, and invokes specifi= c targets that end up calling GPRBUILD with either the -c (compile), -b (bind= ) or -l (link) command line options. 5) if building UWP/WinrRT based apps, then the final GPRBUILD link is repla= ced by a Microsoft linker command 6) If the project "property Use Microsoft Linker" is set to YES (as is the = case for UWP/WinRT based projects) then their is an intervening step between the BIN= D and Microsoft LINK phase which converts the GCC dwarf based debug information i= nto PDB format, so that you can debug the final app using Visual Studio. 7) Note: An equivalent GPR file (to that of the above .vcxproj) is maintain= ed and re-generated when ever changes to the .vcxproj file are made. Ok, with that knowledge in hand, lets try and isolate the build failure wit= h the following, using a VS x64 native command prompt, since this gives us a bit = more flexibility in running individual phase/targets in the build process. (note I made some minor changes on GitHub, so you may want to do a git pull= for the winrt-runtime project, But I am not entirely convinced that these chang= es ae the root cause)=20 a) cd into the directory where your .gpr file exists b) gprbuild -f -c -p -aPC:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\8.3.0\= rts-Winrt_Runtime\share\gpr -P .gpr this will only do the compilation phase, and should succeed, NOTE I am u= sing the default MSYS2 install directories above in the -aP argument, which j= ust tells GPRBUILD additional Project directories You should see the usual GPRBUILD compile phase output at this stage c) gprbuild -f -b -p -aPC:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\8.3.0\= rts-Winrt_Runtime\share\gpr -P .gpr This will then do the bind phase, and should succeed. If this fails, the= n please re-run, but ADD a -vh flag to the gprbuild cmd (ie gpbuild -vh -f= =E2=80=A6) this will give us some additional diagnostics that we can work with d) If you got this far great, that means gcc/gnat is fine and we need to di= g a bit further. But now since gcc/gnat is out of the picture we need to use th= e MSBUILD to diagnose the rest of the build cycle. e) msbuild -target:clean