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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,39bde956b245c191,start 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 w9mr17825185pbc.7.1322997590064; Sun, 04 Dec 2011 03:19:50 -0800 (PST) Path: lh20ni68074pbb.0!nntp.google.com!news1.google.com!goblin3!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Natasha Kerensikova Newsgroups: comp.lang.ada Subject: How to nicely distribute a simple Ada library? Date: Sun, 4 Dec 2011 11:19:49 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: Mime-Version: 1.0 Injection-Date: Sun, 4 Dec 2011 11:19:49 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="Mda950WjNwNLAFOE7yJXQw"; logging-data="31896"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19nInTR9LECbL9Lk9MZYs9T" User-Agent: slrn/0.9.9p1 (FreeBSD) Cancel-Lock: sha1:EypvxpV1WpkyJB7e3gCC3XYi0mE= Xref: news1.google.com comp.lang.ada:19330 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: 2011-12-04T11:19:49+00:00 List-Id: Hello, sorry for spamming you again, and for the arrogance of thinking anyone might possibly want to use my code, but I'm wondering what is the best way to distribute a library (once it's ready for release) written in Ada. I have found the packaging policies for Debian, which is very complete and useful, and for Fedora, which seems nice too but less interesting for upstream. And I would like to eventually maintain a FreeBSD port. So my first question is, since the policies say to include in the package all the body and specification files required to compile something against the library, but not the others, how can I know which files are required and which are not? The policies also ask for a .gpr file used for building programs against the library, which seems different from the .gpr file used to build the library itself. Should I, as upstream, try to provide both of them, or should I leave the former .gpr file to the packager? 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? And while all the above assumes a GNAT toolchain, there are probably people using other compiles. I guess I cannot really support all Ada compilers that exist (especially those to which I don't have access), so the burden for porting the library to their toolchain is probably theirs, but is there any step I should to make it easier for them? And lastly, is there anything else I should know to make my libraries easier to use for packagers and users? Thanks for your help, Natasha