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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ab5f27c42c253ac5 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!news.glorb.com!news.tele.dk!news.tele.dk!small.news.tele.dk!news-FFM2.ecrc.net!news.iks-jena.de!not-for-mail From: Lutz Donnerhacke Newsgroups: comp.lang.ada Subject: Re: GNAT and GNU build system Date: Wed, 4 Aug 2004 02:05:12 +0000 (UTC) Organization: IKS GmbH Jena Message-ID: References: NNTP-Posting-Host: belenus.iks-jena.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: branwen.iks-jena.de 1091585112 26463 217.17.192.34 (4 Aug 2004 02:05:12 GMT) X-Complaints-To: usenet@iks-jena.de NNTP-Posting-Date: Wed, 4 Aug 2004 02:05:12 +0000 (UTC) User-Agent: slrn/0.9.8.0 (Linux) Xref: g2news1.google.com comp.lang.ada:2520 Date: 2004-08-04T02:05:12+00:00 List-Id: * Tapio Kelloniemi wrote: > I'm planning to seriously develop free software packages in Ada. The > problem I have is GNTA's fitness for GNU program building standards. You don't need that. Ada comes with portable interface definition capabilities. > I would like to autoconfize my project (not very bad, some M4 macros > can be found in GtkAda). But I would like to use automake (my projects > are in Ada and C, because almost every free software library is written > in C). The monkey argument is no argument f�r C. You do not need autoconfig for Ada. > If anyone has had any experience or interest regarding this, please drop > a line. I prefer redefining the standard C-header in Ada. This is necessary, but nearly impossible, because the C-library and kernel-call interface generated depends on the C-compiler version and flags used when compiling the kernel and the libs. That's why there is no generic way to automatically determine the interface for Ada. In order to do it in a portable way you have to study the interface deeply and redefine it in Ada yourself. Luckily the ABI does not change this hard, but depends on CPU and OS-version. I'd recommend a libportable written in C, generated with autoconfigure and all those nifty workarounds about a missing interface definition. This libportable should convert the CPP-headers into C-headers, so that preprocessor definitions become linkable. The Ada code will be constant and portable, because the value of the day for a system constant can be linked.