debian/0000755000000000000000000000000012171476027007175 5ustar debian/control0000644000000000000000000000331312171457030010571 0ustar Source: gprbuild Section: devel Priority: optional Maintainer: Nicolas Boulenguez Build-Depends: dpkg-dev (>= 1.16.1), debhelper (>= 9), gnat, gnat-4.6, libxmlada4.1-dev Build-Depends-Indep: texinfo (>= 5), texlive-latex-base Standards-Version: 3.9.4 Homepage: http://libre.adacore.com/libre/ Vcs-Mtn: www.ada-france.org org.debian.gprbuild Vcs-Browser: http://www.ada-france.org:8081/branch/changes/org.debian.gprbuild Package: gprbuild Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: gnat, gnat-4.6, g++-4.6, gcc-4.6, gfortran-4.6, gprbuild-doc Description: multi-language extensible build tool A set of tools for processing GNAT project files. gprbuild runs tools on the specified source files; gprclean removes the corresponding built files; gprconfig configures both tools. It is highly configurable; the default configuration supports compiling Ada, Assembler, C, C++, and Fortran sources. It can be extended to support user source processing tools. . This package contains the executables gprbuild, gprclean, gprconfig. Package: gprbuild-doc Section: doc Architecture: all Depends: dpkg (>= 1.15.4) | install-info, ${misc:Depends} Description: multi-language extensible build tool (documentation) A set of tools for processing GNAT project files. gprbuild runs tools on the specified source files; gprclean removes the corresponding built files; gprconfig configures both tools. It is highly configurable; the default configuration supports compiling Ada, Assembler, C, C++, and Fortran sources. It can be extended to support user source processing tools. . This package contains the documentation for gprbuild, gprclean, gprconfig, in HTML, info, and pdf formats. debian/test_clean.sh0000755000000000000000000000034112171216552011646 0ustar #!/bin/bash cd ../examples make clean # if gprbuild is broken (as it often is while I'm working on a new # version), 'make clean' doesn't delete the following rm -f */*.cgpr rm -f */*/auto.cgpr rm -rf */obj # end of file debian/gprbuild_build.gpr0000644000000000000000000000372512171471114012675 0ustar -- Copyright (c) 2009-2012 Stephen Leake -- Copyright (c) 2013 Nicolas Boulenguez -- -- 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. -- Build the gprbuild package; just executables, no libraries with "xmlada"; project Gprbuild_Build is -- The GNAT sources contained in ../gnat are also packaged in -- libgnatprj and libgnatvsn, but those versions are not -- compatible with this (due to upstream policies). for Source_Dirs use ("../src", "../gnat"); for Main use ("gprconfig-main.adb", "gprbuild.adb", "gprbind.adb", "gprlib.adb", "gprclean.adb"); -- We only build the Ada part with projects so that we do not -- have boostrap issues with gprbuild. for Languages use ("Ada"); for Object_Dir use Project'Name & "_obj"; package Builder is for Executable ("gprconfig-main.adb") use "gprconfig"; end Builder; package Compiler is for Default_Switches ("Ada") use External_As_List ("ADAFLAGS", " "); end Compiler; package Binder is for Default_Switches ("Ada") use ("-E"); -- exception tracebacks end Binder; package Linker is for Default_Switches ("Ada") use External_As_List ("LDFLAGS", " ") & External_As_List ("C_OBJS", " "); end Linker; package Naming is for Body ("gprlib.build_shared_lib") use "gprlib-build_shared_lib-nosymbols.adb"; for body ("sdefault") use "sdefault_generated.adb"; -- instead of "gnat/sdefault.adb" end Naming; end Gprbuild_Build; debian/gprbuild.manpages0000644000000000000000000000006712171432045012515 0ustar debian/gprbuild.1 debian/gprclean.1 debian/gprconfig.1 debian/gprbuild.prj0000644000000000000000000000035712171216552011522 0ustar -- Emacs Ada mode project file -- we don't parse the gpr file, because that requires gnat to parse the -- the .ali files, which are written by a newer version of gnat. srcdir="../gnat" srcdir="../src" builddir="tmp/obj" -- end of file debian/copyright0000644000000000000000000000520412171440573011126 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: gprbuild Source: https://libre.adacore.com/libre/download/ Comment: All the content available on libre.adacore.com is licensed under the terms of the pure GPL, despite the fact that AdaCore have not yet adjusted the licensing boilerplate in source files. . This is stated for example at http://lists.adacore.com/pipermail/gtkada/2009-June/003789.html. The actual license is a decision of AdaCore. Please contact them at libre@adacore.com for any clarification. . . Version 2011 of GPRbuild is shipped with a verbatim copy of the GPL-2 in the top directory. Files: * Copyright: 2001-2010 Free Software Foundation 1992-2011 AdaCore License: GPL-2+ This file 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. It 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. . On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. Files: gnat/* docs/xgnatugn.adb debian/* Copyright: 1992-2008 Free Software Foundation 2009-2012 Stephen Leake 2013 Nicolas Boulenguez License: GPL-3+ This file 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 3, or (at your option) any later version. It 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. . On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. Files: docs/texiplus.tex Copyright: 1991 Free Software Foundation License: GPL-1+ This file 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 1, or (at your option) any later version. It 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. . On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. debian/bug_571013.adb0000644000000000000000000000010312171216552011227 0ustar with Aunit; procedure Bug_571013 is begin null; end Bug_571013; debian/source/0000755000000000000000000000000012171441032010461 5ustar debian/source/format0000644000000000000000000000001412171216552011676 0ustar 3.0 (quilt) debian/changelog0000644000000000000000000000747712171475001011055 0ustar gprbuild (2011-4) unstable; urgency=low * New maintainer. Closes: #673751. * copyright, patches/correct_doc_license.diff, source.lintian-overrides: Replace obsolete license headers. Closes: #708942. * patches/libraries_after_link_options.diff. Closes: #705812. When linking libraries, put "-l" arguments after the others. * control: removed obsolete Suggests: ada-compiler and DM-Upload-Allowed. * rules: debhelper 9, hardening flags. Rebuild documentation from its sources, register it in doc-base. -- Nicolas Boulenguez Tue, 16 Jul 2013 12:30:21 +0200 gprbuild (2011-3) unstable; urgency=low [Svante Signell] * debian/patches/hurd-i386.patch: new, add support for hurd-i386. Closes: #673015. -- Ludovic Brenta Thu, 19 Jul 2012 21:23:10 +0200 gprbuild (2011-2) unstable; urgency=low * Provisionally adopt the package without closing #673751 yet; only because some packages build-depend on gprbuild. * debian/patches/gprconfig.patch (compilers.xml): make the match the command for G++. Closes: #679061. -- Ludovic Brenta Tue, 26 Jun 2012 08:15:07 +0200 gprbuild (2011-1) unstable; urgency=low * New upstream release (Closes: #588533). * compile with gnat-4.6. * make multi-arch compatible (Closes: #633981). -- Stephen Leake Wed, 21 Sep 2011 08:29:46 -0400 gprbuild (1.3.0-2) unstable; urgency=low * change to source format 3.0 (quilt) * bump debhelper version * debian/control (Suggests): add gnat, ada-compiler, as required by Debian Ada Policy -- Stephen Leake Thu, 01 Jul 2010 20:02:22 -0400 gprbuild (1.3.0-1) unstable; urgency=low * update to new upstream version. (Closes: #571013) * debian/README.source, debian/patch/*.patch: update for upstream 1.3.0 (Closes: #571013) * debian/control (Architecture): change to any. (Closes: #568437) -- Stephen Leake Sun, 07 Mar 2010 10:10:50 -0500 gprbuild (1.2.0-4) unstable; urgency=low * control (Standards-Version): bump to 3.8.4 * debian/patches: add remove_rpath.patch. (Closes: #569723) * debian/rules: install gprbuild_gps.xml * debian/aunit_example.adb: revert to aunit 1.03 -- Stephen Leake Sun, 14 Feb 2010 09:14:28 -0500 gprbuild (1.2.0-3) unstable; urgency=low * debian/patches/default_path.patch: new patch to use Sdefault.Search_Dir_Prefix for default gpr search path. * debian/rules: generate sdefault.adb to set default gpr search path according to Debian Ada Policy. (Closes: #567575) * debian/patches/version.patch: new patch to include Debian upload number in version string. -- Stephen Leake Sun, 31 Jan 2010 05:16:51 -0500 gprbuild (1.2.0-2) unstable; urgency=low * share/gprconfig/*.xml: patch to call gcc-4.4, g++-4.4, gfortran-4.4 explicitly, since they can be installed at the same time as *-4.3. (Closes: #565782) * debian/README.Debian: New file. * debian/README.source: document gcc version issues. * debian/patches/compilers.patch: update * debian/rules: update comments on running tests with specific versions. * debian/rules: specify package to dh_*, so binary-arch only builds gprbuild, and binary-indep only builds gprbuild-doc. (Closes: #565617). * copyright: add AdaCore for some files. * debian/test_installed.sh: update version -- Stephen Leake Wed, 20 Jan 2010 05:12:29 -0500 gprbuild (1.2.0-1) unstable; urgency=low [Stephen Leake] * new source package, providing gprbuild binary and gprbuild-doc. Closes: 563242 -- Stephen Leake Mon, 04 Jan 2010 06:01:25 -0500 Local variables: left-margin: 2 End: debian/rules0000755000000000000000000001744312171471232010257 0ustar #!/usr/bin/make -f # # Debian Makefile for gprbuild # Copyright (c) 2009, 2012 Stephen Leake # Copyright (c) 2013 Nicolas Boulenguez # # 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. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # On Debian systems, the full text of the GPL is in the file # /usr/share/common-licenses/GPL-3. # To update to a new upstream version: # install the quilt package # edit version in ../src/gpr_version.ads # edit patches/version.patch to match (use "quilt edit file_name" then "quilt refresh") # update other patches as appropriate # edit control to match # # To build this package in a chroot: # schroot -d `cd ..; pwd` --chroot=unstable -- dpkg-buildpackage -uc -us # # To run lintian: # schroot -d `cd ..; pwd` --chroot=unstable -- make -f debian/rules lint # # To install the packages and run the examples: # # one time setup (see comment in test_installed.sh about compiler versions): # sudo schroot --chroot=unstable -- aptitude install --without-recommends gnat-4.6-sjlj # sudo schroot --chroot=unstable -- aptitude install --without-recommends gcc-4.4 # sudo schroot --chroot=unstable -- aptitude install --without-recommends g++-4.6 # sudo schroot --chroot=unstable -- aptitude install --without-recommends gfortran-4.6 # sudo schroot --chroot=unstable -- aptitude install --without-recommends liblapack3gf # sudo schroot --chroot=unstable -- aptitude install --without-recommends libaunit2-dev # # run the test: # schroot --chroot=unstable -- ./test_installed.sh # # to clean up after the test: # sudo schroot --chroot=unstable -- ./test_clean.sh .SUFFIXES= include /usr/share/dpkg/default.mk # Set CFLAGS (handling noopt from DEB_BUILD_OPTIONS), LDFLAGS, # DEB_HOST_GNU_TYPE, DEB_HOST_ARCH, DEB_VERSION... ###################################################################### # Code snippet copied from dh_ada_library to avoid a circular # dependency. See detail there. ADAFLAGS := $(filter-out -Wformat -Wformat-security -Werror=format-security,\ $(CFLAGS)) LDFLAGS += -Wl,--as-needed -Wl,-z,defs CC := gnatgcc .NOTPARALLEL: BUILDER_JOBS := $(filter parallel=%,$(DEB_BUILD_OPTIONS)) ifneq (,$(BUILDER_JOBS)) BUILDER_JOBS := $(subst parallel=,,$(BUILDER_JOBS)) else BUILDER_JOBS := $(shell getconf _NPROCESSORS_ONLN) endif BUILDER_OPTIONS := -R -j$(BUILDER_JOBS) -v -s -we # TODO: check if this is different from DEB_HOST_GNUTYPE or DEB_HOST_MULTIARCH target := $(shell $(CC) -dumpmachine) version := $(shell $(CC) -dumpversion) ###################################################################### POLICY_TARGETS := binary binary-arch binary-indep build build-arch \ build-indep clean .PHONY: $(POLICY_TARGETS) $(POLICY_TARGETS): dh $@ ###################################################################### # Ignore upstream configure and Makefile if ever created. override_dh_auto_configure: override_dh_auto_build-arch:: override_dh_auto_build-indep: override_dh_auto_test: override_dh_auto_install: override_dh_auto_clean:: ###################################################################### # not clear why gprbuild_gps.xml is marked executable; fix it here # (not covered by dh_fixperms) override_dh_fixperms-arch: chmod a-x debian/gprbuild/usr/share/gps/plug-ins/gprbuild_gps.xml dh_fixperms --arch ###################################################################### # The project uses this instead of gnat/sdefault.adb. Patching the # original file would cause the usual problems, and cannot be done as # an usual patch as the changes are target-specific. SDEFAULT := gnat/sdefault_generated.adb override_dh_auto_build-arch:: $(SDEFAULT) $(SDEFAULT): debian/sdefault.adb.sed sed $(foreach var,DEB_HOST_MULTIARCH target version \ ,-e 's~@$(var)@~$($(var))~') $< > $@ override_dh_auto_clean:: rm -f $(SDEFAULT) ###################################################################### GPRCONFIG_SDEFAULT := src/gprconfig-sdefault.ads override_dh_auto_build-arch:: $(GPRCONFIG_SDEFAULT) $(GPRCONFIG_SDEFAULT): %: %.in sed -e 's/@host@/$(target)/' $< > $@ override_dh_auto_clean:: rm -f $(GPRCONFIG_SDEFAULT) ###################################################################### # Generated source needed by debian/gprbuild_build.gpr SNAMES := gnat/snames.ads gnat/snames.adb gnat/snames.h gnat/xsnamest: gnat/xsnamest.adb gnat/xutil.adb gnat/xutil.ads cd gnat && gnatmake xsnamest $(BUILDER_OPTIONS) -cargs $(ADAFLAGS) -largs $(LDFLAGS) override_dh_auto_clean:: rm -f gnat/xsnamest gnat/xsnamest.ali gnat/xsnamest.o gnat/xutil.ali gnat/xutil.o override_dh_auto_build-arch:: $(SNAMES) $(SNAMES): gnat/xsnamest $(patsubst %,gnat/snames.%-tmpl,ads adb h) cd gnat && ./xsnamest mv gnat/snames.ns gnat/snames.ads mv gnat/snames.nb gnat/snames.adb mv gnat/snames.nh gnat/snames.h override_dh_auto_clean:: rm -f $(SNAMES) ###################################################################### # The upstream Makefile builds these C files with no optimization. The # functions in gprbuild_dummies.c just call abort; link.c only has # constant object declarations. So it doesn't hurt to have CFLAGS here. C_OBJECTS := src/gprbuild_dummies.o gnat/link.o override_dh_auto_build-arch:: $(C_OBJECTS) $(C_OBJECTS): %.o: %.c $(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@ override_dh_auto_clean:: rm -f $(C_OBJECTS) ###################################################################### PROJECT := debian/gprbuild_build.gpr # In the project, paths are relative to debian/. C_OBJS := $(addprefix ../,$(C_OBJECTS)) override_dh_auto_build-arch:: gnatmake $(BUILDER_OPTIONS) -P$(PROJECT) \ $(foreach flag,ADAFLAGS LDFLAGS C_OBJS,-X$(flag)='$($(flag))') override_dh_auto_clean:: rm -f debian/gprbuild_build_obj/* ###################################################################### # The doc sources are patched, and updating the pre-built documents # from the orig tarball would cause building twice to fail. So we # create them with another name. DOCS := $(addprefix doc/gprbuild_ug.,html info pdf txt) TEXI2ANY := cd doc && texi2any --force gprbuild_ug.texi override_dh_auto_build-indep: $(DOCS) doc/gprbuild_ug.html: %.html: %.texi doc/gprbuild.css $(TEXI2ANY) -o $(notdir $@) --html --no-headers --css-include=gprbuild.css cp doc/important.png doc/note.png doc/tip.png $@ doc/gprbuild_ug.info: %.info: %.texi $(TEXI2ANY) -o $(notdir $@) --info --no-split doc/gprbuild_ug.pdf: %.pdf: %.texi $(TEXI2ANY) -o $(notdir $@) --pdf --quiet doc/gprbuild_ug.txt: %.txt: %.texi $(TEXI2ANY) -o $(notdir $@) --plaintext --no-split --no-headers --fill-column=79 override_dh_auto_clean:: rm -f $(addprefix doc/gprbuild_ug.,aux cp cps fn info ky log pdf pg toc txt tp vr) rm -f -r doc/gprbuild_ug.html ###################################################################### PROJECTS_TEXI := doc/projects_unw.texi $(DOCS): $(PROJECTS_TEXI) $(PROJECTS_TEXI): xgnatugn gnat/projects.texi gnat/ug_words ./$< unw gnat/projects.texi gnat/ug_words $@ override_dh_auto_clean:: rm -f $(PROJECTS_TEXI) xgnatugn: gnat/xgnatugn.adb gnatmake $< $(BUILDER_OPTIONS) -cargs $(ADAFLAGS) -largs $(LDFLAGS) override_dh_auto_clean:: rm -f xgnatugn xgnatugn.ali xgnatugn.o ###################################################################### lint: lintian -i ../gprbuild_$(DEB_VERSION)_$(DEB_BUILD_ARCH).changes debian/source.lintian-overrides0000644000000000000000000000140412171441032014040 0ustar # We don't use autoconf, but upstream does. gprbuild source : ancient-autotools-helper-file config.sub 2001-09-07 gprbuild source : outdated-autotools-helper-file config.guess 2008-01-23 # All content available on libre.adacore.com is licensed under the # terms of the pure GPL, despite the fact that AdaCore have not yet # adjusted the licensing boilerplate in source files. See # debian/copyright. # The patch removing the wrong header contains the header. gprbuild source: license-problem-gfdl-invariants doc/html/gprbuild_ug.html gprbuild source: license-problem-gfdl-invariants doc/info/gprbuild_ug.info gprbuild source: license-problem-gfdl-invariants doc/txt/gprbuild_ug.txt gprbuild source: license-problem-gfdl-invariants debian/patches/correct_doc_license.diff debian/README.source0000644000000000000000000000564412171216552011360 0ustar The upstream repository is https://libre.adacore.com/libre/download/. The Libre website calls this version "GPL 2011", as does src/gpr_version.ads. It appears to correspond to AdaCore GnatPro gprbuild version 1.6. gprbuild is not in the Gnu ftp mirrors. gprbuild contains part of the GNAT compiler sources in the gnat directory. The code in gnat duplicates the code in the Debian libraries libgnatprj and libgnatvsn. However, the versions are different enough that we cannot make gprbuild work with the Debian libraries, so we use the included source. We have to rename the root directory in the tarball to meet the dpkg naming convention. To prepare a new build directory: cd /home/Projects/gprbuild tar zxf ~/Downloads/gprbuild-gpl-2011-src.tgz mv gprbuild-2011w-src gprbuild-2011 mkdir gprbuild-2011-current tar zcf gprbuild-2011-current/gprbuild_2011.orig.tar.gz gprbuild-2011 cd gprbuild-2011-current mtn --db ~/monotone-dbs/ada-france.db checkout --branch org.debian.gprbuild gprbuild-2011 tar zxf gprbuild_2011.orig.tar.gz There are regular expressions in share/gprconfig/compilers.xml that must match the version string output by 'gcc'; we patch (via quilt; see /usr/share/doc/quilt/README.source) these to allow "Debian" in the string. We also patch it to rely explicitly on 'gcc-4.4', 'g++-4.4', etc; Debian allows multiple versions of compilers to be installed at once, and 'gcc' etc may point to the 'wrong' version. Note that the driver for GNAT is specified in share/gprconfig/gnat.xml, and for Fortran in fortran.xml. When the gcc compiler changes version, the following files must be edited: changelog mention the change control version dependencies rules version in comments at the top test_installed.sh install the new version ../share/gprconfig/asm.xml Driver ../share/gprconfig/c.xml Driver ../share/gprconfig/cpp.xml Driver ../share/gprconfig/compilers.xml all ../share/gprconfig/fortran.xml Driver ../share/gprconfig/gnat.xml Driver In addition, we patch the gprbuild version string to include the Debian upload number: ../gnat/gnatvsn.ads ../src/gpr_version.ads All of the above changes are in a quilt patch; be sure to refresh the correct ones. The upstream Makefile installs subsidiary executables gprlib, gprbind in /usr/libexec/gprbuild; we change that to /usr/lib. This requires patching share/gprconfig/linker.xml and gnat.xml. There are no tests, but the examples work, except for the following: ada_cpp fails with Ada compiler errors. This appears to be a bug in the upstream source for the example; reported to AdaCore (upstream maintainer). matrix fails to link; ld reports 'cannot find -llapack', even though liblapack3gf is installed. Giving up on this one. ppc-elf fails on any arch other than ppc if no cross compiler is installed. -- Stephen Leake , Wed, 20 Jul 2011 05:42:46 -0400 debian/example_test.adb0000644000000000000000000000277012171216552012340 0ustar -- Abstract : -- -- Example AUnit test -- -- Copyright (C) 2010 Stephen Leake. All Rights Reserved. -- -- This program 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 3, 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. You -- should have received a copy of the GNU General Public License -- distributed with this program; see file COPYING. If not, write to -- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- MA 02111-1307, USA. pragma License (GPL); with AUnit.Assertions; with AUnit.Test_Cases.Registration; package body Example_Test is procedure Nominal (T : in out AUnit.Test_Cases.Test_Case'Class) is pragma Unreferenced (T); begin AUnit.Assertions.Assert (1 + 1 = 2, "arithmetic"); end Nominal; overriding function Name (T : Test_Case) return Ada.Strings.Unbounded.String_Access is pragma Unreferenced (T); begin return new String'("Example_Test"); end Name; overriding procedure Register_Tests (T : in out Test_Case) is use AUnit.Test_Cases.Registration; begin Register_Routine (T, Nominal'Access, "Nominal"); end Register_Tests; end Example_Test; debian/patches/0000755000000000000000000000000012171446750010624 5ustar debian/patches/correct_doc_license.diff0000644000000000000000000000416512171444330015444 0ustar Author: Nicolas Boulenguez Forwarded: not-needed Description: All content available on libre.adacore.com is licensed under the terms of the pure GPL, despite the fact that AdaCore have not yet adjusted the licensing boilerplate in source files. See debian/copyright. --- a/doc/gprbuild_ug.texi +++ b/doc/gprbuild_ug.texi @@ -175,14 +175,10 @@ Copyright @copyright{} 2007-2011, AdaCore Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GPRbuild User's Guide'', -and with no Back-Cover Texts. +under the terms of the GNU Public License, Version 2 +or (at your option) any later version published by the Free Software Foundation; A copy of the license is included in the section entitled -``GNU Free Documentation License''. +``GNU Public License''. @end titlepage @@ -193,20 +189,16 @@ @noindent Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being ``GNU Free Documentation License'', with the -Front-Cover Texts being -``GPRbuild User's Guide'', -and with no Back-Cover Texts. +under the terms of the GNU Public License, Version 2 +or (at your option) any later version published by the Free Software Foundation; A copy of the license is included in the section entitled -``GNU Free Documentation License''. +``GNU Public License''. @menu * GNAT Project Manager:: * Tools Supporting Project Files:: * Gprbuild:: -* GNU Free Documentation License:: +* GNU Public License:: * Index:: @detailmenu @@ -3001,7 +2993,11 @@ @end itemize -@include gfdl.texi +@node GNU Public License +@appendix GNU Public License +@cindex GNU Public License +@cindex License, GNU Public License +@verbatiminclude ../COPYING @c --------------------------------------------- @node Index debian/patches/add_info_category_and_entry.patch0000644000000000000000000000120112171446750017342 0ustar Description: Add INFO-DIR-SECTION to info file, as required by Debian Policy. This is done in the source texinfo file. Author: Stephen Leake Forwarded: not-needed --- a/doc/gprbuild_ug.texi +++ b/doc/gprbuild_ug.texi @@ -11,6 +11,11 @@ @c o @c oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo +@dircategory Software development +@direntry +* GPRbuild: (gprbuild_ug). GPRbuild User's Guide +@end direntry + @setfilename gprbuild_ug.info @settitle GPRbuild User's Guide @setchapternewpage odd debian/patches/version.patch0000644000000000000000000000155612171441506013333 0ustar Description:patch gprbuild version string to indicate Debian upload . also patch Build_Type to FSF, since that affects copyright, bug report, and warranty notices. Author: Stephen Leake Forwarded: not-needed --- a/src/gpr_version.ads +++ b/src/gpr_version.ads @@ -36,7 +36,7 @@ package GPR_Version is - Gpr_Version: constant String := "2011"; + Gpr_Version: constant String := "2011 (Debian 2011-1)"; -- Static string identifying this version function Gpr_Version_String return String; --- a/gnat/gnatvsn.ads +++ b/gnat/gnatvsn.ads @@ -51,7 +51,7 @@ type Gnat_Build_Type is (Gnatpro, FSF, GPL); -- See Get_Gnat_Build_Type below for the meaning of these values - Build_Type : constant Gnat_Build_Type := GPL; + Build_Type : constant Gnat_Build_Type := FSF; -- Kind of GNAT Build: -- -- FSF debian/patches/gprconfig.patch0000644000000000000000000003056512171441513013624 0ustar Subject: share/gprconfig/*.xml fixes for Debian . Patch all files in share/gprconfig/ . Use gcc-4.6 explicitly, so gprbuild does not depend on which top-level gcc is installed. . We put gprbind and gprlib in /lib, not /libexec/gprbuild. We don't put them in /usr/lib/${DEB_HOST_MULTIARCH}, because the multiarch conventions do not yet address executables. . Patch the regular expressions that must match the version string output by 'gcc' to allow "Debian" in the string. . We don't change linker.xml and gnat.xml to find gprlib and gprbind in /usr/lib/${DEB_HOST_MULTIARCH}, because the multiarch conventions do not yet address executables. . Remove support for GCC 2.8 which is no longer available in Debian. Author: Stephen Leake Forwarded: not-needed --- a/share/gprconfig/asm.xml +++ b/share/gprconfig/asm.xml @@ -13,7 +13,7 @@ end Naming; package Compiler is - for Driver ("Asm_Cpp") use "${PATH(asm_cpp)}${PREFIX(asm_cpp)}gcc"; + for Driver ("Asm_Cpp") use "${PATH(asm_cpp)}${PREFIX(asm_cpp)}gcc-4.6"; for Leading_Required_Switches ("Asm_Cpp") use Compiler'Leading_Required_Switches ("Asm_Cpp") & ("-c", "-x", "assembler-with-cpp"); @@ -33,7 +33,7 @@ end Naming; package Compiler is - for Driver ("Asm") use "${PATH(asm)}${PREFIX(asm)}gcc"; + for Driver ("Asm") use "${PATH(asm)}${PREFIX(asm)}gcc-4.6"; for Leading_Required_Switches ("Asm") use Compiler'Leading_Required_Switches ("Asm") & ("-c", "-x", "assembler"); @@ -53,7 +53,7 @@ end Naming; package Compiler is - for Driver ("Asm2") use "${PATH(asm2)}${PREFIX(asm2)}gcc"; + for Driver ("Asm2") use "${PATH(asm2)}${PREFIX(asm2)}gcc-4.6"; for Leading_Required_Switches ("Asm2") use Compiler'Leading_Required_Switches ("Asm2") & ("-c", "-x", "assembler"); --- a/share/gprconfig/c.xml +++ b/share/gprconfig/c.xml @@ -23,7 +23,7 @@ package Compiler is - for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc"; + for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc-4.6"; end Compiler; --- a/share/gprconfig/compilers.xml +++ b/share/gprconfig/compilers.xml @@ -9,14 +9,14 @@ GCC - (.*(-wrs-|-elf-|-eabispe-|avr-|-elinos-linux|-pc).*)?gcc + (.*(-wrs-|-elf-|-eabispe-|avr-|-elinos-linux|-pc).*)?gcc-4.6 - ${PREFIX}gcc -v - + ${PREFIX}gcc-4.6 -dumpversion + C - ${PREFIX}gcc -dumpmachine + ${PREFIX}gcc-4.6 -dumpmachine @@ -135,26 +135,6 @@ - - - GCC-28 - gcc - - gcc -v - - 2\.8\. - - C - - gcc -dumpmachine - - - - GNAAMP @@ -170,14 +150,14 @@ G++ - g\+\+ + g\+\+-4\.6 - g++ -v - + g++-4.6 -dumpversion + C++ - g++ -dumpmachine + g++-4.6 -dumpmachine @@ -296,23 +276,21 @@ GCC-ASM - (.*(-wrs-|-elf-|-eabispe-|avr-|elinos-linux).*)?gcc + (.*(-wrs-|-elf-|-eabispe-|avr-|elinos-linux).*)?gcc-4.6 - ${PREFIX}gcc -v - + ${PREFIX}gcc-4.6 -dumpversion + Asm,Asm_Cpp,Asm2 - ${PREFIX}gcc -dumpmachine + ${PREFIX}gcc-4.6 -dumpmachine GCC-CYGMING - gcc + (.*mingw32-)g\+\+ - gcc --version + ${PREFIX}gcc --version C,C++,Fortran - gcc -mno-cygwin -dumpmachine + ${PREFIX}gcc -mno-cygwin -dumpmachine --- a/share/gprconfig/cpp.xml +++ b/share/gprconfig/cpp.xml @@ -24,7 +24,7 @@ package Compiler is - for Driver ("C++") use "${PATH(c++)}g++${PREFIX(c++)}"; + for Driver ("C++") use "${PATH(c++)}g++-4.6${PREFIX(c++)}"; end Compiler; --- a/share/gprconfig/fortran.xml +++ b/share/gprconfig/fortran.xml @@ -50,7 +50,7 @@ end Naming; package Compiler is - for Driver ("Fortran") use "${PATH(fortran)}gfortran${PREFIX(fortran)}"; + for Driver ("Fortran") use "${PATH(fortran)}gfortran-4.6${PREFIX(fortran)}"; for Leading_Required_Switches ("Fortran") use Compiler'Leading_Required_Switches ("Fortran") & ("-c", "-fno-underscoring"); --- a/share/gprconfig/gnat.xml +++ b/share/gprconfig/gnat.xml @@ -52,7 +52,7 @@ Binder'Required_Switches ("Ada") & ("-I-", "ada_binder=gnaampbind"); for Driver ("Ada") use - "${GPRCONFIG_PREFIX}/libexec/gprbuild/gprbind"; + "${GPRCONFIG_PREFIX}/lib/gprbind"; end Binder; for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}"; @@ -73,7 +73,7 @@ end Naming; package Compiler is - for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc"; + for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-4.6"; for Leading_Required_Switches ("Ada") use Compiler'Leading_Required_Switches ("Ada") & ("-c", "-x", "ada", "-gnatA"); @@ -89,7 +89,7 @@ for Required_Switches ("Ada") use Binder'Required_Switches ("Ada") & ("-I-"); for Driver ("Ada") use - "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind"; + "${GPRCONFIG_PREFIX}lib/gprbind"; end Binder; for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}"; --- a/share/gprconfig/linker.xml +++ b/share/gprconfig/linker.xml @@ -242,7 +242,7 @@ for Library_Support use "static_only"; - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; @@ -280,13 +280,13 @@ - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; for Library_Support use "full"; for Shared_Library_Prefix use "lib"; for Symbolic_Link_Supported use "true"; for Library_Major_Minor_Id_Supported use "true"; - for Run_Path_Option use ("-Wl,-rpath,"); + for Run_Path_Option use (); for Separate_Run_Path_Options use "true"; for Run_Path_Origin use "@executable_path"; for Library_Install_Name_Option use "-Wl,-install_name,@rpath"; @@ -309,7 +309,7 @@ - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; for Library_Support use "full"; for Shared_Library_Prefix use "lib"; for Symbolic_Link_Supported use "true"; @@ -348,7 +348,7 @@ - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; for Library_Support use "full"; for Shared_Library_Prefix use "lib"; for Symbolic_Link_Supported use "true"; @@ -411,7 +411,7 @@ - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; for Library_Support use "full"; for Shared_Library_Prefix use "lib"; for Symbolic_Link_Supported use "true"; @@ -434,7 +434,7 @@ - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; for Library_Support use "full"; for Shared_Library_Prefix use "lib"; for Symbolic_Link_Supported use "false"; @@ -457,7 +457,7 @@ - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; for Library_Support use "full"; for Shared_Library_Prefix use "lib"; for Symbolic_Link_Supported use "true"; @@ -485,7 +485,7 @@ - for Library_Builder use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprlib"; + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; for Library_Support use "full"; for Shared_Library_Prefix use "lib"; for Shared_Library_Suffix use ".exe"; debian/patches/series0000644000000000000000000000031412171446572012041 0ustar version.patch default_path.patch gprconfig.patch add_info_category_and_entry.patch style.patch remove-spark.patch hurd-i386.patch libraries_after_link_options.diff correct_doc_license.diff texinfo_5.diff debian/patches/default_path.patch0000644000000000000000000000436412171441511014302 0ustar Description: set default project path to match Debian Ada policy Author: Stephen Leake Forwarded: not-needed --- a/gnat/prj-env.adb +++ b/gnat/prj-env.adb @@ -25,7 +25,6 @@ with Fmap; with Hostparm; -with Makeutl; use Makeutl; with Opt; with Osint; use Osint; with Output; use Output; @@ -1980,59 +1979,7 @@ -- Set the initial value of Current_Project_Path if Add_Default_Dir then - declare - Prefix : String_Ptr; - - begin - if Sdefault.Search_Dir_Prefix = null then - - -- gprbuild case - - Prefix := new String'(Executable_Prefix_Path); - - else - Prefix := new String'(Sdefault.Search_Dir_Prefix.all - & ".." & Dir_Separator - & ".." & Dir_Separator - & ".." & Dir_Separator - & ".." & Dir_Separator); - end if; - - if Prefix.all /= "" then - if Target_Name /= "" then - - -- $prefix/$target/lib/gnat - - Add_Str_To_Name_Buffer - (Path_Separator & Prefix.all & - Target_Name); - - -- Note: Target_Name has a trailing / when it comes from - -- Sdefault. - - if Name_Buffer (Name_Len) /= '/' then - Add_Char_To_Name_Buffer (Directory_Separator); - end if; - - Add_Str_To_Name_Buffer - ("lib" & Directory_Separator & "gnat"); - end if; - - -- $prefix/share/gpr - - Add_Str_To_Name_Buffer - (Path_Separator & Prefix.all & - "share" & Directory_Separator & "gpr"); - - -- $prefix/lib/gnat - - Add_Str_To_Name_Buffer - (Path_Separator & Prefix.all & - "lib" & Directory_Separator & "gnat"); - end if; - - Free (Prefix); - end; + Add_Str_To_Name_Buffer (Path_Separator & Sdefault.Search_Dir_Prefix.all); end if; Self.Path := new String'(Name_Buffer (1 .. Name_Len)); debian/patches/remove-spark.patch0000644000000000000000000001335212171441521014253 0ustar Description: remove references to SPARK. . some files in gnat/ contain references to a 'SPARK' enumeral, which is supposed to be defined in All_Restrictions, in .../adainclude/s-rident.ads, installed by the gnat-x.y package. However, the current version of gnat does not define SPARK; that is introduced in AdaCore GPL 2011. So we remove references to SPARK. Author: Stephen Leake Forwarded: not-needed --- a/gnat/scng.adb +++ b/gnat/scng.adb @@ -1792,47 +1792,6 @@ Token := Tok_Comment; return; end if; - - -- If the SPARK restriction is set for this unit, then generate - -- a token Tok_SPARK_Hide for a SPARK HIDE directive. - - if Restriction_Check_Required (SPARK) - and then Source (Start_Of_Comment) = '#' - then - declare - Scan_SPARK_Ptr : Source_Ptr; - - begin - Scan_SPARK_Ptr := Start_Of_Comment + 1; - - -- Scan out blanks - - while Source (Scan_SPARK_Ptr) = ' ' - or else Source (Scan_SPARK_Ptr) = HT - loop - Scan_SPARK_Ptr := Scan_SPARK_Ptr + 1; - end loop; - - -- Recognize HIDE directive. SPARK input cannot be - -- encoded as wide characters, so only deal with - -- lower/upper case. - - if (Source (Scan_SPARK_Ptr) = 'h' - or else Source (Scan_SPARK_Ptr) = 'H') - and then (Source (Scan_SPARK_Ptr + 1) = 'i' - or else Source (Scan_SPARK_Ptr + 1) = 'I') - and then (Source (Scan_SPARK_Ptr + 2) = 'd' - or else Source (Scan_SPARK_Ptr + 2) = 'D') - and then (Source (Scan_SPARK_Ptr + 3) = 'e' - or else Source (Scan_SPARK_Ptr + 3) = 'E') - and then (Source (Scan_SPARK_Ptr + 4) = ' ' - or else Source (Scan_SPARK_Ptr + 4) = HT) - then - Token := Tok_SPARK_Hide; - return; - end if; - end; - end if; end if; end Minus_Case; --- a/gnat/restrict.adb +++ b/gnat/restrict.adb @@ -114,58 +114,32 @@ N : Node_Id; Force : Boolean := False) is - Msg_Issued : Boolean; - Save_Error_Msg_Sloc : Source_Ptr; - begin - if Force or else Comes_From_Source (N) then - - if Restriction_Check_Required (SPARK) - and then Is_In_Hidden_Part_In_SPARK (Sloc (N)) - then - return; - end if; - - -- Since the call to Restriction_Msg from Check_Restriction may set - -- Error_Msg_Sloc to the location of the pragma restriction, save and - -- restore the previous value of the global variable around the call. - - Save_Error_Msg_Sloc := Error_Msg_Sloc; - Check_Restriction (Msg_Issued, SPARK, First_Node (N)); - Error_Msg_Sloc := Save_Error_Msg_Sloc; - - if Msg_Issued then - Error_Msg_F ("\\| " & Msg, N); - end if; - end if; + pragma Unreferenced (Msg); + pragma Unreferenced (N); + pragma Unreferenced (Force); + begin + -- Patched to work with Debian gnat-4.6, which does not define + -- SPARK in All_Restrictions (that is introduced in gnat GPL + -- 2011). + -- + -- We don't delete this procedure in order to minimize the size + -- of the patch. + null; end Check_SPARK_Restriction; - procedure Check_SPARK_Restriction (Msg1, Msg2 : String; N : Node_Id) is - Msg_Issued : Boolean; - Save_Error_Msg_Sloc : Source_Ptr; - begin - pragma Assert (Msg2'Length /= 0 and then Msg2 (Msg2'First) = '\'); - - if Comes_From_Source (N) then - - if Restriction_Check_Required (SPARK) - and then Is_In_Hidden_Part_In_SPARK (Sloc (N)) - then - return; - end if; - - -- Since the call to Restriction_Msg from Check_Restriction may set - -- Error_Msg_Sloc to the location of the pragma restriction, save and - -- restore the previous value of the global variable around the call. - - Save_Error_Msg_Sloc := Error_Msg_Sloc; - Check_Restriction (Msg_Issued, SPARK, First_Node (N)); - Error_Msg_Sloc := Save_Error_Msg_Sloc; - - if Msg_Issued then - Error_Msg_F ("\\| " & Msg1, N); - Error_Msg_F (Msg2, N); - end if; - end if; + procedure Check_SPARK_Restriction (Msg1, Msg2 : String; N : Node_Id) + is + pragma Unreferenced (Msg1); + pragma Unreferenced (Msg2); + pragma Unreferenced (N); + begin + -- Patched to work with Debian gnat-4.6, which does not define + -- SPARK in All_Restrictions (that is introduced in gnat GPL + -- 2011). + -- + -- We don't delete this procedure in order to minimize the size + -- of the patch. + null; end Check_SPARK_Restriction; ----------------------------------------- @@ -750,11 +724,7 @@ Name_Buffer (1 .. S'Last) := S; Name_Len := S'Length; - if R = SPARK then - Set_All_Upper_Case; - else - Set_Casing (Identifier_Casing (Get_Source_File_Index (Sloc (N)))); - end if; + Set_Casing (Identifier_Casing (Get_Source_File_Index (Sloc (N)))); Error_Msg_Strlen := Name_Len; Error_Msg_String (1 .. Name_Len) := Name_Buffer (1 .. Name_Len); debian/patches/libraries_after_link_options.diff0000644000000000000000000000324712171432045017401 0ustar Description: When linking shared libraries, move -l options behind object files. Fixes build failures with -Wl,--as-needed for cases like "-lgnat foo.o". Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705812 Author: Matthias Klose Forwarded: no --- a/src/gprlib-build_shared_lib-nosymbols.adb +++ b/src/gprlib-build_shared_lib-nosymbols.adb @@ -107,12 +107,19 @@ Add_Arg (Out_Opt); Add_Arg (Out_V); - -- The options + -- The options (anything except shared libraries). for J in Options'Range loop - if Options (J) /= null and then Options (J).all /= "" then - Add_Arg (Options (J)); - end if; + declare + Opt : constant String_Access := Options (J); + begin + if Opt /= null and then Opt.all /= "" + and then (Opt'Length < 2 + or else Opt (Opt'First .. Opt'First + 1) /= "-l") + then + Add_Arg (Opt); + end if; + end; end loop; -- Other options @@ -247,6 +254,21 @@ Add_Arg (Library_Options_Table.Table (J)); end loop; + -- The options (shared libraries) + + for J in Options'Range loop + declare + Opt : constant String_Access := Options (J); + begin + if Opt /= null and then Opt.all /= "" + and then (Opt'Length > 2 + and then Opt (Opt'First .. Opt'First + 1) = "-l") + then + Add_Arg (Opt); + end if; + end; + end loop; + -- Display command if not in quiet mode if not Opt.Quiet_Output then debian/patches/hurd-i386.patch0000644000000000000000000000106412171442010013260 0ustar Description: add support for hurd-i386. Author: Svante Signell Forwarded: not-needed --- a/share/gprconfig/linker.xml +++ b/share/gprconfig/linker.xml @@ -340,12 +340,13 @@ - + + for Library_Builder use "${GPRCONFIG_PREFIX}lib/gprlib"; debian/patches/style.patch0000644000000000000000000000175312171441517013007 0ustar Description: fix minor style compiler warnings . Some upstream files generate style warnings; these are annoying, because we have to review them while looking for real errors. So fix them. Author: Stephen Leake Forwarded: not-needed --- a/src/gpr_version.ads +++ b/src/gpr_version.ads @@ -36,7 +36,7 @@ package GPR_Version is - Gpr_Version: constant String := "2011 (Debian 2011-1)"; + Gpr_Version : constant String := "2011 (Debian 2011-1)"; -- Static string identifying this version function Gpr_Version_String return String; --- a/gnat/prj-env.adb +++ b/gnat/prj-env.adb @@ -1979,7 +1979,8 @@ -- Set the initial value of Current_Project_Path if Add_Default_Dir then - Add_Str_To_Name_Buffer (Path_Separator & Sdefault.Search_Dir_Prefix.all); + Add_Str_To_Name_Buffer + (Path_Separator & Sdefault.Search_Dir_Prefix.all); end if; Self.Path := new String'(Name_Buffer (1 .. Name_Len)); debian/patches/texinfo_5.diff0000644000000000000000000000071212171432045013346 0ustar Author: Nicolas Boulenguez Description: adapt texinfo doc to texinfo 5. No need to forward as the doc has changed a lot since. Forwarded: not-needed --- a/doc/gprbuild_ug.texi +++ b/doc/gprbuild_ug.texi @@ -1,5 +1,4 @@ \input texinfo @c -*-texinfo-*- -@input texiplus @c oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo @c o debian/README.Debian0000644000000000000000000000076112171216552011235 0ustar The default gprbuild configuration supports all languages provided by the gcc suite, version 4.4. This can be changed by modifying the configuration files in /usr/share/gprconfig. Other tools can be added (they don't have to be gcc tools), or other gcc versions can be supported. See the gprbuild manual sections on gprconfig for more info (/usr/share/doc/gprbuild-doc/*, installed by the gprbuild-doc package). -- Stephen Leake , Wed, 20 Jan 2010 04:56:07 -0500 debian/sdefault.adb.sed0000644000000000000000000000124412171465734012232 0ustar package body Sdefault is function Include_Dir_Default_Name return String_Ptr is begin return new String'("/usr/lib/@DEB_HOST_MULTIARCH@/gcc/@target@/@version@/adainclude/"); end Include_Dir_Default_Name; function Object_Dir_Default_Name return String_Ptr is begin return new String'("/usr/lib/@DEB_HOST_MULTIARCH@/gcc/@target@/@version@/adalib/"); end Object_Dir_Default_Name; function Target_Name return String_Ptr is begin return new String'("@target@/"); end Target_Name; function Search_Dir_Prefix return String_Ptr is begin return new String'("/usr/share/ada/adainclude/"); end Search_Dir_Prefix; end Sdefault; debian/aunit_example.gpr0000644000000000000000000000047312171216552012541 0ustar with "aunit"; project AUnit_Example is for Source_Dirs use ("."); for Main use ("aunit_example.adb"); for Object_Dir use "tmp/obj"; for Exec_Dir use "tmp"; for Languages use ("Ada"); package Compiler is for Default_Switches ("Ada") use ("-gnat05"); end Compiler; end AUnit_Example; debian/gprbuild-doc.lintian-overrides0000644000000000000000000000027012171432045015117 0ustar # Empty directories ready to receive compiled objectst are common in # examples of gprbuild usage. gprbuild-doc: package-contains-empty-directory usr/share/doc/gprbuild-doc/examples/* debian/gprbuild-doc.docs0000644000000000000000000000013112171432045012405 0ustar doc/gprbuild_ug.html doc/gprbuild_ug.pdf doc/gprbuild_ug.txt features-* known-problems-* debian/test_installed.sh0000755000000000000000000000304712171335061012546 0ustar #!/bin/bash # # install gprbuild package (normally in the chroot that just built it), # and run the examples using it. # usage # cd gprbuild-/debian # schroot ./test_installed.sh # We want to test that gprbuild doesn't depend on the current gcc, # only on current gcc-x.y, because if someone installs gprbuild on a # 'testing' system that has only gcc-4.3, gcc will stay pointing at # gcc-4.3. To do that, we install both and old and the current version # of gcc-x.y, and delete the symlink gcc. Similarly, we don't install # 'g++', but rather 'g++-4.6', etc. sudo rm /usr/bin/gcc upstreamversion=`dpkg-parsechangelog -lchangelog | sed -r -n -e "s/^Version: ([0123456789.]+)-[0123456789]+$/\1/p"` debversion=`dpkg-parsechangelog -lchangelog | sed -r -n -e "s/^Version: [0123456789.]+-([0123456789]+)$/\1/p"` # This re-installs the latest version. sudo dpkg --install ../../gprbuild_${upstreamversion}-${debversion}_i386.deb sudo dpkg --install ../../gprbuild-doc_${upstreamversion}-${debversion}_all.deb # tmp is owned by root; we need write permission sudo chmod -R o+w tmp cd ../examples make # test gprclean make clean # test running gprbuild with the default config file cd first_steps gprbuild -Pc_main gprbuild -Pada_main # clean up for next build make clean # test that default gpr search path follows Debian Ada policy cd ../../debian gprbuild -P aunit_example gprclean -P aunit_example # test that -s (check switches) doesn't attempt to write in system directories gprbuild bug_571013.gpr sudo ln -s /usr/bin/gcc-4.6 /usr/bin/gcc # end of file debian/gprbuild_build_obj/0000755000000000000000000000000012171466670013021 5ustar debian/gprbuild.install0000644000000000000000000000043312171474131012367 0ustar debian/gprbuild_build_obj/gprbuild usr/bin debian/gprbuild_build_obj/gprclean usr/bin debian/gprbuild_build_obj/gprconfig usr/bin debian/gprbuild_build_obj/gprbind usr/lib debian/gprbuild_build_obj/gprlib usr/lib share/gprconfig usr/share doc/gprbuild_gps.xml usr/share/gps/plug-ins debian/gprbuild-doc.doc-base.gprbuild-ug0000644000000000000000000000137512171432045015365 0ustar Document: gprbuild-ug Title: GPRbuild User's Guide Author: http://libre.adacore.com Abstract: This user guide documents the GNAT Project files. These files have a .gpr extension and allow to manage complex builds involving a number of source files, directories, and options for different system configurations. The main tool using GNAT project files is the gprbuild builder. Section: Programming Format: HTML Index: /usr/share/doc/gprbuild-doc/gprbuild_ug.html/index.html Files: /usr/share/doc/gprbuild-doc/gprbuild_ug.html Format: text Files: /usr/share/doc/gprbuild-doc/gprbuild_ug.txt.gz Format: pdf Files: /usr/share/doc/gprbuild-doc/gprbuild_ug.pdf.gz Format: info Index : /usr/share/info/gprbuild_ug.info.gz Files: /usr/share/info/gprbuild_ug.info.gz debian/gprclean.10000644000000000000000000000311112171216552011041 0ustar .\" Hey, Emacs! This is an -*- nroff -*- source file. .\" .\" Copyright (C) 2010 Stephen Leake .\" .\" 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 3, 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/doc/copyright/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 gprclean 1 2010-01-03 Debian "Programmer's Manual" .SH NAME gprclean \- multi-language extensible build tool .SH SYNOPSIS .HP \fBgprclean\fR [\-\-config=file.cgpr] [\-\-autoconf=file.cgpr] [\-\-target=target] [\-\-subdirs=dir] [\-aPdir] [\-c] [\-eL] [\-f] [\-F] [\-h] [\-n] [\-P] [\-q] [\-r] [\-v] [\-vPx] [\-Xnm=val] .HP .SH DESCRIPTION Deletes files built by gprbuild(1). .SH SEE ALSO GPRBuild User's Guide, available in Info, PDF, and HTML in \fI/usr/share/doc/gprbuild\-doc\fR, installed by the gprbuild\-doc package. .SH AUTHOR This manual page was written by Stephen Leake for the Debian project, but it can be used for other purposes as well. debian/gprbuild.10000644000000000000000000000276712171216552011076 0ustar .\" Hey, Emacs! This is an -*- nroff -*- source file. .\" .\" Copyright (C) 2010 Stephen Leake .\" .\" 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 3, 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/doc/copyright/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 gprbuild 1 2010\-01\-03 Debian "Programmer's Manual" .SH NAME gprbuild \- multi\-language extensible build tool .SH SYNOPSIS .HP \fBgprbuild\fR [.gpr] [\-cargs opts] [\-cargs:lang opts] [\-largs opts] [\-gargs opts] [names] .HP .SH DESCRIPTION Builds projects as specified by a project file. .SH SEE ALSO GPRBuild User's Guide, available in Info, PDF, and HTML in \fI/usr/share/doc/gprbuild\-doc\fR, installed by the gprbuild\-doc package. .SH AUTHOR This manual page was written by Stephen Leake for the Debian project, but it can be used for other purposes as well. debian/aunit_example.adb0000644000000000000000000000247412171216552012502 0ustar -- Abstract : -- -- Example AUnit test; show that gprbuild accesses the default gpr -- search path. -- -- Copyright (C) 2010 Stephen Leake. All Rights Reserved. -- -- This program 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 3, 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. You -- should have received a copy of the GNU General Public License -- distributed with this program; see file COPYING. If not, write to -- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- MA 02111-1307, USA. pragma License (GPL); with AUnit.Test_Cases; with AUnit.Assertions; with AUnit.Test_Results.Text_Reporter; with AUnit.Test_Suites; use AUnit.Test_Suites; with Example_Test; procedure Aunit_Example is Suite : constant Access_Test_Suite := new Test_Suite; Result : AUnit.Test_Results.Result; begin Add_Test (Suite, new Example_Test.Test_Case); Run (Suite.all, Result); AUnit.Test_Results.Text_Reporter.Report (Result); end Aunit_Example; debian/example_test.ads0000644000000000000000000000230212171216552012350 0ustar -- Abstract : -- -- Example AUnit test -- -- Copyright (C) 2010 Stephen Leake. All Rights Reserved. -- -- This program 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 3, 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. You -- should have received a copy of the GNU General Public License -- distributed with this program; see file COPYING. If not, write to -- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- MA 02111-1307, USA. pragma License (GPL); with Ada.Strings.Unbounded; with AUnit.Test_Cases; package Example_Test is type Test_Case is new AUnit.Test_Cases.Test_Case with null record; type Test_Case_Access is access all Test_Case; overriding procedure Register_Tests (T : in out Test_Case); overriding function Name (T : Test_Case) return Ada.Strings.Unbounded.String_Access; end Example_Test; debian/compat0000644000000000000000000000000212171437620010367 0ustar 9 debian/gprconfig.10000644000000000000000000000320312171216552011226 0ustar .\" Hey, Emacs! This is an -*- nroff -*- source file. .\" .\" Copyright (C) 2010 Stephen Leake .\" .\" 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 3, 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/doc/copyright/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 gprconfig 1 2010\-01\-03 Debian "Programmer's Manual" .SH NAME gprconfig \- multi\-language extensible build tool .SH SYNOPSIS .HP \fBgprconfig\fR [\-v] [\-q] [\-o] [\-\-target=target] [\-\-show\-targets] [\-\-batch] [\-\-db] [\-\-db\-] [\-\-config=language[,version[,runtime[,path[,name]]]]] .HP .SH DESCRIPTION Creates configuration files for gprbuild(1). If \fB\-\-batch\fR is not given, displays a menu of compilers to choose from. .SH SEE ALSO GPRBuild User's Guide, available in Info, PDF, and HTML in \fI/usr/share/doc/gprbuild\-doc\fR, installed by the gprbuild\-doc package. .SH AUTHOR This manual page was written by Stephen Leake for the Debian project, but it can be used for other purposes as well. debian/gprbuild-doc.examples0000644000000000000000000000001312171432045013272 0ustar examples/* debian/TODO0000644000000000000000000000047012171471365007666 0ustar Move run time tests from debian/* to debian/tests in autopkg-test format, and add the appropriate field in debian/control. Check if forwarding upstream is needed for patches/libraries_after_link_options.diff. Check if "gcc -dumpmachine" always has the same result than DEB_HOST_MULTIARCH or DEB_HOST_GNU_TYPE. debian/bug_571013.gpr0000644000000000000000000000131112171216552011273 0ustar -- Before the bug fix, gprbuild would try to write in a library -- directory when processing -s. When that library is installed (so -- gprbuild does not have write permission), gprbuild would crash on -- a permissions error. So we need a non-default installed library to -- show the bug. The bug report used Gtkada2; to simplify this test, -- we use Aunit, since we are installing that anyway. with "aunit"; project Bug_571013 is for Object_Dir use "tmp/obj"; for Exec_Dir use "tmp"; for Main use ("bug_571013.adb"); package Builder is for Default_Switches ("Ada") use ( "-s" -- recompile if flags changed ); end Builder; end Bug_571013; debian/gprbuild-doc.info0000644000000000000000000000002512171432045012412 0ustar doc/gprbuild_ug.info debian/watch0000644000000000000000000000025212171432045010215 0ustar # The upstream tarball download system is too complicated to be # described in a watch file. Please read the README.source file in # this directory for more information.