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 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Building Matreshka on Windows Date: Thu, 03 Nov 2016 17:50:46 +0000 Organization: A noiseless patient Spider Message-ID: References: <3c41f737-a1d9-40a5-aea3-08c4b61baaa8@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="abbddb5e5b96ddbae1422e485c82875a"; logging-data="3522"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+lHsdUqpLp+ponx1AK64fkBZTi+tKVrR8=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (darwin) Cancel-Lock: sha1:rlZfYU88mXMW4xXGZRxzeUbuaXc= sha1:NNjDIwh4Rbd0TmDEux77jpq/XNg= Xref: news.eternal-september.org comp.lang.ada:32230 Date: 2016-11-03T17:50:46+00:00 List-Id: "Dmitry A. Kazakov" writes: > On 03/11/2016 16:32, Olivier Henley wrote: >> On Thursday, November 3, 2016 at 4:18:07 AM UTC-4, Dmitry A. Kazakov wrote: >>> BTW, gprbuild can C. Granted, gprbuild is a big step back from gnatmake, >>> but still miles ahead of make. >> >> Why do say gprbuild is a big step back from gnatmake? I don't have >> enough knowledge of both to evaluate your saying. > > Because in my opinion it is built upon an inferior technology. It uses > XML, it is not self-contained (has a mess of semi-hidden supplementary > files spread all around the system). It is very easy and common to > have gprbuild not working where gnatmake never had any problem. The > biggest danger is turning it into yet another "configure" / CMake. Unless you go out of your way, the configuration files are all under $prefix/share/gprconfig/ When things work, all is fine. When they don't, it can be tricky; the way the configuration files specify commands to run and grepping the output for particular patterns is challenging: On the Mac, GCC 5 and 6 generate shared libraries with names like libgnat-6.dylib; GCC 4, names like libgnat-4.8.dylib. gnatls reports itself as e.g. GNATLS 6.1.0. The original share/gprconfig/compilers.xml file looked for the first 2 fields of the version; libgnat-6.1.dylib wasn't found. The fix was (cut back not to bore you) ${PREFIX}gnatls -v --version - + I'm very pleased that, since GPRBUILD 2016, I can use e.g. for Target use "arm-eabi"; for Runtime ("ada") use "ravenscar-sfp-stm32f4"; in the GPR instead of having to specify on the command line.