--- asis-2007.orig/debian/gnatelim.1 +++ asis-2007/debian/gnatelim.1 @@ -0,0 +1,105 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 1996 Erick Branderhorst +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, or with the +.\" dpkg source package as the file COPYING. If not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.TH "GNATELIM" 1 "January 2002" "GNU Ada Tools" "ASIS Tools" +.SH NAME +\fBgnatelim\fR \- eliminate dead code from Ada programs +.SH SYNOPSIS +\fBgnatelim\fR [\fIOPTION\fR]... \fIname\fR +.SH DESCRIPTION +.PP +When you are working with a program which shares some set of Ada packages +with other programs, it may happen, that your program uses only a part of +subprogram defined in these packages, whereas the code created for unused +subprograms increases the size of the executable your program. +.PP +\fBgnatelim\fR is a utility tracking unused subprograms in an Ada +program. Its output consists of a list of Eliminate pragmas marking +all the subprograms that are declared, but never called in a given +program. Eliminate is a GNAT-specific pragma. By ecompiling your +program with these pragmas, you may decrease the size of its +executable, because the compiler will not create the code for unused +subprograms. +.PP +\fBgnatelim\fR is an ASIS application developed on top of the ASIS +implementation for GNAT. It needs a set of tree files representing a +program to analyze and the bind file for its main subprogram to be +created in the current directory. For the current version, it is a the +user's responsibility to maintain the consistency of the set of tree +files processed by \fBgnatelim\fR, if the user also changes the +sources of the Ada program to be processed. +.PP +To produce a list of Eliminate pragmas, \fBgnatelim\fR has to do an +extensive analysis and it may take some time. For example, to process +itself, \fBgnatelim\fR takes 4 minutes of CPU time on a Pentium 200. +.SH OPTIONS +.TP +\fB-v\fR +verbose mode: \fBgnatelim\fR version information is printed (in the form of +Ada comments) in stdout; the names of the files being processed are +printed to standard-error. +.TP +\fB-vf\fR +Same as -v, but in addition various debugging information and +information reflecting some details of the analysis done by +\fBgnatelim\fR are printed to standard-error. +.TP +\fB-a\fR +Process RTL components: by default, \fBgnatelim\fR does not analyze +the units which are the components of the GNAT Run-Time Library (RTL), +and it does not generate Eliminate pragmas for subprograms declared in +the RTL. If '-a' option is set, RTL components are also analyzed +(except some units, which contains subprograms implicitly called by +the compiler). +.TP +\fB-m\fR +Check missed units: if this option is set, \fBgnatelim\fR checks that +all the units which (according to the bind file) has to be analyzed by +\fBgnatelim\fR are really represented by the set of tree files +processed by \fBgnatelim\fR (depending on whether or not '-a' option +is set). By default (that is, if '-m' option is not set), +\fBgnatelim\fR analyzes a set of units represented by a given set of +tree files "as is" (excluding library packages which require bodies, +but for which bodies are not available). + +.SH AUTHOR +.PP +ASIS-for-GNAT was originally developed by the ASIS-for-GNAT team at the +Software Engineering Laboratory of the Swiss Federal Institute of +Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with the +Scientific Research Computer Center of Moscow State University (SRCC +MSU), Russia, with funding partially provided by grants from the Swiss +National Science Foundation and the Swiss Academy of Engineering +Sciences. ASIS-for-GNAT is now maintained by Ada Core Technologies Inc +(http://www.gnat.com). +.PP +This manual page was written by Ludovic Brenta + for the Debian project. +.SH COPYRIGHT +Copyright (c) 1995-1997, Free Software Foundation, Inc. +.SH SEE ALSO +.PP +asistant(1), gnat(1), gnatcheck(1), gnatmetric(1), gnatpp(1), gnatstub(1) +.PP +The full documentation for \fBgnatelim\fR in +/usr/share/doc/asis-programs/README.gnatelim +.TP +\fBinfo asis_ug\fR ASIS-for-GNAT User's Guide +.TP +\fBinfo asis_rm\fR ASIS-for-GNAT Reference Manual --- asis-2007.orig/debian/asis.gpr +++ asis-2007/debian/asis.gpr @@ -0,0 +1,37 @@ +-- ASIS project file for use with GCC 4.3 +-- Copyright (c) 2003, 2006, 2008 Ludovic Brenta +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- This project file is designed to help build applications that use +-- Asis. Here is an example of how to use this project file: +-- +-- with "asis"; +-- project Example is +-- for Object_Dir use "obj"; +-- for Exec_Dir use "."; +-- for Main use ("example"); +-- package Linker renames Asis.Linker; +-- -- Alternatively, if you need additional switches: +-- -- package Linker is +-- -- for Default_Switches ("Ada") use (Asis.Ada_Switches & ...) +-- -- end Linker; +-- end Example; + +with "gnatvsn.gpr"; +project ASIS is + for Source_Dirs use ("/usr/share/ada/adainclude/asis"); + for Library_Name use "asis"; + for Library_ALI_Dir use "/usr/lib/ada/adalib/asis"; + for Library_Dir use "/usr/lib"; + for Library_Kind use "dynamic"; + for Externally_Built use "true"; +end ASIS; --- asis-2007.orig/debian/README.Debian +++ asis-2007/debian/README.Debian @@ -0,0 +1,14 @@ +ASIS-for-GNAT + +This ASIS-for-GNAT 2005 GPL Edition, released on 2005-09-14 together +with GNAT GPL 2005 Edition. It also compiles and works fine with GCC +4.1.1, provided you disable assertions (i.e. do not compile with +-gnata), due to changes in sinfo.adb from GNAT GPL 2005 Edition to GCC +4.1. sinfo.adb is part of libgnatvsn4.1. + +ASIS-for-GNAT 2006, released together with GNAT GPL 2006, builds but +is not compatible with GCC 4.1, due to more changes in sinfo.adb from +GCC 4.1 to GNAT GPL 2006 Edition that affect the tree files and not +just the assertions. + +That is why Debian includes ASIS 2005 but not (yet) ASIS 2006. --- asis-2007.orig/debian/copyright +++ asis-2007/debian/copyright @@ -0,0 +1,47 @@ +ASIS-for-GNAT was originally developed by the ASIS-for-GNAT team at the +Software Engineering Laboratory of the Swiss Federal Institute of +Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with the +Scientific Research Computer Center of Moscow State University (SRCC +MSU), Russia, with funding partially provided by grants from the Swiss +National Science Foundation and the Swiss Academy of Engineering +Sciences. ASIS-for-GNAT is now maintained by AdaCore +(http://www.adacore.com). + +ASIS-for-GNAT is free software; you can redistribute it and/or modify it +under terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. ASIS-for-GNAT is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. You should have received a copy +of the GNU General Public License distributed with ASIS-for-GNAT; see +file COPYING. If not, write to the Free Software Foundation, 51 Franklin +St, Fifth Floor, Boston, MA 02110-1301 USA + +Copyright (c) 1995-2005, Free Software Foundation, Inc. + +On Debian GNU/Linux systems, the full terms of the GNU General Public +License are in /usr/share/common-licenses/GPL. + +Maintainer's note: + +In contrast to previous versions of ASIS, this version is licensed under +the pure GPL. This means that if you produce binary executables linked +with ASIS, and if you distribute these binary executables to anyone, +then you *must* do so under the terms of the GPL. This means that you +must give them (your customers) the sources of your program, and that +they (your customers) have a right to modify and redistribute your +program under the terms of the GPL. + +If you do not wish to license your software under the terms of the GPL, +then you have three choices: + +- do not distribute your software at all (i.e. only use it internally + for your own purposes) + +- distribute your software in source form only, under licensing terms of + your choosing + +- contact AdaCore (sales@adacore.com) and acquire a GNAT Pro license, + which will allow you to distribute binaries linked with ASIS under + licensing terms of your choosing. --- asis-2007.orig/debian/asistant.1 +++ asis-2007/debian/asistant.1 @@ -0,0 +1,64 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 2006 Ludovic Brenta +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, If not, +.\" write to the Free Software Foundation, Inc., 51 Franklin St, Fifth +.\" Floor, Boston, MA 02110-1301 USA. +.\" +.TH "ASISTANT" 1 "May 2006" "GNU Ada Tools" "ASIS Tools" +.SH NAME +\fBasistant\fR \- interactive command-line ASIS tool +.SH SYNOPSIS +\fBasistant\fR \fIprogram\fR +.SH DESCRIPTION +.PP +ASIS is the Ada Semantic Interface Specification; it is an application +programming interface that allows Ada programs to inspect the +structure of other Ada programs. GNAT, the GNU Ada compiler, can +parse Ada source text and produce tree files suitable for use through +ASIS. +.PP +\fBasistant\fR is an interactive command-line tool with a simple +language that allows you to inspect the semantic information about a +compiled program. Thus you can learn ASIS and try ASIS queries +interactively before writing them in your programs. +.SH AUTHOR +.PP +ASIS-for-GNAT was originally developed by the ASIS-for-GNAT team at the +Software Engineering Laboratory of the Swiss Federal Institute of +Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with the +Scientific Research Computer Center of Moscow State University (SRCC +MSU), Russia, with funding partially provided by grants from the Swiss +National Science Foundation and the Swiss Academy of Engineering +Sciences. ASIS-for-GNAT is now maintained by AdaCore +(http://www.adacore.com). +.PP +This manual page was written by Ludovic Brenta + for the Debian project, +.SH COPYRIGHT +Copyright (c) 1995-2006, Free Software Foundation, Inc. +.SH SEE ALSO +.PP +gnat(1), gnatcheck(1), gnatelim(1), gnatmetric(1), gnatpp(1), gnatstub(1) +.PP +A short introduction to \fBasistant\fR in +\fI/usr/share/doc/libasis-dev/tutorial/using_asistant/README\fR +.TP +\fBinfo asis_ug\fR ASIS-for-GNAT User's Guide, provided by by package +\fBlibasis-doc\fR in the Info system, and in text, PDF and HTML +formats in \fI/usr/share/doc/libasis-doc\fR. (\fBasis-doc\fR is in +the non-free section of Debian). +.TP +\fBinfo asis_rm\fR ASIS-for-GNAT Reference Manual, same package. --- asis-2007.orig/debian/gnatpp.1 +++ asis-2007/debian/gnatpp.1 @@ -0,0 +1,206 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 2006 Ludovic Brenta +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, If not, +.\" write to the Free Software Foundation, Inc., 51 Franklin St, Fifth +.\" Floor, Boston, MA 02110-1301 USA. +.\" +.TH "GNATPP" 1 "June 2006" "GNU Ada Tools" "ASIS Tools" +.SH NAME +\fBgnatpp\fR \- Ada pretty-printer +.SH SYNOPSIS +\fBgnatpp\fR [options] {\fIfilename\fR | \fB-files\fR \fIfilename\fR} [\fIgcc_switches\fR] +.SH DESCRIPTION +\fBgnatpp\fR recreates the source text of the specified Ada units from +GNAT's parse tree. Along the way, it reformats the source text +according to the many options. The defaults are suitable for the GNAT +style guide. +.PP +.SH OPTIONS +.IP \fB-A\fR(0|1|2|3|4|5) +set alignment, all the alignments are set ON by default +.RS +.IP 0 +set the default for all the alignments OFF +.IP 1 +align colons in declarations +.IP 2 +align assignments in declarations +.IP 3 +align assignments in assignment statements +.IP 4 +align arrow delimiters in associations +.IP 5 +align 'AT' keywords in component clauses +.RE +.IP \fB-a\fR(L|U|M) +set attribute casing +.RS +.IP L +lower case +.IP U +upper case +.IP M +mixed case (set as default) +.RE +.IP \fB-c\fR(0|1|2|3|4) +comments layout +.RS +.IP 0 +do not format comments +.IP 1 +GNAT style comment line indentation (set as default) +.IP 2 +standard comment line indentation +.IP 3 +GNAT style comment beginning +.IP 4 +reformat comment blocks +.RE +.IP \fB-cl\fR\fInnn\fR +indentation level for continuation lines, \fInnn\fR from 1 .. 9 +.IP \fB-D\fR\fIfile\fR +set \fIfile\fR as the dictionary file defining casing exceptions +.IP \fB-D-\fR +do not use RM95-defined casing for predefined names, use casing +defined by \fB-n\fR parameter and dictionary file(s) instead +.IP \fB-e\fR +do not set missed end/exit labels +.IP \fB-ff\fR +put Form Feed after a pragma Page +.IP \fB-gnatec\fR\fIpath\fR +the same as GNAT -gnatec option +.IP \fB-i\fR\fInnn\fR +indentation level, \fInnn\fR from 1 .. 9, the default value is 3 +.IP \fB-I\fR\fRdir\fR +the same as GNAT -I option +.IP \fB-I-\fR +the same as GNAT -I- option +.IP \fB-k\fR(L|U) +set keyword casing +.RS +.IP L +lower case (set as default) +.IP U +upper case +.RE +.IP \fB-l\fR(1|2|3) +set construct layout +.RS +.IP 1 +GNAT style layout (set as default) +.IP 2 +compact layout +.IP 3 +uncompact layout +.RE +.IP \fB-M\fR\fInnn\fR +set maximum line length, \fInnn\fR from 32 .. 256, the default value +is 79 +.IP \fB-n\fR(D|U|L|M) +set name casing (for both defining and usage occurrences) +.RS +.IP D +as declared (set as default) +.IP U +all in upper case +.IP L +all in lower case +.IP M +mixed +.RE +.IP \fB-N\fR +no tabulation in comments +.IP \fB-p\fR(L|U|M) +.RS +.IP L +lower case +.IP U +upper case +.IP M +mixed case (set as default) +.RE +.IP \fB--RTS=\fR\fIdir\fR +the same as GNAT --RTS option +.IP \fB-T\fR\fInnn\fR +do not use additional indentation level for case alternatives and +variants if their number is \fInnn\fR or more (the default value is +10) +.IP \fB-q\fR +quiet mode +.IP \fB-v\fR +verbose mode +.IP \fB-dd\fR +progress indicator verbose mode +.IP \fB-w\fR +warnings ON +.SS Output file control +.IP \fB-pipe\fR +send the output into stdout +.IP "\fB-o\fR \fIoutput_file\fR" +write the output into output_file. Give up if \fIoutput_file\fR +already exists +.IP "\fB-of\fR \fIoutput_file\fR" +write the output into output_file, overriding the existing file +.IP \fB-r\fR +replace the argument source with the pretty-printed source and copy +the argument source into \fIfilename.npp\fR. Give up if +\fIfilename.npp\fR already exists. +.IP \fB-rf\fR +replace the argument source with the pretty-printed source and copy +the argument source into \fIfilename.npp\fR, overriding the existing +file +.IP \fB-rnb\fR +replace the argument source with the pretty-printed source and do not +create the back-up copy of the argument source +.SS Input files +.IP \fIfilename\fR +the name of the Ada source file to be reformatted. Wildcards are +allowed. +.IP "\fB-files\fR \fIfilename\fR" +the name of the text file containing a list of Ada source files to +reformat +.SS GCC switches +.IP \fIgcc_switches\fR +Passed to gnatgcc as "\fB-cargs\fR \fIgcc_switches\fR". +.SH AUTHOR +.PP +ASIS-for-GNAT was originally developed by the ASIS-for-GNAT team at +the Software Engineering Laboratory of the Swiss Federal Institute of +Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with +the Scientific Research Computer Center of Moscow State University +(SRCC MSU), Russia, with funding partially provided by grants from the +Swiss National Science Foundation and the Swiss Academy of Engineering +Sciences. ASIS-for-GNAT is now maintained by AdaCore +(http://www.adacore.com). +.PP +This manual page was written by Ludovic Brenta + for the Debian project, from the gnatpp +sources. +.SH COPYRIGHT +Copyright (c) 1995-2006, Free Software Foundation, Inc. +.SH SEE ALSO +.TP +asistant(1), gnat(1), gnatcheck(1), gnatelim(1), gnatmetric(1), +gnatstub(1) +.TP +\fI/usr/share/doc/asis-programs/README.gnatpp\fR +.TP +\fBinfo asis_ug\fR ASIS-for-GNAT User's Guide, provided by by package +\fBlibasis-doc\fR in the Info system, and in text, PDF and HTML +formats in \fI/usr/share/doc/libasis-doc\fR. (\fBasis-doc\fR is in +the non-free section of Debian). +.TP +\fBinfo asis_rm\fR ASIS-for-GNAT Reference Manual, same package. --- asis-2007.orig/debian/compat +++ asis-2007/debian/compat @@ -0,0 +1 @@ +4 --- asis-2007.orig/debian/changelog +++ asis-2007/debian/changelog @@ -0,0 +1,331 @@ +asis (2007-4ubuntu2) karmic; urgency=low + + * #356672 : rebuild of ASIS on karmic, to make it usable + + -- David Sauvage Wed, 25 Nov 2009 00:01:14 +0100 + +asis (2007-4) unstable; urgency=low + + * debian/install_asis.gpr: adjust to the fact that gnatvsn.gpr is now + a proper library project file. Closes: #497673. + * debian/control: + - tighten build-dependency on gnat-4.3 accordingly. + - Use ${binary:Version} instead of ${Source-Version}. + * debian/compat: new. + * debian/rules (DH_COMPAT): remove. + + -- Ludovic Brenta Wed, 3 Sep 2008 18:39:24 +0200 + +asis (2007-3) unstable; urgency=low + + * patches/gnatgcc.patch: patch other hardcoded "gcc" strings. + Closes: #491228. + * debian/control (asis-programs): Depend on gnat (providing gnatgcc) + in addition to gnat-4.3. + + -- Ludovic Brenta Thu, 17 Jul 2008 23:25:05 +0200 + +asis (2007-2) unstable; urgency=low + + * Add support for ppc64. + + -- Ludovic Brenta Sun, 27 Apr 2008 14:57:51 +0200 + +asis (2007-1) unstable; urgency=low + + * New upstream version. Closes: #445764, #445769. + * patches/gcc-4.3.patch: new; compile with GCC 4.3. Closes: #472529. + * Build gnatcheck, new tool from upstream. Closes: #425626. + * debian/gnatcheck.1: new. + * Do not build display_source, removed upstream. + * debian/display_source.1: remove. + * Compile the library with all optional run-time checks enabled. + * Change asis.gpr into a proper library project file using new features + of the project manager. + + -- Ludovic Brenta Sat, 19 Apr 2008 01:15:14 +0200 + +asis (2005-5) unstable; urgency=low + + * debian/control: add support for alpha and s390. + + -- Ludovic Brenta Tue, 8 Aug 2006 23:02:17 +0200 + +asis (2005-4) unstable; urgency=low + + * debian/rules: remove bashisms. Closes: #378437. + + -- Ludovic Brenta Sun, 16 Jul 2006 14:37:10 +0200 + +asis (2005-3) unstable; urgency=low + + * Rebuild against the real .orig.tar.gz. + + -- Ludovic Brenta Fri, 14 Jul 2006 20:39:32 +0200 + +asis (2005-2) unstable; urgency=low + + * debian/control: disable alpha, mips, mipsel and s390, because + libgnatvsn-dev is disabled on those architectures. + + -- Ludovic Brenta Thu, 13 Jul 2006 19:04:25 +0200 + +asis (2005-1) unstable; urgency=low + + * New upstream version. Do not provide the GNAT sources, bundled by + upstream, since we build against libgnatvsn. Do not provide + documentation anymore; it is non-free. We still provide the + tutorial, examples and some explanation files. + * debian/tools.gpr, debian/rules: do not build display_source anymore, + it FTBFS due to the support for Ada 2005, for which it has not been + updated. Build gnatcheck, which is new in this version of + ASIS-for-GNAT. + * debian/copyright: change to the pure GPL, per upstream. Explain. + * debian/control: + - Change my email address: now a full DD! + - Build-depend on gnat and libgnatvsn-dev (>= 4.1). + - (libasis-3.15p-1-dev): rename to libasis-dev. + - (libasis-3.15p-1): rename to libasis2006. + - Update Standards-Version to 3.7.2 with no changes. + - Add alpha, amd64, hppa, ia64, mips, mipsel and s390 to Architecture. + - Build-Depend on quilt, which we now use to manage patches. + - (asis-programs): depend on gnat-4.1. + * debian/install_asis.gpr: build without -gnata and -gnatVa, because + libgnatvsn4.1 is also built without these checks. + * debian/00-docs.patch: remove. + * debian/01-gnatgcc.patch: update and move to patches/gnatgcc.patch. + * debian/asistant.1, debian/display_source.1, + debian/gnatmetric.1, debian/gnatpp.1: new. + * patches/gcc-4.1.patch: new, but disabled; only applies to ASIS 2006. + * patches/series: new. + + -- Ludovic Brenta Wed, 5 Jul 2006 08:41:06 +0200 + +asis (3.15p-10) unstable; urgency=low + + * debian/rules, debian/control: add support for GNU/kFreeBSD. Thanks, + Aurélien Jarno. Build-Depend on gnat 3.15p-19, the first version to + support GNU/kFreeBSD. Closes: #345195. + + -- Ludovic Brenta Tue, 7 Feb 2006 18:40:23 +0100 + +asis (3.15p-9) unstable; urgency=low + + * debian/rules (display_source, asistant, gnatelim, gnatstub): link with + libgnatvsn, not libgnatprj. Closes: #344201. + + -- Ludovic Brenta Wed, 21 Dec 2005 11:38:20 +0100 + +asis (3.15p-8) unstable; urgency=low + + * debian/control (libasis-3.15p-dev): depend on libgnatvsn-dev, not + libgnatprj-dev due to the license. Build-depend on gnat >= 3.15p-17. + * debian/asis.gpr: import gnatvsn.gpr instead of gnatprj.gpr. + * debian/rules (obj/libasis.so): link against libgnatvsn, not libgnatprj. + + -- Ludovic Brenta Sat, 10 Dec 2005 18:19:06 +0100 + +asis (3.15p-7) unstable; urgency=low + + * debian/control (libasis-3.15p-1-dev): depend on libgnatprj-dev, + which provides the files from GNAT that are required for any ASIS + application. + * debian/asis.gpr: import gnatprj.gpr, for the same reason. + * debian/rules (libasis-3.15p-1-dev): do not provide GNAT files in + /usr/share/ada/adainclude/asis anymore, they are now provided by + libgnatprj-dev. (was already done in -6, but not documented). + * debian/rules (CPUS): detect how many CPUs we have and do a parallel build. + + -- Ludovic Brenta Thu, 13 Oct 2005 19:15:59 +0200 + +asis (3.15p-6) unstable; urgency=low + + * debian/control: update standards-version to 3.6.2. Build-depend on + the new library libgnatprj-dev (>= 3.15p-14) + * debian/rules, debian/tools.gpr, debian/install_asis.gpr: new; use + project files to build the libraries and tools; link them against + libgnatprj.so. Do not build the source files under gnat/ anymore. + * asis was broken by the change in gnat_3.15p-13's gnatvsn.ads (version + string). Now, gnatvsn.ads is in libgnatprj and asis is repaired. + * debian/rules: do not use dpkg --print-gnu-build-architecture, obsolete. + * debian/117703.patch: remove, folded into debian/tools.gpr. + + -- Ludovic Brenta Tue, 27 Sep 2005 22:13:27 +0200 + +asis (3.15p-5) unstable; urgency=low + + * debian/117703.patch: new patch from Xavier Grave to allow building on + powerpc. Closes: #117703. + * debian/libasis-3.15p-1-dev.postinst: remove. + * debian/control: update standards-version to 3.6.1.1. + * debian/rules (patch, unpatch): new rules to patch and unpatch. + * debian/rules (binary-arch): do not strip the static library. + * debian/control: change maintainer's email address. + + -- Ludovic Brenta Thu, 25 Aug 2005 23:09:23 +0200 + +asis (3.15p-4) unstable; urgency=low + + * Provide the *.ad[bs] files for parts of GNAT which are required when + building ASIS applications. + * Do not compress the *.ad[bs] and *.ali files from the examples. + * Do not install *.{ali,o} from the examples directory. + * Compile with additional flags -gnato -gnatn -gnatVa. + * Provide a GNAT project file, /usr/share/ada/adainclude/asis.gpr. + + -- Ludovic Brenta Fri, 19 Dec 2003 02:29:58 +0100 + +asis (3.15p-3) unstable; urgency=low + + * Add build dependency on debhelper. + + -- Matthias Klose Thu, 13 Nov 2003 19:46:03 +0100 + +asis (3.15p-2) unstable; urgency=low + + * asis-programs: provide display_source. + * libasis-3.15p-1-dev: recompile the static library without -fPIC. + * Place asis-programs in section "devel". + * Place libasis-3.15p-1-dev in section "libdevel". + * Place libasis-3.15p-1 in section "libs". + + -- Ludovic Brenta Fri, 19 Aug 2003 15:22:16 +0200 + +asis (3.15p-1) unstable; urgency=low + + * New maintainer. Closes: #154095. + * New upstream version. + * Use debhelper, not yada. + * Place *.ad[bs] in /usr/share/ada/adainclude/asis. + * Place *.ali in /usr/lib/ada/adalib/asis. + * Provide an unstripped static library in -dev. + + -- Ludovic Brenta Thu, 14 Aug 2003 20:48:02 +0200 + +asis (3.14p-4.2) unstable; urgency=low + + * QA upload number two. I hate yada. + * Really change maintainer to Debian QA Group. + + -- Colin Watson Sun, 18 May 2003 15:07:34 +0100 + +asis (3.14p-4.1) unstable; urgency=low + + * Package is orphaned (#154095); set maintainer to Debian QA Group. + + -- Colin Watson Sun, 18 May 2003 13:04:54 +0100 + +asis (3.14p-4) unstable; urgency=low + + * Authorized NMU. + * Recompile with latest GNAT runtime. + + -- Thomas Quinot Sun, 3 Mar 2002 19:55:58 +0100 + +asis (3.14p-3) unstable; urgency=low + + * Fix various building bugs. + + -- Samuel Tardieu Sun, 3 Feb 2002 00:54:58 +0100 + +asis (3.14p-2) unstable; urgency=low + + * Rebuild with GNAT 3.14p-2, which corrected shlib. + + -- Samuel Tardieu Sat, 2 Feb 2002 23:59:38 +0100 + +asis (3.14p-1) unstable; urgency=low + + * New upstream version. + + -- Samuel Tardieu Sat, 2 Feb 2002 22:12:01 +0100 + +asis (3.13p-3) unstable; urgency=low + + * Use the latest yada to compile. + + -- Samuel Tardieu Wed, 31 Jan 2001 12:37:41 +0100 + +asis (3.13p-2) unstable; urgency=low + + * Add Build-Depends line. Closes: #70156. + + -- Samuel Tardieu Wed, 30 Aug 2000 12:31:48 +0200 + +asis (3.13p-1) unstable; urgency=low + + * New upstream release. + + -- Samuel Tardieu Thu, 3 Aug 2000 14:41:54 +0200 + +asis (3.12p-4) unstable; urgency=low + + * Use the right filename. Closes: #64742. + + -- Samuel Tardieu Mon, 29 May 2000 13:36:02 +0200 + +asis (3.12p-3) unstable; urgency=low + + * Major reorganization: + - "asis" is now called "libasis-3.12p-1-dev" + - "asis-runtime" is now called "libasis-3.12p-1" + This is consistent with what is done for the GNU Ada compiler (gnat). + * Use standard version 3.1.0. + + -- Samuel Tardieu Mon, 8 Nov 1999 15:16:05 +0100 + +asis (3.12p-2) unstable; urgency=low + + * Also install files from gnat/*.ad[bs]. Closes: #49180. + + -- Samuel Tardieu Fri, 5 Nov 1999 10:16:41 +0100 + +asis (3.12p-1) unstable; urgency=low + + * New upstream version. + * Use standard version 3.0.1. + * Use yada to build package. + + -- Samuel Tardieu Wed, 27 Oct 1999 15:08:03 +0200 + +asis (3.11p-6) unstable; urgency=low + + * Recompiled with GNAT 3.11p-16 to get the dependencies right. + + -- Samuel Tardieu Fri, 10 Sep 1999 11:30:58 +0200 + +asis (3.11p-5) unstable; urgency=low + + * Recompiled with GNAT 3.11p-9 to get the dependencies right. + + -- Samuel Tardieu Tue, 23 Feb 1999 20:17:21 +0100 + +asis (3.11p-4) unstable; urgency=low + + * Upgrade so that the right libraries are used (from gnat-3.11p-6). + + -- Samuel Tardieu Tue, 9 Feb 1999 21:57:56 +0100 + +asis (3.11p-3) unstable; urgency=low + + * Change compiler name from "gcc" to "gnatgcc" in order to call the right + one. + + -- Samuel Tardieu Mon, 8 Feb 1999 11:13:14 +0100 + +asis (3.11p-2) unstable; urgency=low + + * Exclude usr/lib/asis from dh_strip list since otherwise the Sparc port + is broken. + + -- Samuel Tardieu Thu, 4 Feb 1999 10:30:12 +0100 + +asis (3.11p-1) unstable; urgency=low + + * Initial Release. + + -- Samuel Tardieu Tue, 2 Feb 1999 15:15:51 +0100 + +Local variables: +left-margin: 2 +End: --- asis-2007.orig/debian/install_asis.gpr +++ asis-2007/debian/install_asis.gpr @@ -0,0 +1,21 @@ +-- GNAT Project file that builds the ASIS library. +-- Copyright (c) 2005, 2006, 2008 Ludovic Brenta + +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +with "gnatvsn.gpr"; +project Install_ASIS is + for Source_Dirs use ("../asis", "../obj"); + for Object_Dir use "../obj"; + for Main use ("install_asis"); + package Compiler is + for Default_Switches ("Ada") use ("-O2", "-gnatafno", "-gnatwa", "-gnatVa"); + end Compiler; +end Install_ASIS; --- asis-2007.orig/debian/gnatcheck.1 +++ asis-2007/debian/gnatcheck.1 @@ -0,0 +1,122 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 2004-2007 AdaCore +.\" Copyright (C) 2008 Ludovic Brenta +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, or with the +.\" dpkg source package as the file COPYING. If not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.TH "GNATCHECK" 1 "March 2008" "GNU Ada Tools" "ASIS Tools" +.SH NAME +gnatcheck \- The GNAT rule checking tool +.SH SYNOPSIS +\fBgnatcheck\fR [\fIOPTION\fR]... \fIfilename\fR [\fB-cargs\fR \fIgcc_switches\fR] [\fB-rules\fR \fIrule_switches\fR] +.PP +\fBgnatcheck\fR [\fIOPTION\fR]... -files=\fIfilename\fR [\fB-cargs\fR \fIgcc_switches\fR] [\fB-rules\fR \fIrule_switches\fR] +.SH DESCRIPTION +.PP +\fBgnatcheck\fR checks the conformance of Ada source text with rules +and produces a report file for later analysis as well as on standard +output. +.PP +In the first form, \fBgnatcheck\fR examines the specified Ada source +files (wildcards are allowed). +.PP +In the second form, \fBgnatcheck\fR examines the Ada source files +listed in the specified file. +.PP +\fBgnatcheck\fR is an ASIS application developed on top of the ASIS +implementation for GNAT. As such, it reads tree files (\fI*.adt\fR) +produced by the compiler to accomplish its goals, and invokes +\fBgnatgcc\fR for this. +.SH OPTIONS +.TP +\fB-a\fR +Process RTL units. +.TP +\fB-cargs\fR \fIgcc_switches\fR +Pass \fIgcc_switches\fR to GCC when producing the tree files. +.TP +\fB-d\fR +Debug mode. +.TP +\fB-dd\fR +Progress indicator mode, for use in the GNAT Programming Studio. +.TP +\fB-h\fR +Print the list of built-in rules. +.TP +\fB-l\fR +Full source location chains in report file. +.TP +\fB-q\fR +Quiet mode: do not report detections on standard output. +.TP +\fB-rules\fR \fIrule_switches\fR +\fIrule_switches\fR can be any combination of the following: +.RS +.TP +\fB-from\fR=\fIfile\fR +Read rule options from \fIfile\fR +.TP +\fB+ALL\fR +Turn all rules on. +.TP +\fB-ALL\fR +Turn all rules off. +.TP +\fB+R\fR\fIrule_id\fR[:\fIparam\fR[,\fIparam\fR...]] +Turn the specified rule on, passing it optional parameters. +.TP +\fB-R\fR\fIrule_id\fR +Turn the specified rule off. +.TP +\fB+R\fR\fIrule_id\fR[:\fIparam\fR[,\fIparam\fR...]] +Turn off some of the checks for the specified rule. +.P +\fIrule_id\fR is any of the rules listed with the \fB-h\fR option. +.RE +.TP +\fB-s\fR +Short form of the report file. +.TP +\fB-s\fR\fIn\fR +Include only section \fIn\fR (\fIn\fR in 1 .. 3) in the report file. +.TP +\fB-v\fR +Verbose mode. +.TP +.SH AUTHOR +.PP +\fBgnatcheck\fR was written by AdaCore (http://www.adacore.com). +.PP +This manual page was written by Ludovic Brenta + for the Debian project, from information +in the sources of gnatcheck. +.SH COPYRIGHT +\fBgnatcheck\fR is Copyright (c) 2004-2007 AdaCore +.PP +This manual page is Copyright (C) 2008 Ludovic Brenta +. +.SH SEE ALSO +.PP +asistant(1), gnat(1), gnatelim(1), gnatmetric(1), gnatpp(1) +.PP +The full documentation for \fBgnatcheck\fR in +/usr/share/doc/asis-programs/README.gnatcheck. +.TP +\fBinfo asis_ug\fR ASIS-for-GNAT User's Guide +.TP +\fBinfo asis_rm\fR ASIS-for-GNAT Reference Manual --- asis-2007.orig/debian/tools.gpr +++ asis-2007/debian/tools.gpr @@ -0,0 +1,52 @@ +-- GNAT Project file that builds the ASIS programs. +-- Copyright (c) 2005 Ludovic Brenta + +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. + +with "gnatvsn.gpr"; +with "./install_asis.gpr"; +project Tools is + for Source_Dirs use ("../tools/asistant", + "../tools/gnatcheck", + "../tools/gnatelim", + "../tools/gnatmetric", + "../tools/gnatpp", + "../tools/gnatstub", + "../tools/tool_utils", + "obj"); + for Object_Dir use "obj"; + for Exec_Dir use ".."; + + for Main use ("asistant-driver.adb", + "gnatcheck-driver.adb", + "gnatelim-driver.adb", + "metrics-simple_driver.adb", + "gnatpp-driver.adb", + "gnatstub-driver.adb"); + + package Compiler is + for Default_Switches ("Ada") + use ("-O2", "-gnatafnoy", "-gnatVa", "-gnatwa"); + end Compiler; + -- There are no linker switches, because GNAT project files don't + -- allow relative paths, and we really want to link against + -- ../obj/libasis.so. debian/rules calls us with gnatmake -c -b + -- (compile and bind, don't link), and then links separately. + + package Builder is + for Executable ("asistant-driver.adb") use "asistant"; + for Executable ("gnatcheck-driver.adb") use "gnatcheck"; + for Executable ("gnatelim-driver.adb") use "gnatelim"; + for Executable ("metrics-simple_driver.adb") use "gnatmetric"; + for Executable ("gnatpp-driver.adb") use "gnatpp"; + for Executable ("gnatstub-driver.adb") use "gnatstub"; + end Builder; +end Tools; --- asis-2007.orig/debian/control +++ asis-2007/debian/control @@ -0,0 +1,48 @@ +Source: asis +Maintainer: Ludovic Brenta +Section: libdevel +Priority: optional +Standards-Version: 3.7.3 +Build-Depends: gnat, gnat-4.3 (>= 4.3.1-2), debhelper (>= 4.1), libgnatvsn4.3-dev, quilt + +Package: libasis-dev +Architecture: alpha amd64 hppa i386 ia64 kfreebsd-i386 mips mipsel powerpc ppc64 s390 sparc +Section: libdevel +Conflicts: libasis-3.15p-1-dev +Replaces: libasis-3.15p-1-dev +Depends: libasis2007 (= ${binary:Version}), gnat-4.3, libgnatvsn4.3-dev (>= 4.3) +Description: Ada Semantic Interface Specification (ASIS) headers and libraries + ASIS (Ada Semantic Interface Specification) lets you develop applications + to walk through the sources of your Ada programs and examine the semantic + constructs. + . + This package lets you build ASIS applications with GNAT. + +Package: asis-programs +Architecture: alpha amd64 hppa i386 ia64 kfreebsd-i386 mips mipsel powerpc ppc64 s390 sparc +Section: devel +Depends: gnat, gnat-4.3, ${shlibs:Depends} +Description: Ada Semantic Interface Specification (ASIS) example programs + ASIS (Ada Semantic Interface Specification) lets you develop applications + to walk through the sources of your Ada programs and examine the semantic + constructs. + . + * asistant is an interactive command-line tool to explore the ASIS parse tree + of a program. + * gnatcheck verifies the conformance of source text to coding conventions + * gnatelim finds out unused subprograms and eliminates them. + * gnatmetric calculates metrics such as code complexity. + * gnatpp is a pretty-printer which reformats Ada source text according to + a default or user-specified style guide. + * gnatstub generates an empty but compilable body for a given specification. + +Package: libasis2007 +Architecture: alpha amd64 hppa i386 ia64 kfreebsd-i386 mips mipsel powerpc ppc64 s390 sparc +Section: libs +Depends: ${shlibs:Depends} +Description: Ada Semantic Interface Specification (ASIS) runtime library + ASIS (Ada Semantic Interface Specification) lets you develop applications + to walk through the sources of your Ada programs and examine the semantic + constructs. + . + This package contains the libraries necessary to execute ASIS programs. --- asis-2007.orig/debian/rules +++ asis-2007/debian/rules @@ -0,0 +1,135 @@ +#! /usr/bin/make -rf +# Debian build script for asis - Copyright (c) 2003, 2004, 2005, 2006 +# Ludovic Brenta + +# This build script is free software; you can redistribute it and/or +# modify it under terms of the GNU General Public License as published +# by the Free Software Foundation; either version 2, or (at your +# option) any later version. This build script is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY; without even +# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. You +# should have received a copy of the GNU General Public License +# distributed with this build script; see file +# /usr/share/common-licenses/GPL. If not, write to the Free Software +# Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + +ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) +OS = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) + +VERSION := $(shell dpkg-parsechangelog | grep "^Version: " | sed 's/^Version: \(.*\)-\(.*\)/\1/') +REVISION := $(shell dpkg-parsechangelog | grep "^Version: " | sed 's/^Version: \(.*\)-\(.*\)/\2/') + +TOOLS := asistant gnatcheck gnatelim gnatmetric gnatpp gnatstub +LIBASIS := libasis.so.$(VERSION) +CPUS := $(shell getconf _NPROCESSORS_ONLN) + +patch: + -quilt push -a + +clean: + dh_testdir + -quilt pop -a + -rm -f *-stamp + -rm -f obj/libasis*.so* obj/libasis*.a obj/*.ali obj/*.o obj/GNAT* + -rm -rf debian/obj $(TOOLS) + dh_clean + +build: patch obj/libasis.a obj/libasis.so tools + +obj/libasis.a: asis/* + : # Build the static library + gnatmake -g -j$(CPUS) -c -Pdebian/install_asis + rm -f obj/install_asis.ali obj/install_asis.o + cd obj && ar rc libasis.a *.o + cd obj && ranlib libasis.a + rm obj/*.ali obj/*.o + +obj/libasis.so: asis/* + : # Build the shared library + gnatmake -fPIC -j$(CPUS) -c -Pdebian/install_asis + rm -f obj/install_asis.ali obj/install_asis.o + cd obj && \ + gnatgcc -shared -o $(LIBASIS) *.o -Wl,--soname,$(LIBASIS) -lgnatvsn + ln -s $(LIBASIS) obj/libasis.so + chmod a-w obj/*.ali + rm obj/*.o + +# A directory that contains additional source files, some of which +# conflict with source files for the tools. But it also contains one +# file which we need to build gnatcheck. In the tools target below, +# we symlink the needed file to debian/obj to make it visible. See +# also tools.gpr. +TEMPLATES := ../../tools/tool_utils/templates +NEEDED_FILE := asis_ul-environment-tool_specific_initialization_2.adb + +$(TOOLS): tools +tools: + : # Build the tools, link dynamically against libasis.so + -mkdir debian/obj + -ln -sf $(TEMPLATES)/$(NEEDED_FILE) debian/obj/$(NEEDED_FILE) + gnatmake -j$(CPUS) -Pdebian/tools.gpr -largs -Lobj -lasis + +binary: checks binary-arch binary-indep + +binary-arch: libasis$(VERSION) libasis-dev asis-programs + dh_strip -a -X.a + dh_compress -a -X.ali -X.ads -X.adb + dh_fixperms -a + dh_installdeb -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +checks: + dh_testdir + dh_clean -k + dh_testroot + +libasis-dev: obj/libasis.a + -find debian -name '*.vms' -exec rm -f {} \; + dh_installchangelogs -p$@ + dh_installdocs -p$@ README tutorial *.txt features* + dh_installexamples -p$@ examples/ds templates + dh_link -p$@ usr/lib/$(LIBASIS) usr/lib/libasis.so + dh_install -p$@ asis/*.ad[bs] usr/share/ada/adainclude/asis + dh_install -p$@ obj/*.ali usr/lib/ada/adalib/asis + dh_install -p$@ obj/libasis.a usr/lib + dh_install -p$@ debian/asis.gpr usr/share/ada/adainclude + +libasis$(VERSION): obj/libasis.so + dh_installdocs -p$@ + dh_installchangelogs -p$@ + dh_install -p$@ obj/$(LIBASIS) usr/lib + dh_makeshlibs -p$@ + dh_shlibdeps -p$@ + +asis-programs: $(TOOLS) + dh_installdirs -p$@ usr/share/doc/$@ + dh_installdocs -p$@ README + dh_installchangelogs -p$@ + dh_install -p$@ $(TOOLS) usr/bin + dh_shlibdeps -p$@ \ + -L libasis$(VERSION) \ + -l debian/libasis$(VERSION)/usr/lib \ + usr/bin/* + cp tutorial/using_asistant/README \ + debian/$@/usr/share/doc/$@/README.asistant + cp tutorial/using_templates/style_checker/README \ + debian/$@/usr/share/doc/$@/README.gnatcheck + cp tools/gnatmetric/README \ + debian/$@/usr/share/doc/$@/README.gnatmetric + cp tools/gnatpp/README \ + debian/$@/usr/share/doc/$@/README.gnatpp + dh_installman -p$@ debian/*.1 + +binary-indep: + +.PHONY: build clean binary-indep binary-arch binary install checks +.PHONY: libasis$(VERSION) libasis-dev asis-programs tools --- asis-2007.orig/debian/gnatstub.1 +++ asis-2007/debian/gnatstub.1 @@ -0,0 +1,129 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 1996 Erick Branderhorst +.\" Copyright (C) 2006 Ludovic Brenta +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, or with the +.\" dpkg source package as the file COPYING. If not, write to the Free +.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +.\" +.TH "GNATSTUB" 1 "January 2002" "GNU Ada Tools" "ASIS Tools" +.SH NAME +gnatstub \- Generate skeletons for Ada package bodies +.SH SYNOPSIS +\fBgnatstub\fR [\fIOPTION\fR]... \fIfilename\fR [\fRdirectory\fR] +.SH DESCRIPTION +.PP +\fBgnatstub\fR is an Ada library unit body sample generator. It takes +a source file containing the source of an Ada library unit declaration +and generates the sample body for this unit in another source +file. Sample body is a kind of "minimal", but compilable body for a +given unit declaration. +.PP +\fBgnatstub\fR is an ASIS application developed on top of the ASIS +implementation for GNAT. The important thing to know about +\fBgnatstub\fR is that to create a body, \fBgnatstub\fR first compiles +the spec to create in your current directory the tree output file (or, +simply, a tree file). After creating a body, \fBgnatstub\fR deletes +this tree file (the tree file may be kept by setting the corresponding +option). Therefore, if you have some other ASIS-based tools built on +top of ASIS-for-GNAT, working on the tree files located in your +current directory, be aware of possible changes in the set of tree +files as a result of using gnatstub. +.SH OPTIONS +.TP +\fB-f\fR +Replace an existing body file (if any) with a body sample. If +destination directory contains a file which should be considered as +the body for \fIfilename\fR according to the GNAT file name +conventions, \fBgnatstub\fR treats this file as a body for +\fIfilename\fR, and it does not create a sample body if '-f' option is +not set; +.TP +\fB-hs\fR +Put in body sample the comment header from the source of the library +unit declaration contained in \fIfilename\fR ("comment header" is all +the comments preceding the compilation unit). +.TP +\fB-hg\fR +Put in body sample a sample comment header. +.TP +\fB-I\fR\fIdir\fR +.TP +\fB-I-\fR +These options have just the same meaning as in calls to \fBgnatgcc\fR +or \fBgnatmake\fR. They are used to define the source search path in +the call to \fBgnatgcc\fR issued by \fBgnatstub\fR to create the tree +file. Note, that to create a body, \fBgnatstub\fR needs a legal Ada +unit, therefore if \fIfilename\fR depends on some unit located in +another directory, '-I' should be used to provide the path to this +unit. +.TP +\fB-i\fB\fR\fIn\fR +(n is a decimal natural number) Sets the indentation level in a body +sample to \fIn\fR, '-i0' means "no indentation", the default +indentation is 3; +.TP +\fB-k\fR +Do not remove the tree file: as default, gnatstub removes from the +current directory the tree file created for \fIfilename\fR after +creating the body sampler. '-k' prevents deleting the tree file. +.TP +\fB-l\fB\fR\fIn\fR +(n is a decimal positive number) Sets maximum line length in a body +sample to \fIn\fR, the default line length is 78; +.TP +\fB-q\fR +Quiet mode: gnatstub does not generate a confirmation when a body is +successfully created or a message when a body is not required for an +argument unit. +.TP +\fB-t\fR +Overwrite the existing tree file: if the current directory already +contains the file which, according to the GNAT file name rules should +be considered as a tree file for \fIfilename\fR, \fBgnatstub\fR will +refuse to create the tree file needed to create a body sampler, unless '-t' +option is set. +.TP +\fB-v\fR +Verbose mode: gnatstub generates version information. +.SH AUTHOR +.PP +\fBgnatstub\fR is free software. It was originally developed by Alexei +Kuchumov as a part of collaboration between Software Engineering +Laboratory of the Swiss Federal Institute of Technology in Lausanne, +Switzerland, in cooperation with the Scientific Research Computer +Center of Moscow State University (SRCC MSU), Russia. This work was +supported by a grant from the Swiss National Science Foundation, no +7SUPJ048247, funding a project entitled "Development of ASIS for GNAT +with industry quality". +.PP +Now \fBgnatstub\fR is maintained by Ada Core Technologies, Inc +(http://www.gnat.com). +.PP +This manual page was written by Ludovic Brenta + for the Debian project. +.SH COPYRIGHT +Copyright (c) 1995-1997, Free Software Foundation, Inc. +.SH SEE ALSO +.PP +asistant(1), gnat(1), gnatcheck(1), gnatelim(1), gnatmetric(1), +gnatpp(1) +.PP +The full documentation for \fBgnatstub\fR in +/usr/share/doc/asis-programs/README.gnatstub. +.TP +\fBinfo asis_ug\fR ASIS-for-GNAT User's Guide +.TP +\fBinfo asis_rm\fR ASIS-for-GNAT Reference Manual --- asis-2007.orig/debian/gnatmetric.1 +++ asis-2007/debian/gnatmetric.1 @@ -0,0 +1,137 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 2006 Ludovic Brenta +.\" +.\" This is free software; you can redistribute it and/or modify it under +.\" the terms of the GNU General Public License as published by the Free +.\" Software Foundation; either version 2, or (at your option) any later +.\" version. +.\" +.\" This is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License with +.\" your Debian GNU/Linux system, in /usr/share/common-licenses/GPL, If not, +.\" write to the Free Software Foundation, Inc., 51 Franklin St, Fifth +.\" Floor, Boston, MA 02110-1301 USA. +.\" +.TH "GNATMETRIC" 1 "June 2006" "GNU Ada Tools" "ASIS Tools" +.SH NAME +\fBgnatmetric\fR \- Ada metrics tool +.SH SYNOPSIS +\fBgnatmetric\fR [\fIoptions\fR] {\fIfilename\fR | \fB-files\fR \fIfilename\fR} [\fIgcc_switches\fR] +.SH DESCRIPTION +\fBgnatmetric\fR takes a set of compilable Ada sources as input, +computes for them various programming metrics and generates the +output. Argument Ada sources may be provided as command line +arguments, or you can place the names of the Ada sources to compute +the metrics for into a textual file and to provide the name of this +file as the parameter of \fB-files\fR option. +.SH OPTIONS +.IP \fB-v\fR +verbose mode +.IP \fB-q\fR +quiet mode +.IP \fB-dv\fR +generate debug output +.IP \fB-dd\fR +generate string to be used as input for progress indicator +.IP \fB-nocc\fR +do not compute the McCabe Cyclomatic Complexity +.IP \fB-noec\fR +do not compute the Essential Complexity +.IP \fB-nonl\fR +do not compute maximal loop nesting level +.IP \fB-ne\fR +do not consider exit statements as gotos when computing Essential Complexity +.IP \fB-nolocal\fR +do not compute detailed metrics for local program units +.SS Line metrics +When not specified explicitly, all line metrics are set on, otherwise +only specified metrics are computed: +.IP \fB-la\fR +the number of all lines +.IP \fB-lcode\fR +the number of code lines +.IP \fB-lcomm\fR +the number of comment lines +.IP \fB-leol\fR +the number of code lines also containing comments +.IP \fB-lb\fR +the number of blank lines +.SS Element metrics +When not specified explicitly, all element metrics are set on, +otherwise only specified metrics are computed: +.IP \fB-ed\fR +the total number of declarations +.IP \fB-es\fR +the total number of statements +.IP \fB-eps\fR +the number of public subprograms in a compilation unit +.IP \fB-eas\fR +the number of all the subprograms in a compilation unit +.IP \fB-ept\fR +the number of public types in a compilation unit +.IP \fB-eat\fR +the number of all the types in a compilation unit +.IP \fB-enu\fR +the maximal program unit nesting level +.IP \fB-ec\fR +the maximal construct nesting level +.SS Output file control +.IP "\fB-d\fR \fIdirname\fR" +put files with detailed metrics into \fIdirname\fR +.IP \fB-x\fR +generate the XML output +.IP \fB-nt\fR +do not generate the output in text form, implies '-x' +.IP "\fB-o\fR \fIfile-suffix\fR" +the suffix for the file to put the detailed metrics for a source file +(\fIfile-suffix\fR should begin with a dot) +.IP "\fB-og\fR \fIfilename\fR" +the name of the file to put the global metrics info into (if not set, +this info is sent to Stdout) +.IP "\fB-ox\fR \fIfilename\fR" +the name of the file to put the XML output into, implies '-x' +.IP \fB-sfn\fR +use short source file name in the output +.SS Input files +.IP \fIfilename\fR +the name of the Ada source file for which metrics should be +computed. Wildcards are allowed. +.IP "\fB-files\fR \fIfilename\fR" +the name of the text file containing a list of Ada source files for +which metrics should be computed. +.SS GCC switches +.IP \fIgcc_switches\fR +Passed to gnatgcc as "\fB-cargs\fR \fIgcc_switches\fR". +.SH AUTHOR +.PP +ASIS-for-GNAT was originally developed by the ASIS-for-GNAT team at +the Software Engineering Laboratory of the Swiss Federal Institute of +Technology (LGL-EPFL) in Lausanne, Switzerland, in cooperation with +the Scientific Research Computer Center of Moscow State University +(SRCC MSU), Russia, with funding partially provided by grants from the +Swiss National Science Foundation and the Swiss Academy of Engineering +Sciences. ASIS-for-GNAT is now maintained by AdaCore +(http://www.adacore.com). +.PP +This manual page was written by Ludovic Brenta + for the Debian project, from the +gnatmetric sources. +.SH COPYRIGHT +Copyright (c) 1995-2006, Free Software Foundation, Inc. +.SH SEE ALSO +.TP +asistant(1), gnat(1), gnatcheck(1), gnatelim(1), gnatpp(1), gnatstub(1) +.TP +\fI/usr/share/doc/asis-programs/README.gnatmetric\fR +.TP +\fBinfo asis_ug\fR ASIS-for-GNAT User's Guide, provided by by package +\fBlibasis-doc\fR in the Info system, and in text, PDF and HTML +formats in \fI/usr/share/doc/libasis-doc\fR. (\fBasis-doc\fR is in +the non-free section of Debian). +.TP +\fBinfo asis_rm\fR ASIS-for-GNAT Reference Manual, same package. --- asis-2007.orig/debian/patches/series +++ asis-2007/debian/patches/series @@ -0,0 +1,2 @@ +gnatgcc.patch -p0 +gcc-4.3.patch -p0 --- asis-2007.orig/debian/patches/gcc-4.3.patch +++ asis-2007/debian/patches/gcc-4.3.patch @@ -0,0 +1,163 @@ +Index: asis/asis-extensions.adb +=================================================================== +--- asis/asis-extensions.adb.orig ++++ asis/asis-extensions.adb +@@ -2079,7 +2079,7 @@ + + Result : Boolean := True; + -- the idea of the implementation is to find out the cases when +- -- Expression is NOT a true exception, so we initialize Result ++ -- Expression is NOT a true expression, so we initialize Result + -- as True + begin + Check_Validity (Expression, Package_Name & "Is_True_Expression"); +@@ -2128,7 +2128,7 @@ + if Nkind (Arg_Node) = N_Selected_Component and then + Etype (Arg_Node) = Any_Type + -- for now (GNAT 3.05) this means, that Expression is an +- -- expanded name of the character literal of ether a ++ -- expanded name of the character literal of either a + -- predefined character type or of the type derived from a + -- predefined character type; the problem is that the + -- Entity field is not set for such a node +@@ -2152,23 +2152,24 @@ + + if No (Entity_Node) then + Result := False; +- elsif Ekind (Entity_Node) = E_Enumeration_Literal then +- null; + else + case Ekind (Entity_Node) is +- -- the first choice in this case statement should +- -- filter in entities which *ARE* expressions in Ada +- -- sense ++ when E_Component | E_Constant | E_Discriminant | ++ E_Loop_Parameter | E_Out_Parameter => ++ null; + when E_Variable => + -- tasks and protected objects declared by _single_ + -- task/protected declarations do not have + -- corresponding type declarations which can be + -- represented in ASIS + Result := Comes_From_Source (Parent (Entity_Node)); +- when E_Component .. E_Named_Real | ++ when E_In_Out_Parameter | E_In_Parameter | ++ E_Generic_In_Out_Parameter | E_Generic_In_Parameter | ++ E_Named_Integer | E_Named_Real => + -- variables and constants (including formal + -- parameters and generic formal parameters +- E_Enumeration_Literal | -- ??? (see elsif path) ++ null; ++ when E_Enumeration_Literal | + -- enumeration literals are not treated as functions + -- in ASIS + E_Entry_Index_Parameter | +Index: asis/a4g-mapping.adb +=================================================================== +--- asis/a4g-mapping.adb.orig ++++ asis/a4g-mapping.adb +@@ -39,6 +39,8 @@ + + with Ada.Characters.Handling; use Ada.Characters.Handling; + ++with Atree; use Atree; -- from libgnatvsn ++ + with Asis; use Asis; + with Asis.Compilation_Units; use Asis.Compilation_Units; + with Asis.Elements; use Asis.Elements; +@@ -3930,7 +3932,7 @@ + Original_N : Node_Id) + return Paren_Count_Type + is +- Result : Paren_Count_Type := Paren_Count (N); ++ Result : Paren_Count_Type := Paren_Count_Type (Paren_Count (N)); + begin + + if Result > 0 and then +Index: asis/a4g-gnat_int.adb +=================================================================== +--- asis/a4g-gnat_int.adb.orig ++++ asis/a4g-gnat_int.adb +@@ -206,7 +206,7 @@ + + -- GNAT/ASIS version check first + +- if Tree_ASIS_Version_Number /= ASIS_Version_Number then ++ if Tree_ASIS_Version_Number /= Tree_IO.ASIS_Version_Number then + Close (Desc, File_Closed); + Ada.Exceptions.Raise_Exception + (Program_Error'Identity, "Inconsistent versions of GNAT and ASIS"); +Index: asis/a4g-contt-dp.adb +=================================================================== +--- asis/a4g-contt-dp.adb.orig ++++ asis/a4g-contt-dp.adb +@@ -138,7 +138,7 @@ + -- If not In_Unit_Id_List (U, L), U is appended to L (if L is null, + -- new Unit_Id_List value is created) + +- procedure Reorder_Sem_Dependencies (Units : in out Unit_Id_List_Access); ++ procedure Reorder_Sem_Dependencies (Units : in Unit_Id_List_Access); + -- This procedure takes the unit list with is supposed to be the result of + -- one of the Set_All_ functions above (that is, its parameter + -- is not supposed to be null and it contains only existing units). It +@@ -496,7 +496,7 @@ + -- Reorder_Sem_Dependencies -- + ------------------------------ + +- procedure Reorder_Sem_Dependencies (Units : in out Unit_Id_List_Access) is ++ procedure Reorder_Sem_Dependencies (Units : in Unit_Id_List_Access) is + More_Inversion : Boolean := True; + Tmp_Unit : Unit_Id; + begin +Index: asis/a4g-a_elists.adb +=================================================================== +--- asis/a4g-a_elists.adb.orig ++++ asis/a4g-a_elists.adb +@@ -287,7 +287,7 @@ + --------------- + + procedure Move_List +- (List_From : in out Elist_Id; ++ (List_From : in Elist_Id; + List_To : in out Elist_Id) + is + begin +Index: asis/a4g-a_elists.ads +=================================================================== +--- asis/a4g-a_elists.ads.orig ++++ asis/a4g-a_elists.ads +@@ -203,10 +203,10 @@ + -- equial to No_List, returns True + + procedure Move_List +- (List_From : in out Elist_Id; ++ (List_From : in Elist_Id; + List_To : in out Elist_Id); + -- Moves (prepends) the content of List_From to List_To. If List_To is +- -- equial to No_Elist, it is created. For now, this procedure does not ++ -- equal to No_Elist, it is created. For now, this procedure does not + -- check if the elements from List_From are already in List_To, therefore + -- as a result of a call to this procedure, List_To can contain + -- duplicated elements +Index: asis/a4g-mapping.ads +=================================================================== +--- asis/a4g-mapping.ads.orig ++++ asis/a4g-mapping.ads +@@ -64,7 +64,6 @@ + with A4G.A_Types; use A4G.A_Types; + with A4G.Int_Knds; use A4G.Int_Knds; + +-with Atree; use Atree; + with Types; use Types; + with Sinfo; use Sinfo; + +@@ -405,6 +404,9 @@ + function Is_Statement (N : Node_Id) return Boolean; + -- Checks if N is a statement node. + ++ type Paren_Count_Type is mod 4; ++ for Paren_Count_Type'Size use 2; ++ + function Parenth_Count + (N : Node_Id; + Original_N : Node_Id) --- asis-2007.orig/debian/patches/gnatgcc.patch +++ asis-2007/debian/patches/gnatgcc.patch @@ -0,0 +1,42 @@ +Explicitly use gnatgcc as the compiler driver, rather than gcc, +because gcc may not be the default Ada compiler. + +Index: asis/a4g-gnat_int.adb +=================================================================== +--- asis/a4g-gnat_int.adb.orig ++++ asis/a4g-gnat_int.adb +@@ -72,7 +72,7 @@ + + LT : String renames ASIS_Line_Terminator; + Standard_GCC : constant String_Access := +- GNAT.OS_Lib.Locate_Exec_On_Path ("gcc"); ++ GNAT.OS_Lib.Locate_Exec_On_Path ("gnatgcc"); + + ----------------- + -- Create_Tree -- +Index: tools/tool_utils/asis_ul-common.adb +=================================================================== +--- tools/tool_utils/asis_ul-common.adb.orig ++++ tools/tool_utils/asis_ul-common.adb +@@ -74,7 +74,7 @@ + if Gnatmake_Call then + return Target & "gnatmake"; + else +- return Target & "gcc"; ++ return Target & "gnatgcc"; + end if; + + end if; +Index: asis/a4g-contt.adb +=================================================================== +--- asis/a4g-contt.adb.orig ++++ asis/a4g-contt.adb +@@ -977,7 +977,7 @@ + if Dash_Idx > 0 then + Contexts.Table (Cont).GCC := + Locate_Exec_On_Path +- (Tool_Name (Tool_Name'First .. Dash_Idx) & "gcc"); ++ (Tool_Name (Tool_Name'First .. Dash_Idx) & "gnatgcc"); + end if; + + end; --- asis-2007.orig/.pc/.version +++ asis-2007/.pc/.version @@ -0,0 +1 @@ +2 --- asis-2007.orig/patches/series +++ asis-2007/patches/series @@ -0,0 +1,2 @@ +gnatgcc.patch -p0 +gcc-4.3.patch -p0 --- asis-2007.orig/patches/gcc-4.3.patch +++ asis-2007/patches/gcc-4.3.patch @@ -0,0 +1,163 @@ +Index: asis/asis-extensions.adb +=================================================================== +--- asis/asis-extensions.adb.orig ++++ asis/asis-extensions.adb +@@ -2079,7 +2079,7 @@ + + Result : Boolean := True; + -- the idea of the implementation is to find out the cases when +- -- Expression is NOT a true exception, so we initialize Result ++ -- Expression is NOT a true expression, so we initialize Result + -- as True + begin + Check_Validity (Expression, Package_Name & "Is_True_Expression"); +@@ -2128,7 +2128,7 @@ + if Nkind (Arg_Node) = N_Selected_Component and then + Etype (Arg_Node) = Any_Type + -- for now (GNAT 3.05) this means, that Expression is an +- -- expanded name of the character literal of ether a ++ -- expanded name of the character literal of either a + -- predefined character type or of the type derived from a + -- predefined character type; the problem is that the + -- Entity field is not set for such a node +@@ -2152,23 +2152,24 @@ + + if No (Entity_Node) then + Result := False; +- elsif Ekind (Entity_Node) = E_Enumeration_Literal then +- null; + else + case Ekind (Entity_Node) is +- -- the first choice in this case statement should +- -- filter in entities which *ARE* expressions in Ada +- -- sense ++ when E_Component | E_Constant | E_Discriminant | ++ E_Loop_Parameter | E_Out_Parameter => ++ null; + when E_Variable => + -- tasks and protected objects declared by _single_ + -- task/protected declarations do not have + -- corresponding type declarations which can be + -- represented in ASIS + Result := Comes_From_Source (Parent (Entity_Node)); +- when E_Component .. E_Named_Real | ++ when E_In_Out_Parameter | E_In_Parameter | ++ E_Generic_In_Out_Parameter | E_Generic_In_Parameter | ++ E_Named_Integer | E_Named_Real => + -- variables and constants (including formal + -- parameters and generic formal parameters +- E_Enumeration_Literal | -- ??? (see elsif path) ++ null; ++ when E_Enumeration_Literal | + -- enumeration literals are not treated as functions + -- in ASIS + E_Entry_Index_Parameter | +Index: asis/a4g-mapping.adb +=================================================================== +--- asis/a4g-mapping.adb.orig ++++ asis/a4g-mapping.adb +@@ -39,6 +39,8 @@ + + with Ada.Characters.Handling; use Ada.Characters.Handling; + ++with Atree; use Atree; -- from libgnatvsn ++ + with Asis; use Asis; + with Asis.Compilation_Units; use Asis.Compilation_Units; + with Asis.Elements; use Asis.Elements; +@@ -3930,7 +3932,7 @@ + Original_N : Node_Id) + return Paren_Count_Type + is +- Result : Paren_Count_Type := Paren_Count (N); ++ Result : Paren_Count_Type := Paren_Count_Type (Paren_Count (N)); + begin + + if Result > 0 and then +Index: asis/a4g-gnat_int.adb +=================================================================== +--- asis/a4g-gnat_int.adb.orig ++++ asis/a4g-gnat_int.adb +@@ -206,7 +206,7 @@ + + -- GNAT/ASIS version check first + +- if Tree_ASIS_Version_Number /= ASIS_Version_Number then ++ if Tree_ASIS_Version_Number /= Tree_IO.ASIS_Version_Number then + Close (Desc, File_Closed); + Ada.Exceptions.Raise_Exception + (Program_Error'Identity, "Inconsistent versions of GNAT and ASIS"); +Index: asis/a4g-contt-dp.adb +=================================================================== +--- asis/a4g-contt-dp.adb.orig ++++ asis/a4g-contt-dp.adb +@@ -138,7 +138,7 @@ + -- If not In_Unit_Id_List (U, L), U is appended to L (if L is null, + -- new Unit_Id_List value is created) + +- procedure Reorder_Sem_Dependencies (Units : in out Unit_Id_List_Access); ++ procedure Reorder_Sem_Dependencies (Units : in Unit_Id_List_Access); + -- This procedure takes the unit list with is supposed to be the result of + -- one of the Set_All_ functions above (that is, its parameter + -- is not supposed to be null and it contains only existing units). It +@@ -496,7 +496,7 @@ + -- Reorder_Sem_Dependencies -- + ------------------------------ + +- procedure Reorder_Sem_Dependencies (Units : in out Unit_Id_List_Access) is ++ procedure Reorder_Sem_Dependencies (Units : in Unit_Id_List_Access) is + More_Inversion : Boolean := True; + Tmp_Unit : Unit_Id; + begin +Index: asis/a4g-a_elists.adb +=================================================================== +--- asis/a4g-a_elists.adb.orig ++++ asis/a4g-a_elists.adb +@@ -287,7 +287,7 @@ + --------------- + + procedure Move_List +- (List_From : in out Elist_Id; ++ (List_From : in Elist_Id; + List_To : in out Elist_Id) + is + begin +Index: asis/a4g-a_elists.ads +=================================================================== +--- asis/a4g-a_elists.ads.orig ++++ asis/a4g-a_elists.ads +@@ -203,10 +203,10 @@ + -- equial to No_List, returns True + + procedure Move_List +- (List_From : in out Elist_Id; ++ (List_From : in Elist_Id; + List_To : in out Elist_Id); + -- Moves (prepends) the content of List_From to List_To. If List_To is +- -- equial to No_Elist, it is created. For now, this procedure does not ++ -- equal to No_Elist, it is created. For now, this procedure does not + -- check if the elements from List_From are already in List_To, therefore + -- as a result of a call to this procedure, List_To can contain + -- duplicated elements +Index: asis/a4g-mapping.ads +=================================================================== +--- asis/a4g-mapping.ads.orig ++++ asis/a4g-mapping.ads +@@ -64,7 +64,6 @@ + with A4G.A_Types; use A4G.A_Types; + with A4G.Int_Knds; use A4G.Int_Knds; + +-with Atree; use Atree; + with Types; use Types; + with Sinfo; use Sinfo; + +@@ -405,6 +404,9 @@ + function Is_Statement (N : Node_Id) return Boolean; + -- Checks if N is a statement node. + ++ type Paren_Count_Type is mod 4; ++ for Paren_Count_Type'Size use 2; ++ + function Parenth_Count + (N : Node_Id; + Original_N : Node_Id) --- asis-2007.orig/patches/gnatgcc.patch +++ asis-2007/patches/gnatgcc.patch @@ -0,0 +1,42 @@ +Explicitly use gnatgcc as the compiler driver, rather than gcc, +because gcc may not be the default Ada compiler. + +Index: asis/a4g-gnat_int.adb +=================================================================== +--- asis/a4g-gnat_int.adb.orig ++++ asis/a4g-gnat_int.adb +@@ -72,7 +72,7 @@ + + LT : String renames ASIS_Line_Terminator; + Standard_GCC : constant String_Access := +- GNAT.OS_Lib.Locate_Exec_On_Path ("gcc"); ++ GNAT.OS_Lib.Locate_Exec_On_Path ("gnatgcc"); + + ----------------- + -- Create_Tree -- +Index: tools/tool_utils/asis_ul-common.adb +=================================================================== +--- tools/tool_utils/asis_ul-common.adb.orig ++++ tools/tool_utils/asis_ul-common.adb +@@ -74,7 +74,7 @@ + if Gnatmake_Call then + return Target & "gnatmake"; + else +- return Target & "gcc"; ++ return Target & "gnatgcc"; + end if; + + end if; +Index: asis/a4g-contt.adb +=================================================================== +--- asis/a4g-contt.adb.orig ++++ asis/a4g-contt.adb +@@ -977,7 +977,7 @@ + if Dash_Idx > 0 then + Contexts.Table (Cont).GCC := + Locate_Exec_On_Path +- (Tool_Name (Tool_Name'First .. Dash_Idx) & "gcc"); ++ (Tool_Name (Tool_Name'First .. Dash_Idx) & "gnatgcc"); + end if; + + end;