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-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!transit.nntp.hccnet.nl!border2.nntp.ams.giganews.com!nntp.giganews.com!newsfeed1.ip.tiscali.net!tiscali!transit1.news.tiscali.nl!dreader2.news.tiscali.nl!not-for-mail Newsgroups: comp.lang.ada Subject: Re: GNAT and GNU build system References: From: Ludovic Brenta Date: Wed, 04 Aug 2004 22:34:25 +0200 Message-ID: <873c32k5gu.fsf@insalien.org> User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux) Cancel-Lock: sha1:6vejsylYA34rNDEGXq/5JVaaRpQ= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Organization: Tiscali bv NNTP-Posting-Date: 04 Aug 2004 22:34:22 CEST NNTP-Posting-Host: 83.134.241.76 X-Trace: 1091651662 dreader2.news.tiscali.nl 62368 83.134.241.76:35383 X-Complaints-To: abuse@tiscali.nl Xref: g2news1.google.com comp.lang.ada:2555 Date: 2004-08-04T22:34:22+02:00 List-Id: Tapio Kelloniemi writes: > I would really prefer typing: > ./configure --prefix=/usr --enable-goldobj I understand your concern completely. My concern, though, is the sheer complecity of the ./configure script itself, and that of the Makefile it generates. Most of that complexity is unnecessary with Ada programs, and in fact really gets in the way. With Ada, you would normally want to take full advantage of GNAT project files. The only places where ./configure may be of help are for the installation target (--prefix), and finding any Ada libraries you depend on. This problem is solved nicely in Debian GNU/Linux. Each library has a GNAT project file in a well-known location (/usr/share/ada/adalib/library.gpr). Your program just "withs" them as required. Furthermore, on non-Debian systems, the GNU Ada Environment Specification[1] says where library files should be installed. Here again, you would not need a ./configure at all; just use -aI and -aO as necessary. Since Debian follows the GNAE, your GNAT project file can be portable without the need for ./configure. [1] http://cert.uni-stuttgart.de/projects/ada/gnae.php So, you could consider writing a ./configure script by hand, which would generate a minimal Makefile containing only the value of --prefix. Something along the lines of: PREFIX=/usr all: my_program my_program: gnatmake -Pmy_program.gpr install: my_program cp my_program $(PREFIX)/bin If you need package-specific options (e.g. --enable-gold-objects), then you can extend the ./configure and generate something like: PREFIX=/usr GOLD_OBJECTS=false all: my_program my_program: gnatmake -Pmy_program.gpr -XGOLD_OBJECTS=$(GOLD_OBJECTS) install: my_program cp my_program $(PREFIX)/bin -- Ludovic Brenta.