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.36.6 with SMTP id m6mr4863774pbj.4.1323345186345; Thu, 08 Dec 2011 03:53:06 -0800 (PST) Path: lh20ni82987pbb.0!nntp.google.com!news2.google.com!postnews.google.com!l24g2000yqm.googlegroups.com!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: How to nicely distribute a simple Ada library? Date: Thu, 8 Dec 2011 03:28:15 -0800 (PST) Organization: http://groups.google.com Message-ID: References: <4edb8625$0$7623$9b4e6d93@newsspool1.arcor-online.net> NNTP-Posting-Host: 153.98.68.197 Mime-Version: 1.0 X-Trace: posting.google.com 1323345186 28123 127.0.0.1 (8 Dec 2011 11:53:06 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 8 Dec 2011 11:53:06 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: l24g2000yqm.googlegroups.com; posting-host=153.98.68.197; posting-account=pcLQNgkAAAD9TrXkhkIgiY6-MDtJjIlC User-Agent: G2/1.0 X-HTTP-Via: ICAP/1.0 192.168.152.2 X-Google-Web-Client: true X-Google-Header-Order: HUALESRCVNK X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.8) Gecko/20100728 Firefox/3.6.8 (.NET CLR 3.5.30729),gzip(gfe) Xref: news2.google.com comp.lang.ada:14875 Content-Type: text/plain; charset=ISO-8859-1 Date: 2011-12-08T03:28:15-08:00 List-Id: Natasha Kerensikova wrote on comp.lang.ada: > On 2011-12-04, Georg Bauhaus wrote: >> I'd start from guiding questions: > >> (0) Is this a source distribution? > > I have no plan of ever answering "no" to (0). And I think if I ever do, > it will be for a company or a distribution, which will provide me with > their "right" way of doing it anyway, so I don't need to care about it > now. I think the question really was: Is this a source-*only* distribution? A source-only distribution (e.g. FreeBSD ports, Gentoo emerge) consists of the sources and Makefiles (or other files) that build the library automatically at installation time. In contrast, a binary distribution (e.g. Debian, FreeBSD packages) provides precompiled binaries and the option to get the sources separately and recompile them if you need to. The simplest form of source-only distribution is just a tarball with the sources in it; it leaves installation, compilation, configuration and dependency management to the user. This is probably what you should do as an upstream developer; packagers for various target platforms will then create the packages using the best practices and standards applicable for their target platform. If you are also the packager (e.g. for FreeBSD as you mentioned) then you will need to consider issues and make decisions such as: - do you want to provide binaries (a "package" as opposed to a "port")? In which case you must provide .ali files and care about their compatibility; you must also consider package dependencies, in particular what happens in the presence of multiple versions of GNAT, as this has an impact on the .ali files. - do you want to support multiple version of GNAT? - do you want to support Ada compilers other than GNAT? - do you want to provide a shared library? Note that these decisions are the responsibility of the packager, not the upstream author. One packager might decide to provide only the sources and require users to recompile the library statically into their executables; another might decide to provide a precompiled static library along with the source and .ali files; another (e.g. on Debian) might decide to provide the full shebang: .ali files, .gpr file, shared library, static library and detached debugging symbols. -- Ludovic Brenta.