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,39bde956b245c191 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.15.105 with SMTP id w9mr19404688pbc.7.1323036299079; Sun, 04 Dec 2011 14:04:59 -0800 (PST) Path: lh20ni69721pbb.0!nntp.google.com!news1.google.com!goblin2!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: How to nicely distribute a simple Ada library? Date: Sun, 04 Dec 2011 22:04:57 +0000 Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Injection-Info: mx04.eternal-september.org; posting-host="dFCm8HWntFqmDIilBLqEJQ"; logging-data="14711"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18VwGxBLeYf01o4gJXxhjvltMRUPf+xONM=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (darwin) Cancel-Lock: sha1:rWS2+RGZ8HYazdIqVOOakgJvfOg= sha1:T/B3/2OIh3bJjInhoQHSdFuwr0I= Xref: news1.google.com comp.lang.ada:19337 Content-Type: text/plain; charset=us-ascii Date: 2011-12-04T22:04:57+00:00 List-Id: Natasha Kerensikova writes: > I gather that packaging systems have their own way to perform the > installation, but how can I provide an installation mechanism that > does not depend on a distribution? I would rather avoid automess > tools, they feel extremely overkill compared to the simplicity and > presumed portability of my libraries. I can write a `make install` in > pure makefile language, but is there another more idiomatic way of > doing it? What about windows or mac platforms? I don't have access to other compilers than GNAT, but for GNAT (GPL and FSF) I do try to support Linux and Windows/Cygwin as well as Mac OS X. I've put a small writeup from the user point of view at [1]. This is a work in progress. One thing I personally find helpful is to install alongside the compiler, because I have more than one installed (at the moment, GCC 4.6.0 and GNAT GPL 2011). The source may be compiler-agnostic, but the object and ali files certainly aren't. Also, this saves the bother of specifying the ADA_PROJECT_PATH. There are at least 2 ways of doing this with GNAT. One is the way that GNAT GPL and FSF GCC use, which is that the GPR is found in $prefix/lib/gnat/, source in $prefix/include/$package/ and objects in $prefix/lib/$package/. The other is the way that Debian uses (see the Policy). [1] http://booch95.sourceforge.net/installation.html