From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1IbOwk-00012n-Bg for garchives@archives.gentoo.org; Fri, 28 Sep 2007 23:08:34 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.14.1/8.14.0) with SMTP id l8SMxtNG009655; Fri, 28 Sep 2007 22:59:55 GMT Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by robin.gentoo.org (8.14.1/8.14.0) with ESMTP id l8SMxsRV009650 for ; Fri, 28 Sep 2007 22:59:54 GMT Received: from stork.gentoo.org (stork.gentoo.org [64.127.104.133]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTP id 19B0364EC6 for ; Fri, 28 Sep 2007 22:59:54 +0000 (UTC) Received: from george by stork.gentoo.org with local (Exim 4.60) (envelope-from ) id 1IbOoL-00034j-4d for gentoo-commits@lists.gentoo.org; Fri, 28 Sep 2007 22:59:53 +0000 From: "George Shapovalov (george)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, george@gentoo.org Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/en/prog_lang/ada: dev_reference.xml index.xml X-VCS-Repository: gentoo X-VCS-Files: dev_reference.xml index.xml X-VCS-Directories: xml/htdocs/proj/en/prog_lang/ada X-VCS-Committer: george X-VCS-Committer-Name: George Shapovalov Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Message-Id: Sender: George Shapovalov Date: Fri, 28 Sep 2007 22:59:53 +0000 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@gentoo.org X-Archives-Salt: dc9d1f24-b880-4410-b5ac-fb55d3668eb2 X-Archives-Hash: aa16c6b8e37d6331bc8a14579ec8dbfc george 07/09/28 22:59:53 Modified: index.xml Added: dev_reference.xml Log: updated description of the project, added preliminary version of dev_reference Revision Changes Path 1.3 xml/htdocs/proj/en/prog_lang/ada/index.xml file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?rev=1.3&view=markup plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?rev=1.3&content-type=text/plain diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml?r1=1.2&r2=1.3 Index: index.xml =================================================================== RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/prog_lang/ada/index.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- index.xml 11 Nov 2006 19:43:28 -0000 1.2 +++ index.xml 28 Sep 2007 22:59:52 -0000 1.3 @@ -6,7 +6,7 @@ Ada Gentoo Resources for Ada - 11 Nov 2006 + 28 Sep 2007 George Shapovalov @@ -19,23 +19,24 @@

- This project deals with various Ada compilers and libraries in portage. + This project provides support for Ada compilers and libraries in portage. At present two gnat compilers are provided, gnat-gcc by FSF and gnat-gpl by AdaCore. Both are SLOTted and made to coexist, with the selection of the active - compiler performed via eselect gnat module. There are multiple Ada libraries - under dev-ada that are tuned to use these multiple compilers. Selection of the active - lib variant is done simultaneously with the selection of the active compiler - via the same eselect gnat command. More details on the setup can be found in the + compiler performed via the eselect gnat module. Various Ada libraries and related + packages are available under dev-ada. The libs support the multi-compiler + situation by being built for every gnat profile that is installed. Selection + of the active lib variant is done simultaneously with the selection of the + active compiler via the same eselect gnat command. More details on the + setup can be found in the resources section below and the lengthy discussion that lead to this system in bug #111340.

- This setup is in the transitional stage at the moment, nearing completion. - Its progress can be tracked in the + The implementation of the structure is nearing completion. Its progress can be + tracked via: bug #137268. - "Old-style" dev-lang/gnat and dev-ada/asis packages are deprecated and will be - removed when the new setup is fully functional (dev-ada/asis is already masked, - dev-ada/asis-{gcc,gpl} should be used instead). One remaining consideration is + "Old-style" dev-lang/gnat and dev-ada/asis packages have been masked and recently removed. + One remaining consideration is dev-lang/gnat-3.15p, which still seems to have preferential use by some people. However that version no longer works with new binutils and requires an antiquated gcc backend. Help is sought by those interested to keep this version alive, in case there @@ -44,7 +45,12 @@ + + george + + Developer reference: internal structure and organization of Ada packages. + 1.1 xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml?rev=1.1&view=markup plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/prog_lang/ada/dev_reference.xml?rev=1.1&content-type=text/plain Index: dev_reference.xml =================================================================== Developer reference: Internal structure and organization of Ada packages. George Shapovalov This is a guide to internal workings of the gnat and gnatbuild eclasses and eselect-gnat module, as well as an authoritative reference to packaging principles of Ada libs and other related packages. 1.0 28 Sep 2007 Overview

Introduction

Before you start on the internals of the Ada packages you may want to go through the user guide in case you are not familiar with how to activate the chosen gnat profile and where to look for the important files.

Ada related packages can be divided into three important categories:

Compilers and packages that directly extend them.
Currently two closely related "brands" are supported: gnat-gcc released by FSF and gnat-gpl, the AdaCore version. The primary example of the "extending" package would be asis, as it is closely tied to a particular version of compiler and installs directly to the same locations where the specs and libs of the corresponding gnat go. The packages in this category should use the gnatbuild.eclass.
Ada libraries
These are built for every installed gnat and profile-dependent files are installed to profile specific dirs, similarly to those of gnat, however they go in a "library place". This is handled automatically by gnat.eclass, inner workings of which are discussed below.
Executables/other programs
The stuff that is to be executed directly or otherwise is not supposed to be linked against. The prominent examples would be gps, c2ada, etc. These require no special treatment and can be built in a regular way with any active compiler or can depend on a particular variant.

The profiles are switched vie eselect-gnat module, the usual way. Its internal workings are also discussed in the chapter describing gnatbuild.eclass.

gnatbuild.eclass and eselect-gnat
Introduction

To be completed.

-- gentoo-commits@gentoo.org mailing list