From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Received: by 2002:a37:58c7:: with SMTP id m190mr39530970qkb.265.1594484297647; Sat, 11 Jul 2020 09:18:17 -0700 (PDT) X-Received: by 2002:a05:6830:2081:: with SMTP id y1mr62019254otq.114.1594484297505; Sat, 11 Jul 2020 09:18:17 -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.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 11 Jul 2020 09:18:17 -0700 (PDT) In-Reply-To: <3ad33643-08b1-4ab6-8672-f9df27d822f6o@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=87.6.17.20; posting-account=JRF_-woAAABYlsAtkCl_CUxBuQy2SsaQ NNTP-Posting-Host: 87.6.17.20 References: <242465de-0171-44b1-9618-752b22c3604co@googlegroups.com> <11c21c57-69de-4fcb-9193-71a98ca93ecao@googlegroups.com> <126727e4-3108-46cd-acc6-e42dbdb9dd6bo@googlegroups.com> <011aef92-84e3-47e5-a558-a8c2c6504161o@googlegroups.com> <8959b86d-ec38-4e0b-a272-384751914732o@googlegroups.com> <16b49b03-8657-425d-bad5-67cc5fe725d2o@googlegroups.com> <891fe070-40a4-4ba2-a7be-a7e9c4c036a4o@googlegroups.com> <04195e55-a82f-4035-a05d-5078ea2e6259o@googlegroups.com> <2790711b-d169-4a19-b666-5853eb0f5268o@googlegroups.com> <7052e60c-33ad-4961-9a2c-76014bd6c516o@googlegroups.com> <6efbebf3-8dd2-4909-ab48-d57ba39dc309o@googlegroups.com> <7e2ea50e-412b-421a-b842-e97014043e37o@googlegroups.com> <24f16e6b-e885-4dc5-8519-05c6a786f4dfo@googlegroups.com> <53e66aa5-c298-4b27-8718-386e7a624141o@googlegroups.com> <43a34342-88a2-4af3-b146-817192dab5b7o@googlegroups.com> <80160030-7962-4abd-a6cb-46ea2c91decao@googlegroups.com> <8469bb3c-4caa-404d-8fd0-b74d0238450fo@googlegroups.com> <654e2ffe-f7ee-439d-a535-aab4360fad67o@googlegroups.com> <3ad33643-08b1-4ab6-8672-f9df27d822f6o@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <89558f25-5b98-40a4-a106-d1e9f12eb6beo@googlegroups.com> Subject: Re: SweetAda 0.1 released From: gabriele.galeotti.xyz@gmail.com Injection-Date: Sat, 11 Jul 2020 16:18:17 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:59431 List-Id: On Friday, July 10, 2020 at 8:44:13 AM UTC+2, Roger wrote: > On Friday, July 10, 2020 at 10:24:41 AM UTC+10, Roger wrote: > > On Friday, July 10, 2020 at 5:50:42 AM UTC+10, gabriele....@gmail.com w= rote: > > > Hi Roger. > > >=20 > > > Nice. However it's pretty strange, because elftool get the same PATH = as other executables. I guess you are trying to execute it from the outside= of SweetAda. > > >=20 > >=20 > > The problem occurs when running menu.sh. > > I decided that updating PATH was needed after finding the declaration o= f ELFTOOL at Makefile.tc.in which does not provide a path for either : gprb= uild or elftool: > > GPRBUILD :=3D gprbuild$(EXEEXT) > > ELFTOOL :=3D elftool$(EXEEXT) > > GDB :=3D $(TOOLCHAIN_GDB) > >=20 > > There's a possibilty that the wrong gprbuild may be used as no path is = declared for GPRBUILD but may be using /opt/GNAT/2020/bin/gprbuild? > > I was thinking of adding the /opt/sweetada/bin/path to these declaratio= ns in Makefile.tc.in. >=20 > After further investigation I have removed /opt/sweetada/bin from my PATH= and have modified my Makefile.tc.in to: >=20 > > GPRBUILD :=3D $(TOOLCHAIN_PREFIX)/bin/gprbuild$(EXEEXT) > > ELFTOOL :=3D $(TOOLCHAIN_PREFIX)/bin/elftool$(EXEEXT) > > GDB :=3D $(TOOLCHAIN_GDB) >=20 > I think that other tools use TOOLCHAIN_PROGRAM_PREFIX: x86_64-sweetada-e= lf- > resulting in commands such as : x86_64-sweetada-elf-gcc > which is in the same directory as elftool, so why ELFTOOL :=3D elftool= $(EXEEXT) doesn't work remains a mystery to me. Hi Roger. I would like to investigate a little bit more. Sorry if I am writing trivia= l things, it's just to keep ourselves synchronized. I assume you download 0.1c, but only minor unrelated thing changes, the sam= e holds for 0.1. First of all, toolchains for Windows and OSX have a GNU make as part of the= toolchain. Windows does not have such thing (unless you install MSYS/Cygwi= n), while for OSX you have to install Xcode. I want sweetada to be as indep= endent as possible, that's why you can find the GNU make in the package. All begins in menu.sh. sweetada development could be performed in a shell with a PATH wich has /op= t/sweetada/bin (or whatever is the installation prefix) added in front of i= ts current content (so to override other potential clashes). menu.sh is a s= hortcut and nothing else. Please note that once you have a correct PATH, you could issues shell comma= nds like "make all", etc etc, without calling menu.sh. In order to obey to = the least surprise principle, stay in the sweetada source code directory. So you call menu.sh. But menu.sh doesn't know where you really install the = toolchain. In the case of OSX, there is a guess in the standard prefix, i.e= . /opt/sweetada/bin. The particular make in that directory is thus called. So, the first thing is checking if menu.sh detect "darwin" as a legal os. T= ry to "echo $OSTYPE" inside the script. Be sure that MAKE is set to the GNU= make=20 which is located inside the toolchain. Maybe I could add a read of the master configuration.in to import settings,= I will think about it. Once menu.sh calls the Makefile, everything should be handled correctly. If= the configuration.in is correctly configured, Makefile will build a PATH w= ith the sweetada toolchain as the first path to look in, so it will have no= problems in calling executables. GPRBUILD or ELFTOOL are called exactly li= ke the compiler, so there is no point in prepend anything. The reason why ELFTOOL !=3D elftool is honestly rather inexplicable, becaus= e if the current OSTYPE is set to "darwin", then EXEEXT evaluates to empty,= so ELFTOOL should end up in simply "elftool". That's how things should work. Try to insert a line like $(info $(