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: 103376,c1bdceb867926fdb X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!goblin2!goblin3!goblin.stu.neva.ru!news.tu-darmstadt.de!newsfeed.velia.net!noris.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Interfacing Ada with C Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <0dadd6b6-452d-43e9-b0b9-374b5106b298@t2g2000yqe.googlegroups.com> <4acf7f59-2675-4498-8d95-35d01bc1e3af@j8g2000yqd.googlegroups.com> <1vcstpdax6vxp$.1umnj0p2l8a32$.dlg@40tude.net> <1x17akdoyxksk$.1edm73b1nxqyf$.dlg@40tude.net> <71d0ec88-7ba9-41ed-9775-b8614dcb798a@q22g2000yqm.googlegroups.com> <95c938e4-fc91-4ba0-bdea-cbf0fda7c852@s9g2000yqd.googlegroups.com> <026a9816-4c14-4cba-bdd9-f88c170a5155@s9g2000yqd.googlegroups.com> <1q5mibvgn7hrl$.1fnnqju5vzdkm.dlg@40tude.net> <7b002421-0baf-4cda-a89d-dc9856cc3978@t10g2000yqg.googlegroups.com> Date: Mon, 26 Jul 2010 19:32:01 +0200 Message-ID: <14vxepkllfbho$.1hw9tfq6h0x8s$.dlg@40tude.net> NNTP-Posting-Date: 26 Jul 2010 19:32:01 CEST NNTP-Posting-Host: 63b1859e.newsspool4.arcor-online.net X-Trace: DXC=b0EWKeVcj3C^B]`=U:WelB4IUK?M X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:12589 Date: 2010-07-26T19:32:01+02:00 List-Id: On Mon, 26 Jul 2010 10:08:09 -0700 (PDT), Ada novice wrote: > On Jul 26, 4:52�pm, "Dmitry A. Kazakov" > wrote: >> On Mon, 26 Jul 2010 06:40:49 -0700 (PDT), Ada novice wrote: > >>> Would you be kind enough to elaborate on your above comments a little >>> more? >> >> Project IMSL as written does not describe any entity to build. It does a >> subcomponent of such an entity, like the test project, which defines an >> executable. An executable can be built, a component cannot. >> >> When bindings are mature and need to be redistributed, deployed, become a >> part of some large project like Linux distribution with it specific >> requirements etc, there is a need to pack the bindings code into a >> pre-built library, static, shared or both. A project that describes such a >> library is compilable, because a library has to be built. A library would >> most likely have at least two different projects: >> >> 1. compilable "implementation" used by the library developer to build the >> library from the sources. >> >> 2. non-compilable "interface" for library users who use the built library >> in their projects. They don't need to compile the sources. They will use >> *.ads, *.ali, *.lib/a files instead. >> >> A good thing about Ada and gnatmake/grpbuid is that it is fairly simple to >> do these things compared with the horrific make/configure. > > Thanks. But the library would not be portable to another machine as we > need more than the file imslcmath_dll.lib . IMSL runs because it's > on my Windows environment path. For deployment of the run-time you need a DLL, assuming that imslcmath_dll.lib is an import library of. The library build project is about how to create such a library from your code if you are not going to distribute the sources. > As an engineer in another field, it's hard to grasp all that you're > saying but I hope with time I'll understand better :). Can you > recommend books/publications that discuss similar ideas that you have > been mentioning? You may not believe it, but the GNAT User's Guide describes most, if not all of that: http://gcc.gnu.org/onlinedocs/gnat_ugn_unw (Software engineers used to say, if nothing else helped, try to read the manual... (:-)) You can also read this one to get the idea of Ada software distribution in the form libraries. It is actually for Linux, but Ada is OS-agnostic: http://people.debian.org/~lbrenta/debian-ada-policy.html Specifically everything about GNAT project files: http://www.adacore.com/wp-content/files/auto_update/gprbuild-docs/html/gprbuild_ug.html -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de