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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,163994d4f34e92d0 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.236.83.111 with SMTP id p75mr12412056yhe.5.1343910263300; Thu, 02 Aug 2012 05:24:23 -0700 (PDT) Path: a15ni4867845qag.0!nntp.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!novia!news-peer1!btnet!zen.net.uk!hamilton.zen.co.uk!xlned.com!feeder1.xlned.com!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!nntp.giganews.com!goblin3!goblin.stu.neva.ru!gegeweb.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: how to tell gnatmake to send executables to a different directory when compiling multi source? Date: Mon, 30 Jul 2012 07:50:00 +0200 Organization: cbb software GmbH Message-ID: <1f7g3pbxihp7c$.13s794r15x5yt.dlg@40tude.net> References: <214bbd15-f7cb-4710-a6a7-64f37923bf4e@googlegroups.com> <87wr1moexq.fsf@ludovic-brenta.org> <87sjcaoa08.fsf@ludovic-brenta.org> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: 9A8bJrx4NhDLcSmbrb6AdA.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 X-Received-Bytes: 2883 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2012-07-30T07:50:00+02:00 List-Id: On Sun, 29 Jul 2012 22:01:11 -0500, Nasser M. Abbasi wrote: > Here, people will scream at me for not using GPR for building > Ada projects. Not only Ada projects. If you want to spare -largs stuff in gnatmake, be able to link against static or dynamic version, you describe the external library (e.g. liblapack.a, liblapack.so, lapack.lib etc) like: project lapack is for Externally_Built use "true"; for Source_Files use (); for Library_Dir use "/usr/lib/x86_64-linux_gnu"; for Library_Name use "lapack"; type Library_Kind_Type is ("static", "relocatable"); Library_Kind : Library_Kind_Type := external ("Library_Type", "relocatable"); for Library_Kind use Library_Kind; end lapack; The project containing the bindings will simply "with" the library projects blas, lapack etc. GNAT knows naming conventions of the given host and figures out proper linker options for each scenario. It is a very useful feature when you have lots of external libraries. Something like GTK may require dozens of libraries. When you have multiple targets you change the library project files and leave the binding project file and any other project files intact. > I see Make as the lowest common denominator. Already tried your stuff with nmake? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de