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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Received: by 2002:a5d:9616:: with SMTP id w22mr6754551iol.40.1556885148702; Fri, 03 May 2019 05:05:48 -0700 (PDT) X-Received: by 2002:aca:5217:: with SMTP id g23mr5241807oib.99.1556885148440; Fri, 03 May 2019 05:05:48 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.166.215.MISMATCH!b2no124344itd.0!news-out.google.com!v82ni159ita.0!nntp.google.com!136no124425itk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 3 May 2019 05:05:48 -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: <992a0187-0acf-4807-9ee6-01456b85272c@googlegroups.com> 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 12:05:48 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56229 Date: 2019-05-03T05:05:48-07:00 List-Id: On Friday, May 3, 2019 at 9:53:00 PM UTC+10, alby....@gmail.com wrote: > 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 y= ou were using. My personal preference is GNAT CE, but either way is fine. N= o rush at all, I never thought I'd be able to do something like WinRT or UW= P/XAML in Ada (and I'm trying to relearn Ada, a lot has changed since I too= k classes and monkeyed with it in the 80's!). > >=20 > > The reason my project is called "RaceDirector" is because I'm rewriting= all of our timing & scoring software (and adding some hardware, like the S= TM32F769NIH6 microcontroller (embedded Ada!)) for our Soap Box Derby track = (if you're curious, http://ghsbd.org). I thought it'd be a cool way to do i= t. > >=20 > >=20 > > We're done with our Spring events, and won't start up again until late = Summer, early Fall (too !*&@# hot in Texas during the summer.) > >=20 > > Side note: I'm assuming that since these are true Windows Store apps, t= hat they could also run on Xbox, but its been a while since I messed around= with that. I'd love to explore that as well (I also occasionally write som= e 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 >=20 > Hi Greg >=20 > Your RaceDirector software sounds like an excellent candidate for the "Ma= ke with Ada competition" sponsored/run by AdaCore. > Not sure about Xbox integration, but when I get some spare time I'll look= into it. >=20 > Now onto your original problem. Firstly some background info, which will = help us > in finding the root cause of build failure. The VisualAda extension works= as follows. >=20 > 1) When you create a new project, a .vcxproj is created from a project te= mplate supplied by the VisualAda extension >=20 > 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 ta= rget for UWP apps >=20 > 3) The .vcxproj has additional targets to comply with the normal Ada buil= d procedure (ie compile, BIND and link) >=20 > 4) The MSBUILD engine is used to co-ordinate the build, and invokes speci= fic > targets that end up calling GPRBUILD with either the -c (compile), -b (bi= nd) > or -l (link) command line options. >=20 > 5) if building UWP/WinrRT based apps, then the final GPRBUILD link is rep= laced > by a Microsoft linker command >=20 > 6) If the project "property Use Microsoft Linker" is set to YES (as is th= e case for > UWP/WinRT based projects) then their is an intervening step between the B= IND and > Microsoft LINK phase which converts the GCC dwarf based debug information= into > PDB format, so that you can debug the final app using Visual Studio. >=20 > 7) Note: An equivalent GPR file (to that of the above .vcxproj) is mainta= ined > and re-generated when ever changes to the .vcxproj file are made. >=20 > Ok, with that knowledge in hand, lets try and isolate the build failure w= ith the > following, using a VS x64 native command prompt, since this gives us a bi= t more > flexibility in running individual phase/targets in the build process. >=20 > (note I made some minor changes on GitHub, so you may want to do a git pu= ll for > the winrt-runtime project, But I am not entirely convinced that these cha= nges > ae the root cause)=20 >=20 > a) cd into the directory where your .gpr file exists >=20 > b) gprbuild -f -c -p -aPC:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\8.3.= 0\rts-Winrt_Runtime\share\gpr -P .gpr >=20 > this will only do the compilation phase, and should succeed, NOTE I am= using > the default MSYS2 install directories above in the -aP argument, which= just > tells GPRBUILD additional Project directories >=20 > You should see the usual GPRBUILD compile phase output at this stage >=20 > c) gprbuild -f -b -p -aPC:\msys64\mingw64\lib\gcc\x86_64-w64-mingw32\8.3.= 0\rts-Winrt_Runtime\share\gpr -P .gpr >=20 > This will then do the bind phase, and should succeed. If this fails, t= hen > 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 >=20 > d) If you got this far great, that means gcc/gnat is fine and we need to = dig a > bit further. But now since gcc/gnat is out of the picture we need to use = the > MSBUILD to diagnose the rest of the build cycle. >=20 > e) msbuild -target:clean Sorry, I submitted this reply before I was ready to post, Anyway Continuing= on the clean target should work fine (this step is NOT really required, but= I just want to make sure the expected targets are working as expected.) f) msbuild -target:build this will do a build, and should be the same as the compile/bind phase i= n point a) and b) above and the try and do the steps 5) and 6) mentioned a= bove g) Please check all /LIBPATH command line options in the LINK target, and r= eport any unusual errors in using MSBUILD (except that you may see a error regard= ing not being able to find MSVCRT.LIB (I believe this is a false positive as I = can build fine using VS) Thanks Alex