pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

gnat-glade: remove package moved to main tree



Module Name:	pkgsrc-wip
Committed By:	Dmytro Kazankov <dkazankov%NetBSD.org@localhost>
Pushed By:	dkazankov
Date:		Fri Jul 11 09:16:07 2025 +0300
Changeset:	3ddff07a9ed1eeff98ce7babb90bd7e4733186c0

Modified Files:
	Makefile
Removed Files:
	gnat-glade/COMMIT_MSG
	gnat-glade/DESCR
	gnat-glade/Makefile
	gnat-glade/PLIST
	gnat-glade/buildlink3.mk
	gnat-glade/distinfo
	gnat-glade/patches/patch-Dist_Makefile.in
	gnat-glade/patches/patch-Dist_config.sdefault
	gnat-glade/patches/patch-Dist_gnatdist-config.in
	gnat-glade/patches/patch-Dist_xe.adb
	gnat-glade/patches/patch-Dist_xe__back-garlic.adb
	gnat-glade/patches/patch-Dist_xe__back-polyorb.adb
	gnat-glade/patches/patch-Dist_xe__back.adb
	gnat-glade/patches/patch-Dist_xe__front.adb
	gnat-glade/patches/patch-Dist_xe__main.adb
	gnat-glade/patches/patch-Dist_xe__names.ads
	gnat-glade/patches/patch-Dist_xe__parse.adb
	gnat-glade/patches/patch-Dist_xe__scan.adb
	gnat-glade/patches/patch-Dist_xe__stdcnf.adb
	gnat-glade/patches/patch-Dist_xe__usage.adb
	gnat-glade/patches/patch-Dist_xe__utils.adb
	gnat-glade/patches/patch-Examples_MultiPro_s-gaprxy.adb
	gnat-glade/patches/patch-Garlic_Makefile.in
	gnat-glade/patches/patch-Garlic_garlic.gpr
	gnat-glade/patches/patch-Garlic_isthrbio.adb
	gnat-glade/patches/patch-Garlic_isthrbio.gpr
	gnat-glade/patches/patch-Garlic_s-dsaser.ads
	gnat-glade/patches/patch-Garlic_s-gafizi.adb
	gnat-glade/patches/patch-Garlic_s-gaprre.adb
	gnat-glade/patches/patch-Garlic_s-gaprre.ads
	gnat-glade/patches/patch-Garlic_s-gaprtc.adb
	gnat-glade/patches/patch-Garlic_s-garexc.adb
	gnat-glade/patches/patch-Garlic_s-garsto.adb
	gnat-glade/patches/patch-Garlic_s-garstr.ads
	gnat-glade/patches/patch-Garlic_s-gartab.adb
	gnat-glade/patches/patch-Garlic_s-gartas.adb
	gnat-glade/patches/patch-Garlic_s-garuni.adb
	gnat-glade/patches/patch-Garlic_s-gastdf.adb
	gnat-glade/patches/patch-Garlic_s-gastha.adb
	gnat-glade/patches/patch-Garlic_s-gptcse.adb
	gnat-glade/patches/patch-Garlic_s-parint.adb
	gnat-glade/patches/patch-Garlic_s-parint.ads
	gnat-glade/patches/patch-Garlic_s-rpc.adb
	gnat-glade/patches/patch-Garlic_s-rpcser.adb
	gnat-glade/patches/patch-Garlic_s-shasto.adb
	gnat-glade/patches/patch-Garlic_s-shasto.ads
	gnat-glade/patches/patch-Garlic_s-stratt.adb
	gnat-glade/patches/patch-Garlic_select.c
	gnat-glade/patches/patch-configure

Log Message:
gnat-glade: remove package moved to main tree

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=3ddff07a9ed1eeff98ce7babb90bd7e4733186c0

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |    1 -
 gnat-glade/COMMIT_MSG                              |    4 -
 gnat-glade/DESCR                                   |    4 -
 gnat-glade/Makefile                                |   47 -
 gnat-glade/PLIST                                   |  135 --
 gnat-glade/buildlink3.mk                           |   14 -
 gnat-glade/distinfo                                |   48 -
 gnat-glade/patches/patch-Dist_Makefile.in          |   29 -
 gnat-glade/patches/patch-Dist_config.sdefault      |   16 -
 gnat-glade/patches/patch-Dist_gnatdist-config.in   |  171 --
 gnat-glade/patches/patch-Dist_xe.adb               |   16 -
 gnat-glade/patches/patch-Dist_xe__back-garlic.adb  |   16 -
 gnat-glade/patches/patch-Dist_xe__back-polyorb.adb |   16 -
 gnat-glade/patches/patch-Dist_xe__back.adb         |   25 -
 gnat-glade/patches/patch-Dist_xe__front.adb        |   17 -
 gnat-glade/patches/patch-Dist_xe__main.adb         |   29 -
 gnat-glade/patches/patch-Dist_xe__names.ads        |   16 -
 gnat-glade/patches/patch-Dist_xe__parse.adb        |   53 -
 gnat-glade/patches/patch-Dist_xe__scan.adb         |   26 -
 gnat-glade/patches/patch-Dist_xe__stdcnf.adb       |   24 -
 gnat-glade/patches/patch-Dist_xe__usage.adb        |   15 -
 gnat-glade/patches/patch-Dist_xe__utils.adb        |   62 -
 .../patches/patch-Examples_MultiPro_s-gaprxy.adb   |   15 -
 gnat-glade/patches/patch-Garlic_Makefile.in        |  242 ---
 gnat-glade/patches/patch-Garlic_garlic.gpr         |   44 -
 gnat-glade/patches/patch-Garlic_isthrbio.adb       |   15 -
 gnat-glade/patches/patch-Garlic_isthrbio.gpr       |   17 -
 gnat-glade/patches/patch-Garlic_s-dsaser.ads       |   63 -
 gnat-glade/patches/patch-Garlic_s-gafizi.adb       |   15 -
 gnat-glade/patches/patch-Garlic_s-gaprre.adb       |   15 -
 gnat-glade/patches/patch-Garlic_s-gaprre.ads       |   15 -
 gnat-glade/patches/patch-Garlic_s-gaprtc.adb       |   49 -
 gnat-glade/patches/patch-Garlic_s-garexc.adb       |   16 -
 gnat-glade/patches/patch-Garlic_s-garsto.adb       |   64 -
 gnat-glade/patches/patch-Garlic_s-garstr.ads       |   19 -
 gnat-glade/patches/patch-Garlic_s-gartab.adb       |   16 -
 gnat-glade/patches/patch-Garlic_s-gartas.adb       |   15 -
 gnat-glade/patches/patch-Garlic_s-garuni.adb       |   16 -
 gnat-glade/patches/patch-Garlic_s-gastdf.adb       |   15 -
 gnat-glade/patches/patch-Garlic_s-gastha.adb       |   15 -
 gnat-glade/patches/patch-Garlic_s-gptcse.adb       |   15 -
 gnat-glade/patches/patch-Garlic_s-parint.adb       |   61 -
 gnat-glade/patches/patch-Garlic_s-parint.ads       |   16 -
 gnat-glade/patches/patch-Garlic_s-rpc.adb          |   18 -
 gnat-glade/patches/patch-Garlic_s-rpcser.adb       |   15 -
 gnat-glade/patches/patch-Garlic_s-shasto.adb       |  130 --
 gnat-glade/patches/patch-Garlic_s-shasto.ads       |  213 --
 gnat-glade/patches/patch-Garlic_s-stratt.adb       | 2025 --------------------
 gnat-glade/patches/patch-Garlic_select.c           |   14 -
 gnat-glade/patches/patch-configure                 |   89 -
 50 files changed, 4046 deletions(-)

diffs:
diff --git a/Makefile b/Makefile
index fac52e9bab..18e6a904bd 100644
--- a/Makefile
+++ b/Makefile
@@ -1307,7 +1307,6 @@ SUBDIR+=	gmpc-lyricsplugin
 SUBDIR+=	gmrender-resurrect-git
 SUBDIR+=	gmrun
 SUBDIR+=	gn-git
-SUBDIR+=	gnat-glade
 SUBDIR+=	gnatcoll-bindings
 SUBDIR+=	gnatcoll-db
 SUBDIR+=	gnocchi
diff --git a/gnat-glade/COMMIT_MSG b/gnat-glade/COMMIT_MSG
deleted file mode 100644
index da0e8ec5ae..0000000000
--- a/gnat-glade/COMMIT_MSG
+++ /dev/null
@@ -1,4 +0,0 @@
-devel/gnat-glade: Add package 6.0.1
-
-GLADE provides an up to date implementations of Annex E (Distributed Systems)
-of the ISO standard ISO/IEC 8652:1995/COR1:2000 for GNAT
diff --git a/gnat-glade/DESCR b/gnat-glade/DESCR
deleted file mode 100644
index 503af731b9..0000000000
--- a/gnat-glade/DESCR
+++ /dev/null
@@ -1,4 +0,0 @@
-GNAT Library for Ada Distributed Environment
-
-Provides implementations of Annex E (Distributed Systems)
-of the ISO standard ISO/IEC 8652:1995/COR1:2000 for GNAT.
diff --git a/gnat-glade/Makefile b/gnat-glade/Makefile
deleted file mode 100644
index 63789f313b..0000000000
--- a/gnat-glade/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# $NetBSD: Makefile,v 1.0 2024/12/05 14:00:00 dkazankov Exp $
-
-#DISTNAME=	${PKG_DISTNAME}
-DISTNAME=	gnat-glade-6.0.1
-PKGNAME=	gnat-glade-13.3.0
-CATEGORIES=	devel
-# Original sourceforge site periodically loses the snapshot,
-# so we use github clone
-MASTER_SITES=	${MASTER_SITE_GITHUB:=dkazankov/}
-GITHUB_PROJECT=	gnat-glade
-GITHUB_TAG=	v6.0.1
-#DISTFILES=	${PKG_DISTNAME}.zip
-#SITES.${PKG_DISTNAME}.zip=	-https://sourceforge.net/code-snapshots/svn/g/gn/gnat-glade/code/${PKG_DISTNAME}.zip
-
-MAINTAINER=	dkazankov%NetBSD.org@localhost
-HOMEPAGE=	https://sourceforge.net/projects/gnat-glade/
-COMMENT=	GNAT Library for Ada Distributed Environment
-LICENSE=	gnu-gpl-v2
-
-#PKG_DISTNAME=	gnat-glade-code-r135-trunk
-
-USE_TOOLS+=	gmake
-GNU_CONFIGURE=	yes
-
-CHECK_PIE_SKIP+=	bin/*
-CHECK_RELRO_SKIP+=	bin/*
-
-USE_LANGUAGES=	c ada
-# This component now throws an error when compiled with GNAT 6 or 10
-GCC_REQD+=	13
-
-.include "../../mk/bsd.prefs.mk"
-
-SUBST_CLASSES+=			replace-shell
-SUBST_MESSAGE.replace-shell=	Replace shell in ${SUBST_FILES.replace-shell}
-SUBST_STAGE.replace-shell=	pre-configure
-SUBST_FILES.replace-shell=	Dist/gnatdist-config.in
-SUBST_VARS.replace-shell=	SHELL
-
-post-patch:
-	chmod +x ${WRKSRC}/Dist/config.sdefault
-
-GENERATE_PLIST+= \
-	cd ${DESTDIR}${PREFIX} && \
-	${FIND} bin include lib \( -type f -or -type l \) -print | ${SORT};
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/gnat-glade/PLIST b/gnat-glade/PLIST
deleted file mode 100644
index 3db5f5fc7c..0000000000
--- a/gnat-glade/PLIST
+++ /dev/null
@@ -1,135 +0,0 @@
-@comment $NetBSD: PLIST,v 1.0 2024/11/12 18:30:00 dkazankov Exp $
-bin/gnatdist
-bin/gnatdist-config
-include/garlic/s-gafizi.adb
-include/garlic/s-gafizi.ads
-include/garlic/s-galiop.ads
-include/garlic/s-ganata.adb
-include/garlic/s-ganata.ads
-include/garlic/s-ganeut.adb
-include/garlic/s-ganeut.ads
-include/garlic/s-ganota.adb
-include/garlic/s-ganota.ads
-include/garlic/s-gaphlo.adb
-include/garlic/s-gaphlo.ads
-include/garlic/s-gaplsp.ads
-include/garlic/s-gaprco.adb
-include/garlic/s-gaprco.ads
-include/garlic/s-gaprma.adb
-include/garlic/s-gaprma.ads
-include/garlic/s-gaprre.adb
-include/garlic/s-gaprre.ads
-include/garlic/s-gaprtc.adb
-include/garlic/s-gaprtc.ads
-include/garlic/s-gardeb.adb
-include/garlic/s-gardeb.ads
-include/garlic/s-garela.adb
-include/garlic/s-garela.ads
-include/garlic/s-garexc.adb
-include/garlic/s-garexc.ads
-include/garlic/s-garfil.adb
-include/garlic/s-garfil.ads
-include/garlic/s-gargro.adb
-include/garlic/s-gargro.ads
-include/garlic/s-garhea.adb
-include/garlic/s-garhea.ads
-include/garlic/s-garlic.ads
-include/garlic/s-garopt.adb
-include/garlic/s-garopt.ads
-include/garlic/s-garpar.adb
-include/garlic/s-garpar.ads
-include/garlic/s-garpri.adb
-include/garlic/s-garpri.ads
-include/garlic/s-garpro.adb
-include/garlic/s-garpro.ads
-include/garlic/s-garrem.adb
-include/garlic/s-garrem.ads
-include/garlic/s-garsta.adb
-include/garlic/s-garsta.ads
-include/garlic/s-garsto.adb
-include/garlic/s-garsto.ads
-include/garlic/s-garstr.adb
-include/garlic/s-garstr.ads
-include/garlic/s-gartab.adb
-include/garlic/s-gartab.ads
-include/garlic/s-gartas.adb
-include/garlic/s-gartas.ads
-include/garlic/s-garter.adb
-include/garlic/s-garter.ads
-include/garlic/s-gartra.adb
-include/garlic/s-gartra.ads
-include/garlic/s-gartyp.adb
-include/garlic/s-gartyp.ads
-include/garlic/s-garuni.adb
-include/garlic/s-garuni.ads
-include/garlic/s-garuti.adb
-include/garlic/s-garuti.ads
-include/garlic/s-gasoli.adb
-include/garlic/s-gasoli.ads
-include/garlic/s-gastco.adb
-include/garlic/s-gastco.ads
-include/garlic/s-gastdf.adb
-include/garlic/s-gastdf.ads
-include/garlic/s-gastds.adb
-include/garlic/s-gastds.ads
-include/garlic/s-gastha.adb
-include/garlic/s-gastha.ads
-include/garlic/s-gprese.ads
-include/garlic/s-gptcse.adb
-include/garlic/s-gptcse.ads
-include/garlic/s-parint.adb
-include/garlic/s-parint.ads
-include/garlic/s-rpc.adb
-include/garlic/s-rpc.ads
-include/garlic/s-rpcser.adb
-include/garlic/s-rpcser.ads
-include/garlic/s-rpstio.adb
-include/garlic/s-rpstio.ads
-include/garlic/s-shasto.adb
-lib/garlic/libgarlic.a
-lib/garlic/s-gafizi.ali
-lib/garlic/s-galiop.ali
-lib/garlic/s-ganata.ali
-lib/garlic/s-ganeut.ali
-lib/garlic/s-ganota.ali
-lib/garlic/s-gaphlo.ali
-lib/garlic/s-gaplsp.ali
-lib/garlic/s-gaprco.ali
-lib/garlic/s-gaprma.ali
-lib/garlic/s-gaprre.ali
-lib/garlic/s-gaprtc.ali
-lib/garlic/s-gardeb.ali
-lib/garlic/s-garela.ali
-lib/garlic/s-garexc.ali
-lib/garlic/s-garfil.ali
-lib/garlic/s-gargro.ali
-lib/garlic/s-garhea.ali
-lib/garlic/s-garlic.ali
-lib/garlic/s-garopt.ali
-lib/garlic/s-garpar.ali
-lib/garlic/s-garpri.ali
-lib/garlic/s-garpro.ali
-lib/garlic/s-garrem.ali
-lib/garlic/s-garsta.ali
-lib/garlic/s-garsto.ali
-lib/garlic/s-garstr.ali
-lib/garlic/s-gartab.ali
-lib/garlic/s-gartas.ali
-lib/garlic/s-garter.ali
-lib/garlic/s-gartra.ali
-lib/garlic/s-gartyp.ali
-lib/garlic/s-garuni.ali
-lib/garlic/s-garuti.ali
-lib/garlic/s-gasoli.ali
-lib/garlic/s-gastco.ali
-lib/garlic/s-gastdf.ali
-lib/garlic/s-gastds.ali
-lib/garlic/s-gastha.ali
-lib/garlic/s-gprese.ali
-lib/garlic/s-gptcse.ali
-lib/garlic/s-parint.ali
-lib/garlic/s-rpc.ali
-lib/garlic/s-rpcser.ali
-lib/garlic/s-rpstio.ali
-lib/garlic/s-shasto.ali
-lib/gnat/garlic.gpr
diff --git a/gnat-glade/buildlink3.mk b/gnat-glade/buildlink3.mk
deleted file mode 100644
index b2c0b12354..0000000000
--- a/gnat-glade/buildlink3.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.0 2024/11/14 16:30:00 dkazankov Exp $
-
-BUILDLINK_TREE+=	gnat-glade
-
-.if !defined(GNAT_GLADE_BUILDLINK3_MK)
-GNAT_GLADE_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.gnat-glade+=	gnat-glade>=6.0.1
-BUILDLINK_PKGSRCDIR.gnat-glade?=	../../wip/gnat-glade
-BUILDLINK_DEPMETHOD.gnat-glade?=	build
-
-.endif
-
-BUILDLINK_TREE+=	-gnat-glade
diff --git a/gnat-glade/distinfo b/gnat-glade/distinfo
deleted file mode 100644
index a3f72bd2e0..0000000000
--- a/gnat-glade/distinfo
+++ /dev/null
@@ -1,48 +0,0 @@
-$NetBSD: distinfo,v 1.3 2024/05/02 14:00:00 dkazankov Exp $
-
-BLAKE2s (gnat-glade-6.0.1.tar.gz) = c975f8e27eab2eaec271f8d82a01eb4cb7edb99fcb7851960ce094448fb364b0
-SHA512 (gnat-glade-6.0.1.tar.gz) = d99852b7c1ef209a06b50b187db8ab5d4527722a52ea3234c727638e5680f1db867b37d6a49ce28e29d8f207c016d4c6bc7f190f8163833933327d079fd9660c
-Size (gnat-glade-6.0.1.tar.gz) = 3004733 bytes
-SHA1 (patch-Dist_Makefile.in) = 1c9a63dbe5e17e80c81647519d215b8887b544a4
-SHA1 (patch-Dist_config.sdefault) = 7fb3e662a2d565f0c40ad627cda74574ed3ebddd
-SHA1 (patch-Dist_gnatdist-config.in) = 058e96f15d5642092ace7855274521d52fafedbe
-SHA1 (patch-Dist_xe.adb) = 163bf676015a40f5fc4187159c7e16086db22359
-SHA1 (patch-Dist_xe__back-garlic.adb) = 9a66d461624621843abba99f8e8f5df4aa75e457
-SHA1 (patch-Dist_xe__back-polyorb.adb) = b2ee5226af5d51af7ca0236fc02d7bcf0489a716
-SHA1 (patch-Dist_xe__back.adb) = ea6c70f184c6359f52f3c37cdb4f0a1f62fab6f4
-SHA1 (patch-Dist_xe__front.adb) = d2ff90f0e08402fc19e9792d93e4e5180da68642
-SHA1 (patch-Dist_xe__main.adb) = 7a3297ed1f4eb7b45fb82e86b3f436a70b828984
-SHA1 (patch-Dist_xe__names.ads) = 55252237505359b3caa5dc2f54303e894eaf8ed0
-SHA1 (patch-Dist_xe__parse.adb) = 471873dd7134327425bf1a6df2a4b2e24e475465
-SHA1 (patch-Dist_xe__scan.adb) = 9272f4c6b0dade6d0d6d22d146aa0d371403a9bd
-SHA1 (patch-Dist_xe__stdcnf.adb) = 58324a21ac4e72dc9e7f5797ee008ce04edfe8c5
-SHA1 (patch-Dist_xe__usage.adb) = 0ae9e3b8ef811beb7293c115adca989bad62856b
-SHA1 (patch-Dist_xe__utils.adb) = e5a9eede82e19805fdaecd6305c4e564beed19ff
-SHA1 (patch-Examples_MultiPro_s-gaprxy.adb) = 503b5d6ccc62e1d4dd4e291e29b188ec28389818
-SHA1 (patch-Garlic_Makefile.in) = 674601db5717bb7dd691b93c919804bf000c4e6a
-SHA1 (patch-Garlic_garlic.gpr) = c410c7c352619dd9dfcd232e5a6cad4521ae8287
-SHA1 (patch-Garlic_isthrbio.adb) = d45ac410707eca5c646b563264d50c11458eb8bd
-SHA1 (patch-Garlic_isthrbio.gpr) = 991396abd6632cf7f7bfe6cf07a4ba4c7baf305d
-SHA1 (patch-Garlic_s-dsaser.ads) = 73cd62f844268e0dd68207fd37edd4876e6af728
-SHA1 (patch-Garlic_s-gafizi.adb) = bf47bc65cbff5eaf055870d16b68cbd52ac4aa61
-SHA1 (patch-Garlic_s-gaprre.adb) = cf8d8890dcf0919ec50f66b0eaf53b87df835850
-SHA1 (patch-Garlic_s-gaprre.ads) = b3da9598e2701ea5b025bb35da7affbd50e56d4d
-SHA1 (patch-Garlic_s-gaprtc.adb) = 7475c530957346fb598cec3c9f7e66322b67d95b
-SHA1 (patch-Garlic_s-garexc.adb) = 7df0925115b0206313a45def9fb2ef02962138f6
-SHA1 (patch-Garlic_s-garsto.adb) = be6b86a1a5ea31fb4e73eb087d7fea6a022614d4
-SHA1 (patch-Garlic_s-garstr.ads) = cfda7ce053dffaeae6db9f733826ff696f066111
-SHA1 (patch-Garlic_s-gartab.adb) = fdd8eb21aa7dc10dbf49d1794f65f804e169d3ae
-SHA1 (patch-Garlic_s-gartas.adb) = 9896fdef948441ea20716d860785cc4452f9c249
-SHA1 (patch-Garlic_s-garuni.adb) = 4287dd944ccd26b9ae0e6e115f6fe9813fa97d1a
-SHA1 (patch-Garlic_s-gastdf.adb) = 142c33147b64eb14a400e5623b6a31ca73be6960
-SHA1 (patch-Garlic_s-gastha.adb) = 3dbff7340936751840c5e89a5b40211333d9817f
-SHA1 (patch-Garlic_s-gptcse.adb) = 4f668c9f1be0921f5b236e7759859b1d7d3bc20d
-SHA1 (patch-Garlic_s-parint.adb) = cfc1498142a355036694635b0f9ed892fcbf6752
-SHA1 (patch-Garlic_s-parint.ads) = c0611648bca05951af809e8a9cdec98c2d832b1a
-SHA1 (patch-Garlic_s-rpc.adb) = 792e9ca62f15cbaf526354297df22037781539c1
-SHA1 (patch-Garlic_s-rpcser.adb) = 3394a7fed3eddee43c0d660f77785047bf771af5
-SHA1 (patch-Garlic_s-shasto.adb) = 2e76771ee23baa7a0cd5b24863fbe39ba89653f9
-SHA1 (patch-Garlic_s-shasto.ads) = f086c4f186143093b85f66fd5d5d7b88958d75d2
-SHA1 (patch-Garlic_s-stratt.adb) = 0684c2df09d7d74eb3f0141585875e13c31e2a6c
-SHA1 (patch-Garlic_select.c) = 0db5132fcc2184cc685cd6886b87645f73e31e04
-SHA1 (patch-configure) = d4486e11d338df24b573a5dc299f11ff49e9a0ca
diff --git a/gnat-glade/patches/patch-Dist_Makefile.in b/gnat-glade/patches/patch-Dist_Makefile.in
deleted file mode 100644
index 2990369234..0000000000
--- a/gnat-glade/patches/patch-Dist_Makefile.in
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-Dist_Makefile.in,v 1.0 2025/02/04 22:00:00 dkazankov Exp $
-
-Add configuration helper
-Fix bindir location
-
---- Dist/Makefile.in.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/Makefile.in
-@@ -223,9 +223,11 @@
- 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- xe_defs-defaults.ads: $(top_builddir)/config.status $(srcdir)/xe_defs-defaults.ads.in
- 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-+gnatdist-config: $(top_builddir)/config.status $(srcdir)/gnatdist-config.in
-+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
- install-binPROGRAMS: $(bin_PROGRAMS)
- 	@$(NORMAL_INSTALL)
--	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
-+	test -z "$(DESTDIR)$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
- 	@list='$(bin_PROGRAMS)'; for p in $$list; do \
- 	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- 	  if test -f $$p \
-@@ -235,6 +237,8 @@
- 	   $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- 	  else :; fi; \
- 	done
-+	cp -p $(srcdir)/gnatdist-config $(DESTDIR)$(bindir)/gnatdist-config ; \
-+	chmod a+x $(DESTDIR)$(bindir)/gnatdist-config
- 
- uninstall-binPROGRAMS:
- 	@$(NORMAL_UNINSTALL)
diff --git a/gnat-glade/patches/patch-Dist_config.sdefault b/gnat-glade/patches/patch-Dist_config.sdefault
deleted file mode 100644
index 4275fe7850..0000000000
--- a/gnat-glade/patches/patch-Dist_config.sdefault
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Dist_config.sdefault,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix libgnat.a search
-https://github.com/reznikmm/garlic/commit/1c459d17d989e5df86234276013fd32430c97220
-
---- Dist/config.sdefault.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/config.sdefault
-@@ -7,7 +7,7 @@
-    sed -e '1,/Object Search Path/ d' | grep -v 'Current_Directory' > tmp1
- sed -e 's,\\,/,g' tmp1 > tmp2
- for i in `cat tmp2`; do
--  if [ -f ${i}libgnat.a ]; then
-+  if [ -f ${i}/libgnat.a ]; then
-     LIBGNAT_DIR=${i}
-     break
-   fi
diff --git a/gnat-glade/patches/patch-Dist_gnatdist-config.in b/gnat-glade/patches/patch-Dist_gnatdist-config.in
deleted file mode 100644
index b873684ab9..0000000000
--- a/gnat-glade/patches/patch-Dist_gnatdist-config.in
+++ /dev/null
@@ -1,171 +0,0 @@
-$NetBSD: patch-Dist_gnatdist-config.in,v 1.0 2025/02/04 22:00:00 dkazankov Exp $
-
-Create configuration helper for building applications
-
---- /dev/null
-+++ Dist/gnatdist-config.in
-@@ -0,0 +1,164 @@
-+#!@SHELL@
-+
-+# This script provides tool chain command line switches used to build
-+# applications that use garlic.
-+
-+# @configure_input@
-+
-+host=@host@
-+target=@target@
-+if [ "$host" = "$target" ]; then
-+  is_cross=false
-+else
-+  is_cross=true
-+fi
-+
-+# Determine installation prefix
-+
-+case "$0" in
-+  */*)
-+    # Already has a directory indication
-+    exec_name="$0"
-+    ;;
-+
-+  *)
-+    # Just base filename, retrieve from PATH
-+    exec_name=`which $0`
-+    ;;
-+esac
-+exec_rel_dir=`dirname "${exec_name}"`
-+exec_abs_dir=`cd ${exec_rel_dir} && pwd`
-+exec_prefix=`dirname "${exec_abs_dir}"`
-+
-+# Translate Cygwin-style path to Windows equivalent
-+
-+case "$OS" in
-+   Windows_NT)
-+      exec_prefix=`cygpath -w $exec_prefix`
-+esac
-+
-+unset tgt_subdir
-+if $is_cross; then
-+  tgt_subdir=/$target
-+fi
-+
-+for candidate_prefix in "${exec_prefix}${tgt_subdir}" "@prefix@${tgt_subdir}"; do
-+  prefix="${candidate_prefix}"
-+  if [ -f "${candidate_prefix}"/include/garlic/s-garlic.ads ]; then
-+    break
-+  fi
-+done
-+
-+usage() {
-+   cat <<EOF 1>&2
-+Usage: gnatdist-config [OPTIONS]
-+Options:
-+        No option:
-+            Same as --options.
-+        [--options]
-+            Output options to use for GLADE.
-+        [--prefix[=DIR]]
-+            Output the directory in which GLADE architecture-independent
-+            files are installed, or set this directory to DIR.
-+        [--exec-prefix[=DIR]]
-+            Output the directory in which GLADE architecture-dependent
-+            files are installed, or set this directory to DIR.
-+        [--version|-v]
-+            Output the version of GLADE.
-+        [--largs]
-+            Output the linker flags to use for GLADE.
-+        [--cargs]
-+            Output the compiler flags to use for GLADE.
-+        [--bargs]
-+            Output the binder flags to use for GLADE.
-+        [--help]
-+            Output this message
-+EOF
-+}
-+
-+no_args=true
-+while test $# -gt 0; do
-+  no_args=false
-+  case "$1" in
-+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-+  *) optarg= ;;
-+  esac
-+
-+  case $1 in
-+    --help|-h)
-+      usage 1>&2
-+      exit 1
-+      ;;
-+    --prefix=*)
-+      prefix=$optarg;
-+      if test "x$exec_prefix_set" = x ; then
-+	  exec_prefix=$prefix
-+      fi
-+      ;;
-+    --prefix)
-+      echo_prefix=true
-+      ;;
-+    --exec-prefix=*)
-+      exec_prefix=$optarg
-+      ;;
-+    --exec-prefix)
-+      echo_exec_prefix=true
-+      ;;
-+    --version|-v)
-+      echo "GNAT-GLADE @VERSION@ for ${target}" 1>&2
-+      if $is_cross; then
-+        echo " hosted on ${host}" 1>&2
-+      fi
-+      exit 0
-+      ;;
-+    --largs)
-+      echo_largs=true
-+      ;;
-+    --cargs)
-+      echo_cargs=true
-+      ;;
-+    --bargs)
-+      echo_bargs=true
-+      ;;
-+    --options)
-+      echo_options=true
-+      ;;
-+
-+    *)
-+      usage 1>&2
-+      exit 1
-+      ;;
-+  esac
-+  shift
-+done
-+if test ! x"$no_args" = x"true" ; then
-+  echo_options=true
-+fi
-+
-+includedir="@includedir@"
-+libdir="@libdir@"
-+garlic_incdir="${includedir}/garlic"
-+garlic_libdir="${libdir}/garlic"
-+
-+if test ! x"$echo_options" = x"true" ; then
-+  echo -a -aI${garlic_incdir} -aO${garlic_libdir}
-+fi
-+
-+if test x"$echo_cargs" = x"true"; then
-+  echo -cargs @GNATFLAGS@ -I${garlic_incdir}
-+fi
-+
-+#if test x"$echo_bargs" = x"true"; then
-+#  echo -bargs ${garlic_lib}
-+#fi
-+
-+if test x"$echo_largs" = x"true"; then
-+  echo -largs @LDFLAGS@ -L${garlic_libdir} -lgarlic
-+fi
-+
-+if test x"$echo_prefix" = x"true" ; then
-+  echo $prefix
-+fi
-+if test x"$echo_exec_prefix" = x"true" ; then
-+  echo $exec_prefix
-+fi
diff --git a/gnat-glade/patches/patch-Dist_xe.adb b/gnat-glade/patches/patch-Dist_xe.adb
deleted file mode 100644
index 34842f9c21..0000000000
--- a/gnat-glade/patches/patch-Dist_xe.adb
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Dist_xe.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Dist/xe.adb.orig	2007-11-26 14:06:30.000000000 +0200
-+++ Dist/xe.adb
-@@ -1171,7 +1171,7 @@
-       --  Remove the nodes created in the previous context.
- 
-       loop
--         exit when Nodes.Last <= Node_Id (Context.Last_Node);
-+         exit when Nodes.Last <= Context.Last_Node;
-          Nodes.Decrement_Last;
-       end loop;
-       N_Anonymous_Variable := Context.Anonymous;
diff --git a/gnat-glade/patches/patch-Dist_xe__back-garlic.adb b/gnat-glade/patches/patch-Dist_xe__back-garlic.adb
deleted file mode 100644
index 3722993f99..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__back-garlic.adb
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Dist_xe__back-garlic.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-
---- Dist/xe_back-garlic.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/xe_back-garlic.adb
-@@ -34,9 +34,6 @@
- with XE_Names;    use XE_Names;
- with XE_Utils;    use XE_Utils;
- 
--with XE_Back;
--pragma Elaborate_All (XE_Back);
--
- package body XE_Back.GARLIC is
- 
-    type GARLIC_Backend is new Backend with null record;
diff --git a/gnat-glade/patches/patch-Dist_xe__back-polyorb.adb b/gnat-glade/patches/patch-Dist_xe__back-polyorb.adb
deleted file mode 100644
index 2d217d0729..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__back-polyorb.adb
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Dist_xe__back-polyorb.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-
---- Dist/xe_back-polyorb.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/xe_back-polyorb.adb
-@@ -34,9 +34,6 @@
- with XE_Names;    use XE_Names;
- with XE_Utils;    use XE_Utils;
- 
--with XE_Back;
--pragma Elaborate_All (XE_Back);
--
- package body XE_Back.PolyORB is
- 
-    type PolyORB_Backend is new Backend with null record;
diff --git a/gnat-glade/patches/patch-Dist_xe__back.adb b/gnat-glade/patches/patch-Dist_xe__back.adb
deleted file mode 100644
index aaae43a89b..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__back.adb
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-Dist_xe__back.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Make gnatdist fail if compilation fails on stub/skel
-https://github.com/reznikmm/garlic/commit/d037957ca6828ec3a1cced2ea64e46310f11b22d
-
---- Dist/xe_back.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/xe_back.adb
-@@ -328,7 +328,7 @@
-             Arguments (3) := new String'(Name_Buffer (1 .. Name_Len));
-          end if;
- 
--         Compile (Full_Unit_File, Arguments, Fatal => False, Silent => True);
-+         Compile (Full_Unit_File, Arguments, Fatal => True, Silent => True);
- 
-          Free (Arguments (3));
-       elsif not Quiet_Mode then
-@@ -604,7 +604,7 @@
-             Arguments (3)  := new String'(Name_Buffer (1 .. Name_Len));
-          end if;
- 
--         Compile (Full_Unit_File, Arguments, Fatal => False, Silent => True);
-+         Compile (Full_Unit_File, Arguments, Fatal => True, Silent => True);
- 
-          if Present (Part_Prj_Fname) then
-             Free (Arguments (3));
diff --git a/gnat-glade/patches/patch-Dist_xe__front.adb b/gnat-glade/patches/patch-Dist_xe__front.adb
deleted file mode 100644
index abf48b4bae..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__front.adb
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-Dist_xe__front.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Dist/xe_front.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/xe_front.adb
-@@ -470,7 +470,8 @@
-          HID := Partitions.Table (P).Host;
-          if HID /= No_Host_Id
-            and then not Hosts.Table (HID).Static
--           and then Hosts.Table (HID).Import = Ada_Import then
-+           and then Hosts.Table (HID).Import = Ada_Import
-+         then
-             Add_Conf_Unit (Hosts.Table (HID).External, P);
-          end if;
-       end loop;
diff --git a/gnat-glade/patches/patch-Dist_xe__main.adb b/gnat-glade/patches/patch-Dist_xe__main.adb
deleted file mode 100644
index 6117748af3..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__main.adb
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-Dist_xe__main.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Dist/xe_main.adb.orig	2007-11-26 14:06:30.000000000 +0200
-+++ Dist/xe_main.adb
-@@ -26,8 +26,8 @@
- 
- with XE;              use XE;
- with XE_Back;         use XE_Back;
--with XE_Back.GARLIC;  use XE_Back.GARLIC;
--with XE_Back.PolyORB; use XE_Back.PolyORB;
-+with XE_Back.GARLIC;
-+with XE_Back.PolyORB;
- with XE_Defs;         use XE_Defs;
- with XE_Flags;        use XE_Flags;
- with XE_Front;        use XE_Front;
-@@ -36,8 +36,8 @@
- with XE_Parse;        use XE_Parse;
- with XE_Types;        use XE_Types;
- with XE_Sem;          use XE_Sem;
--with XE_Scan;         use XE_Scan;
--with XE_Stdcnf;       use XE_Stdcnf;
-+with XE_Scan;
-+with XE_Stdcnf;
- with XE_Utils;        use XE_Utils;
- with XE_Units;        use XE_Units;
- with XE_Usage;
diff --git a/gnat-glade/patches/patch-Dist_xe__names.ads b/gnat-glade/patches/patch-Dist_xe__names.ads
deleted file mode 100644
index 217f53107f..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__names.ads
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Dist_xe__names.ads,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Dist/xe_names.ads.orig	2007-11-26 14:06:30.000000000 +0200
-+++ Dist/xe_names.ads
-@@ -48,7 +48,7 @@
- --  names table entry and subprograms are provided for setting and retrieving
- --  these associated values. The usage of these values is up to the client.
- 
--   Name_Buffer : String (1 .. 16*1024);
-+   Name_Buffer : String (1 .. 16 * 1024);
-    --  This buffer is used to set the name to be stored in the table for the
-    --  Name_Find call, and to retrieve the name for the Get_Name_String call.
-    --  The plus 1 in the length allows for cases of adding ASCII.NUL. The
diff --git a/gnat-glade/patches/patch-Dist_xe__parse.adb b/gnat-glade/patches/patch-Dist_xe__parse.adb
deleted file mode 100644
index 9a51d315d6..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__parse.adb
+++ /dev/null
@@ -1,53 +0,0 @@
-$NetBSD: patch-Dist_xe__parse.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Dist/xe_parse.adb.orig	2007-11-26 14:06:30.000000000 +0200
-+++ Dist/xe_parse.adb
-@@ -973,6 +973,7 @@
-       end if;
- 
-       --  Declare <X> as a formal parameter.
-+      pragma Warnings (Off, "modified by call");
- 
-       Declare_Subprogram_Parameter
-         (Parameter_Name,
-@@ -1007,6 +1008,7 @@
-          Function_Node,
-          Para_Type_Sloc,
-          Parameter_Node);
-+      pragma Warnings (On, "modified by call");
- 
-       T_Semicolon;
-    end P_Function_Declaration;
-@@ -1159,7 +1161,8 @@
-          --  of the predefined type Partition_Type_Node.
- 
-          if Partition_Node = Null_Variable or else
--           Get_Variable_Type (Partition_Node) /= Partition_Type_Node then
-+           Get_Variable_Type (Partition_Node) /= Partition_Type_Node
-+         then
-             Write_Conflict_Error (Partition_Sloc, Partition_Name);
-          end if;
- 
-@@ -1952,8 +1955,7 @@
- 
-             --  If Named, use Formal_Name to return format parameter node.
-             when Named =>
--               if Get_Node_Name
--                 (Node_Id (Parameter_Node)) = Formal_Name then
-+               if Get_Node_Name (Node_Id (Parameter_Node)) = Formal_Name then
-                   return;
-                end if;
- 
-@@ -2128,7 +2130,8 @@
-    begin
-       Search_Declaration (Variable_Name, Node);
-       if Node /= Null_Node  and then
--         not Is_Variable (Node) then
-+         not Is_Variable (Node)
-+      then
-          Node := Null_Node;
-       end if;
-       Variable_Node := Variable_Id (Node);
diff --git a/gnat-glade/patches/patch-Dist_xe__scan.adb b/gnat-glade/patches/patch-Dist_xe__scan.adb
deleted file mode 100644
index 07437bd2e7..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__scan.adb
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-Dist_xe__scan.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Dist/xe_scan.adb.orig	2007-11-26 14:06:30.000000000 +0200
-+++ Dist/xe_scan.adb
-@@ -214,7 +214,8 @@
-                      if Buffer (Scan_Ptr) = LF or else
-                         Buffer (Scan_Ptr) = FF or else
-                         Buffer (Scan_Ptr) = CR or else
--                        Buffer (Scan_Ptr) = VT then
-+                        Buffer (Scan_Ptr) = VT
-+                     then
-                         New_Line;
-                         exit;
-                      elsif Buffer (Scan_Ptr) = EOF then
-@@ -426,8 +427,6 @@
-    procedure Write_Location
-      (Where   : Location_Type) is
- 
--      use ASCII;
--
-    begin
-       Write_Name (Configuration_File_Name);
-       Write_Str (":");
diff --git a/gnat-glade/patches/patch-Dist_xe__stdcnf.adb b/gnat-glade/patches/patch-Dist_xe__stdcnf.adb
deleted file mode 100644
index 2b57654896..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__stdcnf.adb
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-Dist_xe__stdcnf.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-
---- Dist/xe_stdcnf.adb.orig	2007-11-26 14:06:30.000000000 +0200
-+++ Dist/xe_stdcnf.adb
-@@ -161,6 +161,8 @@
-          Type_Sloc    => Null_Location,
-          Type_Node    => Host_Function_Type_Node);
- 
-+      pragma Warnings (Off, "modified by call");
-+
-       Declare_Type_Component
-         (Type_Node        => Host_Function_Type_Node,
-          Component_Name   => Id ("partition_name"),
-@@ -734,6 +736,8 @@
-          Null_Location,
-          Parameter_Node);
- 
-+      pragma Warnings (On, "modified by call");
-+
-    end Initialize;
- 
- end XE_Stdcnf;
diff --git a/gnat-glade/patches/patch-Dist_xe__usage.adb b/gnat-glade/patches/patch-Dist_xe__usage.adb
deleted file mode 100644
index 600b0de787..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__usage.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Dist_xe__usage.adb,v 1.0 2025/02/04 22:00:00 dkazankov Exp $
-
-Update version
-
---- Dist/xe_usage.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/xe_usage.adb
-@@ -29,7 +29,7 @@
- with XE_Flags; use XE_Flags;
- 
- procedure XE_Usage is
--   Version : constant String := "5.04w";
-+   Version : constant String := "6.0w";
-    Length  : Positive := Version'First;
- 
- begin
diff --git a/gnat-glade/patches/patch-Dist_xe__utils.adb b/gnat-glade/patches/patch-Dist_xe__utils.adb
deleted file mode 100644
index 9948006382..0000000000
--- a/gnat-glade/patches/patch-Dist_xe__utils.adb
+++ /dev/null
@@ -1,62 +0,0 @@
-$NetBSD: patch-Dist_xe__utils.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-Calculate gnat driver name by gnatdist name
-Also fix -cargs option passing
-https://github.com/reznikmm/garlic/commit/1bca5670b0f08ab8e3902441a46bc1c7a9fdf059
-
---- Dist/xe_utils.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Dist/xe_utils.adb
-@@ -24,6 +24,7 @@
- --                                                                          --
- ------------------------------------------------------------------------------
- 
-+with Ada.Directories;
- with Ada.Command_Line; use Ada.Command_Line;
- with XE_Defs;          use XE_Defs;
- with XE_Flags;         use XE_Flags;
-@@ -81,12 +82,14 @@
-       S3 : String := No_Str);
- 
-    type Sigint_Handler is access procedure;
-+   pragma Convention (C, Sigint_Handler);
- 
-    procedure Install_Int_Handler (Handler : Sigint_Handler);
-    pragma Import (C, Install_Int_Handler, "__gnat_install_int_handler");
-    --  Called by Gnatmake to install the SIGINT handler below
- 
-    procedure Sigint_Intercepted;
-+   pragma Convention (C, Sigint_Intercepted);
-    --  Called when the program is interrupted by Ctrl-C to delete the
-    --  temporary mapping files and configuration pragmas files.
- 
-@@ -501,6 +504,11 @@
-    ----------------
- 
-    procedure Initialize is
-+      Command : constant String := Ada.Directories.Base_Name
-+        (Ada.Command_Line.Command_Name);
-+      GNAT    : constant String :=
-+        Command (Command'First .. Command'Last - 4);
-+      --  calculate `[target-]gnat` driver name by gnatdist exe name
-    begin
-       XE_Names.Initialize;
-       Set_Space_Increment (3);
-@@ -550,7 +558,7 @@
- 
-       Create_Dir (Stub_Dir_Name);
- 
--      GNAT_Driver := Locate ("gnat");
-+      GNAT_Driver := Locate (GNAT);
-    end Initialize;
- 
-    ----------
-@@ -818,6 +826,7 @@
- 
-       if Program_Args = Binder
-         or else Program_Args = Linker
-+        or else Program_Args = Compiler
-       then
-          Add_Make_Switch (Argv);
-          return;
diff --git a/gnat-glade/patches/patch-Examples_MultiPro_s-gaprxy.adb b/gnat-glade/patches/patch-Examples_MultiPro_s-gaprxy.adb
deleted file mode 100644
index a163561be0..0000000000
--- a/gnat-glade/patches/patch-Examples_MultiPro_s-gaprxy.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Examples_MultiPro_s-gaprxy.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation warnings for GCC 13
-https://github.com/reznikmm/garlic/commit/cd21e825da1a73bd853054ea19eae6a5437fb5e4
-
---- Examples/MultiPro/s-gaprxy.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Examples/MultiPro/s-gaprxy.adb
-@@ -43,7 +43,6 @@
- with System.Garlic.Partitions;            use System.Garlic.Partitions;
- with System.Garlic.Physical_Location;     use System.Garlic.Physical_Location;
- with System.Garlic.Platform_Specific;
--with System.Garlic.Protocols;             use System.Garlic.Protocols;
- with System.Garlic.Soft_Links;
- with System.Garlic.Streams;               use System.Garlic.Streams;
- with System.Garlic.Table;
diff --git a/gnat-glade/patches/patch-Garlic_Makefile.in b/gnat-glade/patches/patch-Garlic_Makefile.in
deleted file mode 100644
index 4553fec1b8..0000000000
--- a/gnat-glade/patches/patch-Garlic_Makefile.in
+++ /dev/null
@@ -1,242 +0,0 @@
-$NetBSD: patch-Garlic_Makefile.in,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Remove duplicate spec
-Remove "old" stream attributes implementation
-Remove unsupported Shared_Passive specification
-Make install aware of DESTDIR
-Copy project file to lib/gnat
-Remove all "inlining" staff
-
---- Garlic/Makefile.in.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/Makefile.in
-@@ -187,7 +187,6 @@
- $(srcdir)/s-gptcse.ads $(srcdir)/s-gptcse.adb
- 
- COMMONOBJECTS = \
--s-dsaser.o\
- s-galiop.o\
- s-ganata.o\
- s-ganeut.o\
-@@ -229,18 +228,16 @@
- s-rpc.o\
- s-rpcser.o\
- s-rpstio.o\
--s-shasto.o\
--s-stratt.o
-+s-shasto.o
- 
- COMMONSOURCES = \
--$(srcdir)/s-dsaser.ads                        \
--          s-galiop.ads                        \
-+$(srcdir)/s-galiop.ads                        \
- $(srcdir)/s-ganata.ads $(srcdir)/s-ganata.adb \
- $(srcdir)/s-ganeut.ads $(srcdir)/s-ganeut.adb \
- $(srcdir)/s-ganota.ads $(srcdir)/s-ganota.adb \
- $(srcdir)/s-gaphlo.ads $(srcdir)/s-gaphlo.adb \
--          s-gaplsp.ads                        \
--$(srcdir)/s-gaprco.ads           s-gaprco.adb \
-+$(srcdir)/s-gaplsp.ads                        \
-+$(srcdir)/s-gaprco.ads $(srcdir)/s-gaprco.adb \
- $(srcdir)/s-gaprre.ads $(srcdir)/s-gaprre.adb \
- $(srcdir)/s-gardeb.ads $(srcdir)/s-gardeb.adb \
- $(srcdir)/s-garexc.ads $(srcdir)/s-garexc.adb \
-@@ -253,7 +250,7 @@
- $(srcdir)/s-garpri.ads $(srcdir)/s-garpri.adb \
- $(srcdir)/s-gaprma.ads $(srcdir)/s-gaprma.adb \
- $(srcdir)/s-garpro.ads $(srcdir)/s-garpro.adb \
--$(srcdir)/s-garrem.ads           s-garrem.adb \
-+$(srcdir)/s-garrem.ads $(srcdir)/s-garrem.adb \
- $(srcdir)/s-garsta.ads $(srcdir)/s-garsta.adb \
- $(srcdir)/s-garstr.ads $(srcdir)/s-garstr.adb \
- $(srcdir)/s-gartas.ads $(srcdir)/s-gartas.adb \
-@@ -275,8 +272,7 @@
- $(srcdir)/s-rpc.ads    $(srcdir)/s-rpc.adb    \
- $(srcdir)/s-rpcser.ads $(srcdir)/s-rpcser.adb \
- $(srcdir)/s-rpstio.ads $(srcdir)/s-rpstio.adb \
--$(srcdir)/s-shasto.ads $(srcdir)/s-shasto.adb \
--$(srcdir)/s-stratt.adb
-+                       $(srcdir)/s-shasto.adb
- 
- OBJECTS = \
- $(PROTOCOLSOBJECTS) \
-@@ -286,7 +282,7 @@
- SOURCES = $(PROTOCOLSSOURCES) $(FILTERSSOURCES) $(COMMONSOURCES)
- CLEANFILES = lib*.a *.ali *.o b_*.c b~*.ad[bs]\
- 	s-gaprco.adb s-galiop.ads\
--	inlining gnatlib/* constants_nodef\
-+	gnatlib/* constants_nodef\
- 	isthrbio$(EXEEXT)\
- 	$(FILTERSOBJECTS)
- 
-@@ -501,39 +497,14 @@
- 	-rm -fr bldtool
- 
- install-dirs-local:
--	-rm -rf $(GARLIC)
--	-$(mkinstalldirs) $(GARLIC)
--	@echo $(GARLIC) created
--
--inlining: all-local
--	rm -rf gnatlib >/dev/null 2>&1;\
--	mkdir gnatlib >/dev/null 2>&1;\
--	gnatlibdir=`$(srcdir)/../Dist/config.sdefault $(GNAT_RTS_FLAG)`;\
--	(cd $$gnatlibdir && grep -l "D s-stratt.adb" *.ali)\
--	| $(SED) 's,\.ali$$,.o,' > gnatlib/tocheck;\
--	for i in $(OBJECTS); do\
--	   echo "Checking $$i";\
--	   mv gnatlib/tocheck gnatlib/tocheck.tmp;\
--	   grep -v $$i gnatlib/tocheck.tmp > gnatlib/tocheck;\
--	done;\
--	for o in `cat gnatlib/tocheck`; do\
--	   if [ ! -f gnatlib/$$o ]; then\
--	       s=`gnatls -a -s $$o | sed 's/\013//g'`;\
--	       (cd gnatlib;\
--	        $(GNAT_FOR_TARGET) $(COMPILE) $(GNATFLAGS) -I. -I.. -I- \
--	          $$s;\
--	        if test $$? = 0; then\
--	           echo $$o >>rebuild;\
--	        else\
--	           $(RM) -f tocheck;\
--	           break;\
--	        fi;\
--	       );\
--	   fi;\
--	done;\
--	$(CP) $(CP_PRESERVE) s-stratt.o s-stratt.ali gnatlib
--	echo s-stratt.o >>gnatlib/rebuild;\
--	echo yes > inlining
-+	-rm -rf $(DESTDIR)$(GARLIC)
-+	-$(mkinstalldirs) $(DESTDIR)$(GARLIC)
-+	@echo $(DESTDIR)$(GARLIC) created
-+	-rm -rf $(DESTDIR)$(includedir)/garlic
-+	-$(mkinstalldirs) $(DESTDIR)$(includedir)/garlic
-+	@echo $(DESTDIR)$(includedir)/garlic created
-+	-$(mkinstalldirs) $(DESTDIR)$(libdir)/gnat
-+	@echo $(DESTDIR)$(libdir)/gnat created
- 
- linktest: $(srcdir)/linktest.adb $(OBJECTS)
- 	$(GNAT_FOR_HOST) -c -a -m $(GNATFLAGS) -I$(srcdir) -I. \
-@@ -541,47 +512,24 @@
- 	$(GNAT_FOR_HOST) -b -a -m $(GNATFLAGS) -I$(srcdir) -I. \
- 	  $(srcdir)/linktest.adb
- 
--install-extra-libs: $(FILTERSEXTRALIBS) inlining install-dirs-local
-+install-extra-libs: $(FILTERSEXTRALIBS) all-local install-dirs-local
- 
- install-data-local: all-local install-dirs-local install-extra-libs 
--	if test ! -f inlining; then\
--	   exit 1;\
--	fi
--	@-for lib in libgnat.a libgnarl.a libAtasking.a libPtasking.a; do \
--	  pathtolib=`$(srcdir)/../Dist/config.sdefault $(GNAT_RTS_FLAG)`;\
--	  if test -f $$pathtolib$$lib; then \
--	    $(CP) $$pathtolib$$lib $(GARLIC)/$$lib;\
--	    chmod u+w $(GARLIC)/$$lib;\
--	    $(AR) d $(GARLIC)/$$lib s-rpc.o \
--	                            s-shasto.o \
--	                            s-parint.o 2>/dev/null;\
--	    if test `cat inlining` = "yes"; then\
--	      (cd gnatlib;\
--	       for o in `cat rebuild`; do \
--		 $(AR) d $(GARLIC)/$$lib $$o 2>/dev/null;\
--		 if test $$? = 0; then \
--		   $(AR) cq $(GARLIC)/$$lib $$o;\
--	           echo Replace inlined $$o in $$lib;\
--	         fi;\
--	       done);\
--	    fi;\
--	    $(RANLIB) $(GARLIC)/$$lib;\
-+	@for i in $(SOURCES); do\
-+		if test -f $$i; then\
-+			$(CP) $(CP_PRESERVE) $$i $(DESTDIR)$(includedir)/garlic/;\
- 	  fi;\
- 	done
--	@if test `cat inlining` = "yes"; then\
--	  (cd gnatlib;\
--	   $(CP) $(CP_PRESERVE) `$(SED) 's/\.o/.ali/g' rebuild` $(GARLIC));\
--	fi
--	@for i in $(SOURCES)\
--		`echo $(OBJECTS) | $(SED) -e 's/\.o/.ali/g'`; do\
-+	@for i in `echo $(OBJECTS) | $(SED) -e 's/\.o/.ali/g'`; do\
- 		if test -f $$i; then\
--			$(CP) $(CP_PRESERVE) $$i $(GARLIC)/;\
-+			$(CP) $(CP_PRESERVE) $$i $(DESTDIR)$(GARLIC)/;\
- 		fi;\
- 	done
--	$(AR) cq $(GARLIC)/libgarlic.a $(subst s-stratt.o,,$(OBJECTS))
--	$(RANLIB) $(GARLIC)/libgarlic.a
--	chmod a+r $(GARLIC)/*
--	chmod a-w $(GARLIC)/*
-+	$(CP) $(CP_PRESERVE) garlic.gpr $(DESTDIR)$(libdir)/gnat/
-+	$(AR) cq $(DESTDIR)$(GARLIC)/libgarlic.a $(OBJECTS)
-+	$(RANLIB) $(DESTDIR)$(GARLIC)/libgarlic.a
-+	chmod a+r $(DESTDIR)$(GARLIC)/*
-+	chmod a-w $(DESTDIR)$(GARLIC)/*
- 
- # Dependencies
- 
-@@ -597,10 +545,9 @@
- ### dependencies or to use the "fast" target.
- ###
- ### DO NOT REMOVE THIS LINE, IT IS USED BY MAKEDEPEND ###
--s-dsaser.o: s-dsaser.ads s-garlic.ads s-gardeb.ads s-garexc.ads s-gasoli.ads s-gastha.ads s-garstr.ads s-gartyp.ads s-garuni.ads s-parint.ads s-rpc.ads
- s-gafizi.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-gafizi.ads s-gafizi.adb s-garhea.ads s-garpro.ads s-gasoli.ads s-gastha.ads s-garstr.ads s-gartyp.ads
- s-galiop.o: s-garlic.ads s-galiop.ads
--s-ganata.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-ganata.ads s-ganata.adb s-gasoli.ads s-gasoli.adb s-gartab.ads s-gartab.adb s-gartyp.ads s-garuti.ads s-stratt.adb
-+s-ganata.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-ganata.ads s-ganata.adb s-gasoli.ads s-gasoli.adb s-gartab.ads s-gartab.adb s-gartyp.ads s-garuti.ads
- s-ganeut.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-ganeut.ads s-ganeut.adb s-gasoli.ads s-gartyp.ads
- s-ganota.o: s-garlic.ads s-garexc.ads s-ganota.ads s-ganota.adb s-garpro.ads s-gasoli.ads s-gartyp.ads
- s-gaphlo.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-gaphlo.ads s-gaphlo.adb s-garpro.ads s-gasoli.ads s-gartyp.ads s-garuti.ads
-@@ -612,38 +559,37 @@
- s-gardeb.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-gasoli.ads s-gartyp.ads
- s-garela.o: s-garlic.ads s-garela.ads s-garela.adb s-garopt.ads s-gasoli.ads s-gartas.ads s-gartyp.ads
- s-garexc.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garexc.adb s-gasoli.ads s-gartyp.ads
--s-garfil.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-garfil.adb s-garhea.ads s-ganata.ads s-ganata.adb s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garstr.ads s-garstr.adb s-gartab.ads s-gartab.adb s-gartyp.ads s-garuti.ads s-stratt.adb
--s-gargro.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-gargro.ads s-gargro.adb s-garhea.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garstr.ads s-garstr.adb s-gartyp.ads s-stratt.adb
-+s-garfil.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-garfil.adb s-garhea.ads s-ganata.ads s-ganata.adb s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garstr.ads s-garstr.adb s-gartab.ads s-gartab.adb s-gartyp.ads s-garuti.ads
-+s-gargro.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-gargro.ads s-gargro.adb s-garhea.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garstr.ads s-garstr.adb s-gartyp.ads
- s-garhea.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-gargro.ads s-garhea.ads s-garhea.adb s-galiop.ads s-garopt.ads s-garpar.ads s-garpar.adb s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garsto.ads s-garstr.ads s-garstr.adb s-gartab.ads s-gartra.ads s-gartyp.ads s-garuti.ads
- s-garlic.o: s-garlic.ads
- s-garopt.o: s-garlic.ads s-garopt.ads s-garopt.adb s-gaplsp.ads s-gartyp.ads s-garuti.ads
--s-garpar.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-gargro.ads s-garhea.ads s-ganata.ads s-garopt.ads s-garpar.ads s-garpar.adb s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garstr.ads s-gartab.ads s-gartab.adb s-gartyp.ads s-garuti.ads s-stratt.adb
-+s-garpar.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-gargro.ads s-garhea.ads s-ganata.ads s-garopt.ads s-garpar.ads s-garpar.adb s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garstr.ads s-gartab.ads s-gartab.adb s-gartyp.ads s-garuti.ads
- s-garpri.o: s-garlic.ads s-garpri.ads s-garpri.adb
- s-garpro.o: s-garlic.ads s-garexc.ads s-garpro.ads s-garpro.adb s-gartyp.ads
- s-garrem.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-garrem.ads s-garrem.adb s-gasoli.ads s-gastha.ads s-garstr.ads s-gartyp.ads s-garuti.ads
- s-garsta.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garela.ads s-garexc.ads s-garexc.adb s-garfil.ads s-gargro.ads s-garhea.ads s-ganata.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gaprco.ads s-garrem.ads s-gasoli.ads s-garsta.ads s-garsta.adb s-gastha.ads s-garsto.ads s-gastco.ads s-garstr.ads s-garter.ads s-gartra.ads s-gartyp.ads s-garuni.ads s-garuti.ads
- s-garsto.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garpar.ads s-gaphlo.ads s-gaplsp.ads s-garpro.ads s-gasoli.ads s-gastha.ads s-garsto.ads s-garsto.adb s-garstr.ads s-gartyp.ads s-garuni.ads
--s-garstr.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-gasoli.ads s-gasoli.adb s-gastha.ads s-gastha.adb s-garstr.ads s-garstr.adb s-gartyp.ads s-stratt.adb
-+s-garstr.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-gasoli.ads s-gasoli.adb s-gastha.ads s-gastha.adb s-garstr.ads s-garstr.adb s-gartyp.ads
- s-gartab.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-ganata.ads s-gasoli.ads s-gartab.ads s-gartab.adb s-gartyp.ads
--s-gartas.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-gasoli.ads s-gartas.ads s-gartas.adb s-gartyp.ads s-stratt.adb
--s-garter.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garela.ads s-garexc.ads s-garfil.ads s-garhea.ads s-garhea.adb s-galiop.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garsto.ads s-garstr.ads s-garstr.adb s-garter.ads s-garter.adb s-gartra.ads s-gartyp.ads s-garuti.ads s-stratt.adb
--s-gartra.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garopt.ads s-gasoli.ads s-gastha.ads s-garstr.ads s-gartra.ads s-gartra.adb s-gartyp.ads s-stratt.adb
-+s-gartas.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-gasoli.ads s-gartas.ads s-gartas.adb s-gartyp.ads
-+s-garter.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garela.ads s-garexc.ads s-garfil.ads s-garhea.ads s-garhea.adb s-galiop.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garsto.ads s-garstr.ads s-garstr.adb s-garter.ads s-garter.adb s-gartra.ads s-gartyp.ads s-garuti.ads
-+s-gartra.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garopt.ads s-gasoli.ads s-gastha.ads s-garstr.ads s-gartra.ads s-gartra.adb s-gartyp.ads
- s-gartyp.o: s-garlic.ads s-gartyp.ads s-gartyp.adb
--s-garuni.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-gargro.ads s-garhea.ads s-garhea.adb s-galiop.ads s-ganata.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garsto.ads s-garstr.ads s-garstr.adb s-gartab.ads s-gartab.adb s-gartra.ads s-gartyp.ads s-garuni.ads s-garuni.adb s-garuti.ads s-stratt.adb
-+s-garuni.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-gargro.ads s-garhea.ads s-garhea.adb s-galiop.ads s-ganata.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garsto.ads s-garstr.ads s-garstr.adb s-gartab.ads s-gartab.adb s-gartra.ads s-gartyp.ads s-garuni.ads s-garuni.adb s-garuti.ads
- s-garuti.o: s-garlic.ads s-garuti.ads s-garuti.adb
--s-gasoli.o: s-garlic.ads s-gasoli.ads s-gasoli.adb s-gartyp.ads s-stratt.adb
-+s-gasoli.o: s-garlic.ads s-gasoli.ads s-gasoli.adb s-gartyp.ads
- s-gastco.o: s-garlic.ads s-garexc.ads s-garsto.ads s-gastco.ads s-gastco.adb s-gartyp.ads
- s-gastdf.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garopt.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-garsto.ads s-gastdf.ads s-gastdf.adb s-gartyp.ads
--s-gastds.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garexc.adb s-garhea.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garsto.ads s-gastds.ads s-gastds.adb s-garstr.ads s-gartyp.ads s-garuni.ads s-stratt.adb
-+s-gastds.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garexc.adb s-garhea.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-gastha.ads s-garsto.ads s-gastds.ads s-gastds.adb s-garstr.ads s-gartyp.ads s-garuni.ads
- s-gastha.o: s-garlic.ads s-gasoli.ads s-gastha.ads s-gastha.adb s-gartyp.ads
- s-gprese.o: s-garlic.ads s-garexc.ads s-garpro.ads s-gaprre.ads s-gprese.ads s-gartyp.ads
- s-gptcse.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garpro.ads s-gaprtc.ads s-gptcse.ads s-gptcse.adb s-gasoli.ads s-gartyp.ads
--s-parint.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garhea.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-garsta.ads s-gastha.ads s-garsto.ads s-garstr.ads s-gartyp.ads s-garuni.ads s-garuti.ads s-garuti.adb s-parint.ads s-parint.adb s-rpc.ads s-stratt.adb
--s-rpc.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-garhea.ads s-garhea.adb s-galiop.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpri.ads s-gaprma.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-garsta.ads s-gastha.ads s-garsto.ads s-garstr.ads s-garstr.adb s-gartra.ads s-gartyp.ads s-garuni.ads s-garuti.ads s-rpc.ads s-rpc.adb s-stratt.adb
--s-rpcser.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garhea.ads s-garopt.ads s-gaplsp.ads s-garpri.ads s-gaprma.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-garsta.ads s-gastha.ads s-garstr.ads s-garstr.adb s-gartas.ads s-gartyp.ads s-garuni.ads s-parint.ads s-rpc.ads s-rpcser.ads s-rpcser.adb s-stratt.adb
-+s-parint.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garhea.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpro.ads s-gasoli.ads s-garsta.ads s-gastha.ads s-garsto.ads s-garstr.ads s-gartyp.ads s-garuni.ads s-garuti.ads s-garuti.adb s-parint.ads s-parint.adb s-rpc.ads
-+s-rpc.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garfil.ads s-garhea.ads s-garhea.adb s-galiop.ads s-garopt.ads s-garpar.ads s-gaphlo.ads s-garpri.ads s-gaprma.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-garsta.ads s-gastha.ads s-garsto.ads s-garstr.ads s-garstr.adb s-gartra.ads s-gartyp.ads s-garuni.ads s-garuti.ads s-rpc.ads s-rpc.adb
-+s-rpcser.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garhea.ads s-garopt.ads s-gaplsp.ads s-garpri.ads s-gaprma.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-garsta.ads s-gastha.ads s-garstr.ads s-garstr.adb s-gartas.ads s-gartyp.ads s-garuni.ads s-parint.ads s-rpc.ads s-rpcser.ads s-rpcser.adb
- s-rpstio.o: s-garlic.ads s-gardeb.ads s-gardeb.adb s-garexc.ads s-garhea.ads s-ganata.ads s-garpro.ads s-gasoli.ads s-gasoli.adb s-garsta.ads s-gastha.ads s-garstr.ads s-garstr.adb s-gartab.ads s-gartab.adb s-gartyp.ads s-rpc.ads s-rpstio.ads s-rpstio.adb
--s-shasto.o: s-garlic.ads s-gardeb.ads s-garexc.ads s-garexc.adb s-garsto.ads s-gartyp.ads s-shasto.ads s-shasto.adb
--s-stratt.o: s-stratt.adb
-+s-shasto.o: s-garlic.ads s-gardeb.ads s-garexc.ads s-garexc.adb s-garsto.ads s-gartyp.ads s-shasto.adb
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
diff --git a/gnat-glade/patches/patch-Garlic_garlic.gpr b/gnat-glade/patches/patch-Garlic_garlic.gpr
deleted file mode 100644
index 7169965283..0000000000
--- a/gnat-glade/patches/patch-Garlic_garlic.gpr
+++ /dev/null
@@ -1,44 +0,0 @@
-$NetBSD: patch-Garlic_garlic.gpr,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Provide project file for gnatmake
-
---- /dev/null
-+++ Garlic/garlic.gpr
-@@ -0,0 +1,37 @@
-+library project Garlic is
-+
-+   for Languages use ("Ada");
-+
-+   for Source_Dirs use ("../../include/garlic");
-+   for Library_Dir  use "../../lib/garlic";
-+   for Library_Kind use "static";
-+
-+   for Library_Name use "garlic";
-+
-+   package Naming is
-+      for dot_replacement use "-";
-+      for casing use "lowercase";
-+      for body_suffix ("ada") use ".adb";
-+      for spec_suffix ("ada") use ".ads";
-+   end Naming;
-+
-+   package Install is
-+      for Active use "False";
-+   end Install;
-+
-+   for Externally_Built use "True";
-+
-+   type Platforms is ("Posix", "Windows_NT");
-+
-+   type Library_Kind is ("static", "static-pic", "relocatable");
-+
-+   type Garlic_Build_Kind is ("dev", "prod");
-+
-+   Ada_Switches := ("-O2", "-g", "-gnatg");
-+   Common_Dir := "../Garlic";
-+   Platform_Dir := "../Garlic/platform/e";
-+   Platform : Platforms := "Posix";
-+   Library_Type : Library_Kind := "static";
-+   Build_Mode : Garlic_Build_Kind := "prod";
-+
-+end Garlic;
diff --git a/gnat-glade/patches/patch-Garlic_isthrbio.adb b/gnat-glade/patches/patch-Garlic_isthrbio.adb
deleted file mode 100644
index 4ade7f8fd8..0000000000
--- a/gnat-glade/patches/patch-Garlic_isthrbio.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_isthrbio.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix link time version warning
-
---- Garlic/isthrbio.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/isthrbio.adb
-@@ -65,7 +65,7 @@
-       Exceptfds : Fd_Set_Access;
-       Timeout   : Timeval_Access)
-      return int;
--   pragma Import (C, C_Select, "select");
-+   pragma Import (C, C_Select, "__netbsd_select");
- 
-    task A_Task is
-       entry Start;
diff --git a/gnat-glade/patches/patch-Garlic_isthrbio.gpr b/gnat-glade/patches/patch-Garlic_isthrbio.gpr
deleted file mode 100644
index 51d74433b0..0000000000
--- a/gnat-glade/patches/patch-Garlic_isthrbio.gpr
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-Garlic_isthrbio.gpr,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Make project to fix link time version warning
-
---- /dev/null
-+++ Garlic/isthrbio.gpr
-@@ -0,0 +1,10 @@
-+project Isthrbio is
-+
-+   for Languages use ("C", "Ada");
-+
-+   for Exec_Dir use "../";
-+   for Source_Dirs use (".");
-+   for Main use ("isthrbio");
-+   for Source_Files use ("isthrbio.adb", "select.c");
-+
-+end Isthrbio;
diff --git a/gnat-glade/patches/patch-Garlic_s-dsaser.ads b/gnat-glade/patches/patch-Garlic_s-dsaser.ads
deleted file mode 100644
index c95f265b15..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-dsaser.ads
+++ /dev/null
@@ -1,63 +0,0 @@
-$NetBSD: patch-Garlic_s-stratt.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Remove duplicate specification
-
---- Garlic/s-dsaser.ads.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-dsaser.ads
-@@ -1,56 +0,0 @@
--------------------------------------------------------------------------------
----                                                                          --
----                            GLADE COMPONENTS                              --
----                                                                          --
----                   S Y S T E M . D S A _ S E R V I C E S                  --
----                                                                          --
----                                 S p e c                                  --
----                                                                          --
----             Copyright (C) 2006 Free Software Foundation, Inc.            --
----                                                                          --
---- GARLIC is free software;  you can redistribute it and/or modify it under --
---- terms of the  GNU General Public License  as published by the Free Soft- --
---- ware Foundation;  either version 2,  or (at your option)  any later ver- --
---- sion.  GARLIC is distributed  in the hope that  it will be  useful,  but --
---- WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHANTABI- --
---- LITY 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 GARLIC;  see file COPYING.  If  --
---- not, write to the Free Software Foundation, 59 Temple Place - Suite 330, --
---- Boston, MA 02111-1307, USA.                                              --
----                                                                          --
---- As a special exception,  if other files  instantiate  generics from this --
---- unit, or you link  this unit with other files  to produce an executable, --
---- this  unit  does not  by itself cause  the resulting  executable  to  be --
---- covered  by the  GNU  General  Public  License.  This exception does not --
---- however invalidate  any other reasons why  the executable file  might be --
---- covered by the  GNU Public License.                                      --
----                                                                          --
----               GLADE  is maintained by ACT Europe.                        --
----               (email: glade-report%act-europe.fr@localhost)                        --
----                                                                          --
--------------------------------------------------------------------------------
--
----  This package is used to call distributed system annex services, which
----  require the partition communication sub-system to be initialized.
--
--with System.Partition_Interface;
--with System.RPC;
--
--package System.DSA_Services is
--
--   function Get_Active_Partition_ID
--     (Name : Partition_Interface.Unit_Name) return RPC.Partition_ID
--     renames Partition_Interface.Get_Active_Partition_ID;
--   --  Returns the partition ID of the partition in which Name resides
--
--   function Get_Local_Partition_ID return RPC.Partition_ID
--     renames Partition_Interface.Get_Local_Partition_ID;
--   --  Return the Partition_ID of the current partition
--
--   function Get_Passive_Partition_ID
--     (Name : Partition_Interface.Unit_Name) return RPC.Partition_ID
--     renames Partition_Interface.Get_Passive_Partition_ID;
--   --  Return the Partition_ID of the given shared passive partition
--
--end System.DSA_Services;
diff --git a/gnat-glade/patches/patch-Garlic_s-gafizi.adb b/gnat-glade/patches/patch-Garlic_s-gafizi.adb
deleted file mode 100644
index 85af2ede5d..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gafizi.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-gafizi.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix som compilation warnings
-
---- Garlic/s-gafizi.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gafizi.adb
-@@ -33,8 +33,6 @@
- 
- with Ada.Streams;           use Ada.Streams;
- with Interfaces.C;
--with System.Garlic.Filters;
--pragma Warnings (Off, System.Garlic.Filters);
- with System.Garlic.Debug; use System.Garlic.Debug;
- with System.Garlic.Streams; use System.Garlic.Streams;
- 
diff --git a/gnat-glade/patches/patch-Garlic_s-gaprre.adb b/gnat-glade/patches/patch-Garlic_s-gaprre.adb
deleted file mode 100644
index fe9eeac8ce..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gaprre.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-gaprre.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation warnings for GCC 13
-https://github.com/reznikmm/garlic/commit/cd21e825da1a73bd853054ea19eae6a5437fb5e4
-
---- Garlic/s-gaprre.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gaprre.adb
-@@ -41,7 +41,6 @@
- with System.Garlic.Heart;             use System.Garlic.Heart;
- with System.Garlic.Options;           use System.Garlic.Options;
- with System.Garlic.Physical_Location; use System.Garlic.Physical_Location;
--with System.Garlic.Protocols;         use System.Garlic.Protocols;
- with System.Garlic.Streams;           use System.Garlic.Streams;
- with System.Garlic.Trace;             use System.Garlic.Trace;
- with System.Garlic.Types;             use System.Garlic.Types;
diff --git a/gnat-glade/patches/patch-Garlic_s-gaprre.ads b/gnat-glade/patches/patch-Garlic_s-gaprre.ads
deleted file mode 100644
index d80950978f..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gaprre.ads
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-gaprre.ads,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation warnings for GCC 13
-https://github.com/reznikmm/garlic/commit/cd21e825da1a73bd853054ea19eae6a5437fb5e4
-
---- Garlic/s-gaprre.ads.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gaprre.ads
-@@ -36,7 +36,6 @@
- with GNAT.Strings;
- 
- with System.Garlic.Exceptions;
--with System.Garlic.Protocols;
- with System.Garlic.Types;
- 
- package System.Garlic.Protocols.Replay is
diff --git a/gnat-glade/patches/patch-Garlic_s-gaprtc.adb b/gnat-glade/patches/patch-Garlic_s-gaprtc.adb
deleted file mode 100644
index 9f2b6742e9..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gaprtc.adb
+++ /dev/null
@@ -1,49 +0,0 @@
-$NetBSD: patch-Garlic_s-gaprtc.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-Fix compilation warnings for GCC 13
-https://github.com/reznikmm/garlic/commit/cd21e825da1a73bd853054ea19eae6a5437fb5e4
-
-
---- Garlic/s-gaprtc.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gaprtc.adb
-@@ -43,7 +43,6 @@
- with System.Garlic.Partitions;            use System.Garlic.Partitions;
- with System.Garlic.Physical_Location;     use System.Garlic.Physical_Location;
- with System.Garlic.Platform_Specific;
--with System.Garlic.Protocols;             use System.Garlic.Protocols;
- with System.Garlic.Soft_Links;
- with System.Garlic.Streams;               use System.Garlic.Streams;
- with System.Garlic.Table;
-@@ -58,7 +57,7 @@
-       Key     : Debug_Key := Private_Debug_Key)
-      renames Print_Debug_Info;
- 
--   use Ada.Streams, System.Garlic.Protocols, System.Garlic.Types;
-+   use Ada.Streams, System.Garlic.Types;
- 
-    subtype Error_Type is Exceptions.Error_Type;
- 
-@@ -168,7 +167,6 @@
-       Data  : access Stream_Element_Array;
-       From  : Stream_Element_Count;
-       Error : in out Error_Type);
--   pragma Inline (Send);
-    pragma Export (Ada, Send, "GLADE_Physical_Send");
-    --  Receive and send data. Receive loops as long as Data has not
-    --  been filled and Send as long as everything has not
-@@ -320,12 +318,11 @@
- 
-    function Do_Connect (Sock_Addr : Sock_Addr_Type) return Socket_Type is
-       Peer : Socket_Type    := No_Socket;
--      Addr : Sock_Addr_Type := Sock_Addr;
- 
-    begin
-       begin
-          Create_Socket (Peer);
--         Connect_Socket (Peer, Addr);
-+         Connect_Socket (Peer, Sock_Addr);
-       exception when Socket_Error =>
-          pragma Debug (D ("Cannot connect to " & Image (Sock_Addr)));
-          if Peer /= No_Socket then
diff --git a/gnat-glade/patches/patch-Garlic_s-garexc.adb b/gnat-glade/patches/patch-Garlic_s-garexc.adb
deleted file mode 100644
index 5436035db7..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-garexc.adb
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Garlic_s-garexc.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation warning
-https://github.com/reznikmm/garlic/commit/4d16e8caddbcc83f6d37e14d657a6c8515466cc7
-
---- Garlic/s-garexc.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-garexc.adb
-@@ -113,8 +113,6 @@
-    procedure Raise_With_Errno (Id : Exception_Id) is
-    begin
-       Raise_Exception (Id, "Error" & Integer'Image (Errno));
--      --  Next line will never be called, just to avoid GNAT warnings
--      Raise_With_Errno (Id);
-    end Raise_With_Errno;
- 
-    -----------
diff --git a/gnat-glade/patches/patch-Garlic_s-garsto.adb b/gnat-glade/patches/patch-Garlic_s-garsto.adb
deleted file mode 100644
index 7e2e2ba7d6..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-garsto.adb
+++ /dev/null
@@ -1,64 +0,0 @@
-$NetBSD: patch-Garlic_s-garsto.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Get rid of Getenv
-https://github.com/reznikmm/garlic/commit/4d16e8caddbcc83f6d37e14d657a6c8515466cc7
-
---- Garlic/s-garsto.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-garsto.adb
-@@ -33,8 +33,7 @@
- 
- with Ada.Streams;    use Ada.Streams;
- 
--with GNAT.HTable;
--with GNAT.OS_Lib;
-+with System.HTable;
- with GNAT.Strings; use GNAT.Strings;
- 
- with System.Garlic.Debug;      use System.Garlic.Debug;
-@@ -59,12 +58,10 @@
-       Key     : Debug_Key := Private_Debug_Key)
-      renames Print_Debug_Info;
- 
--   package OS  renames GNAT.OS_Lib;
--
-    subtype Hash_Header is Natural range 0 .. 30;
- 
--   function Hash  (F : OS.String_Access)      return Hash_Header;
--   function Equal (F1, F2 : OS.String_Access) return Boolean;
-+   function Hash  (F : String_Access)      return Hash_Header;
-+   function Equal (F1, F2 : String_Access) return Boolean;
-    --  Hash and equality functions for hash table
- 
-    function Extract_Pkg_Name (Var_Name : String) return String;
-@@ -88,11 +85,11 @@
-    Max_Storages  : constant := 10;
-    Storage_Table : array (First_Storage .. Max_Storages) of Shared_Data_Access;
- 
--   package SST is new GNAT.HTable.Simple_HTable
-+   package SST is new System.HTable.Simple_HTable
-      (Header_Num => Hash_Header,
-       Element    => Shared_Data_Access,
-       No_Element => null,
--      Key        => OS.String_Access,
-+      Key        => String_Access,
-       Hash       => Hash,
-       Equal      => Equal);
- 
-@@ -100,7 +97,7 @@
-    -- Equal --
-    -----------
- 
--   function Equal (F1, F2 : OS.String_Access) return Boolean is
-+   function Equal (F1, F2 : String_Access) return Boolean is
-    begin
-       return F1.all = F2.all;
-    end Equal;
-@@ -123,7 +120,7 @@
-    -- Hash --
-    ----------
- 
--   function Hash (F : OS.String_Access) return Hash_Header is
-+   function Hash (F : String_Access) return Hash_Header is
-       N : Natural := 0;
- 
-    begin
diff --git a/gnat-glade/patches/patch-Garlic_s-garstr.ads b/gnat-glade/patches/patch-Garlic_s-garstr.ads
deleted file mode 100644
index bc0d7d7926..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-garstr.ads
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-Garlic_s-garstr.ads,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Garlic/s-garstr.ads.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-garstr.ads
-@@ -48,10 +48,10 @@
-    type Node_Ptr is access Node;
- 
-    type Node (Size : Ada.Streams.Stream_Element_Count) is record
--      Content : Ada.Streams.Stream_Element_Array (1 .. Size);
-       Current : Ada.Streams.Stream_Element_Offset := 1;
-       Last    : Ada.Streams.Stream_Element_Offset := 1;
-       Next    : Node_Ptr;
-+      Content : Ada.Streams.Stream_Element_Array (1 .. Size);
-    end record;
- 
-    type Params_Stream_Type (Initial_Size : Ada.Streams.Stream_Element_Count) is
diff --git a/gnat-glade/patches/patch-Garlic_s-gartab.adb b/gnat-glade/patches/patch-Garlic_s-gartab.adb
deleted file mode 100644
index e68576f48b..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gartab.adb
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Garlic_s-gartab.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Garlic/s-gartab.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gartab.adb
-@@ -209,7 +209,7 @@
-             Index := Allocate;
-             Table (Index) := Null_Component;
-             Usage (Index).Name := Name;
--            Set_Info (Name, Integer (Integer (Index)));
-+            Set_Info (Name, Integer (Index));
-          else
-             Index := Index_Type (Info);
-          end if;
diff --git a/gnat-glade/patches/patch-Garlic_s-gartas.adb b/gnat-glade/patches/patch-Garlic_s-gartas.adb
deleted file mode 100644
index ce6039212a..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gartas.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-gartas.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation warnings for GCC 13
-https://github.com/reznikmm/garlic/commit/cd21e825da1a73bd853054ea19eae6a5437fb5e4
-
---- Garlic/s-gartas.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gartas.adb
-@@ -35,7 +35,6 @@
- with Ada.Dynamic_Priorities;
- --  with Ada.Task_Attributes;
- 
--with System;                     use System;
- with System.Garlic.Debug;        use System.Garlic.Debug;
- with System.Garlic.Soft_Links;   use System.Garlic.Soft_Links;
- with System.Garlic.Types;        use System.Garlic.Types;
diff --git a/gnat-glade/patches/patch-Garlic_s-garuni.adb b/gnat-glade/patches/patch-Garlic_s-garuni.adb
deleted file mode 100644
index 47577d9d37..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-garuni.adb
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Garlic_s-garuni.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Garlic/s-garuni.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-garuni.adb
-@@ -543,7 +543,7 @@
-          end if;
- 
-          pragma Debug
--           (D ("Looking for information on unit "&  Units.Get_Name (Unit)));
-+           (D ("Looking for information on unit " & Units.Get_Name (Unit)));
- 
-          Units.Enter;
-          Current := Units.Get_Component (Unit);
diff --git a/gnat-glade/patches/patch-Garlic_s-gastdf.adb b/gnat-glade/patches/patch-Garlic_s-gastdf.adb
deleted file mode 100644
index c73e785e96..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gastdf.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-gastdf.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation warnings for GCC 13
-https://github.com/reznikmm/garlic/commit/cd21e825da1a73bd853054ea19eae6a5437fb5e4
-
---- Garlic/s-gastdf.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gastdf.adb
-@@ -36,7 +36,6 @@
- 
- with GNAT.OS_Lib; use GNAT.OS_Lib;
- 
--with System;
- with System.File_Control_Block;
- with System.File_IO;
- 
diff --git a/gnat-glade/patches/patch-Garlic_s-gastha.adb b/gnat-glade/patches/patch-Garlic_s-gastha.adb
deleted file mode 100644
index 2e4c5311ea..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gastha.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-gastha.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Garlic/s-gastha.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-gastha.adb
-@@ -39,7 +39,6 @@
-    package SSE renames System.Storage_Elements;
- 
-    use type SSE.Storage_Count;
--   use type IC.int;
- 
-    function malloc (Size : IC.int) return Address;
-    pragma Import (C, malloc, "__gnat_malloc");
diff --git a/gnat-glade/patches/patch-Garlic_s-gptcse.adb b/gnat-glade/patches/patch-Garlic_s-gptcse.adb
deleted file mode 100644
index 324a2b22d9..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-gptcse.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-gptcse.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation warnings for GCC 13
-https://github.com/reznikmm/garlic/commit/cd21e825da1a73bd853054ea19eae6a5437fb5e4
-
---- Garlic/s-gptcse.adb.orig	2007-11-26 15:35:25.000000000 +0200
-+++ Garlic/s-gptcse.adb
-@@ -37,7 +37,6 @@
- 
- with System.Garlic.Debug;                 use System.Garlic.Debug;
- with System.Garlic.Soft_Links;            use System.Garlic.Soft_Links;
--with System.Garlic.Protocols.Tcp;         use System.Garlic.Protocols.Tcp;
- with System.Garlic.Types;                 use System.Garlic.Types;
- 
- package body System.Garlic.Protocols.Tcp.Server is
diff --git a/gnat-glade/patches/patch-Garlic_s-parint.adb b/gnat-glade/patches/patch-Garlic_s-parint.adb
deleted file mode 100644
index 738b1532e4..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-parint.adb
+++ /dev/null
@@ -1,61 +0,0 @@
-$NetBSD: patch-Garlic_s-parint.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix compilation error for caller stubs
-https://github.com/reznikmm/garlic/commit/97a0ea7e59e509d1328dc6287c432861a9044561
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Garlic/s-parint.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-parint.adb
-@@ -562,6 +562,7 @@
- 
-       Name : String := RCI_Name;
-       Unit : Unit_Id;
-+      Initialized : Boolean := False;
- 
-       -----------------------------
-       -- Get_Active_Partition_ID --
-@@ -571,6 +572,11 @@
-          Partition : Partition_ID;
-          Error     : aliased Error_Type;
-       begin
-+         if not Initialized then
-+            Initialized := True;
-+            To_Lower (Name);
-+            Unit := Get_Unit_Id (Name);
-+         end if;
-          Get_Partition (Unit, Partition, Error);
-          if Found (Error) then
-             Raise_Communication_Error (Error'Access);
-@@ -586,6 +592,11 @@
-          Receiver : Unsigned_64;
-          Error    : aliased Error_Type;
-       begin
-+         if not Initialized then
-+            Initialized := True;
-+            To_Lower (Name);
-+            Unit := Get_Unit_Id (Name);
-+         end if;
-          Get_Receiver (Unit, Receiver, Error);
-          if Found (Error) then
-             Raise_Communication_Error (Error'Access);
-@@ -593,9 +604,6 @@
-          return Receiver;
-       end Get_RCI_Package_Receiver;
- 
--   begin
--      To_Lower (Name);
--      Unit := Get_Unit_Id (Name);
-    end RCI_Locator;
- 
-    ---------
-@@ -622,7 +630,8 @@
-       while Caller /= null loop
-          D ("Check " & Caller.Name.all & " version consistency");
-          if Different (Caller.Version.all,
--                       Get_Unit_Version (Caller.Name.all, Caller.RCI)) then
-+                       Get_Unit_Version (Caller.Name.all, Caller.RCI))
-+         then
- 
-             --  If not boot partition, then terminate without waiting for
-             --  boot partition request.
diff --git a/gnat-glade/patches/patch-Garlic_s-parint.ads b/gnat-glade/patches/patch-Garlic_s-parint.ads
deleted file mode 100644
index 5cd9cf6714..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-parint.ads
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-Garlic_s-parint.ads,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Add PCS_Version constant to make GNAT work
-https://github.com/reznikmm/garlic/commit/a7d7065148e7af5fccdbf32e03906d68a8aba65b
-
---- Garlic/s-parint.ads.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-parint.ads
-@@ -41,6 +41,8 @@
- 
-    pragma Elaborate_Body;
- 
-+   PCS_Version : constant := 1;
-+
-    type DSA_Implementation_Name is (No_DSA, GARLIC_DSA, PolyORB_DSA);
-    DSA_Implementation : constant DSA_Implementation_Name := GARLIC_DSA;
- 
diff --git a/gnat-glade/patches/patch-Garlic_s-rpc.adb b/gnat-glade/patches/patch-Garlic_s-rpc.adb
deleted file mode 100644
index ce4ff07955..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-rpc.adb
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-Garlic_s-rpc.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Garlic/s-rpc.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-rpc.adb
-@@ -48,10 +48,6 @@
- 
- package body System.RPC is
- 
--   use Ada.Streams;
--
--   use type System.Garlic.Streams.Params_Stream_Access;
--   use type System.Garlic.Streams.Params_Stream_Type;
-    use type System.Garlic.Types.Partition_ID;
- 
-    --  This package needs extra comments ???
diff --git a/gnat-glade/patches/patch-Garlic_s-rpcser.adb b/gnat-glade/patches/patch-Garlic_s-rpcser.adb
deleted file mode 100644
index ef6cc647b1..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-rpcser.adb
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-Garlic_s-rpcser.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix some compilation warnings
-https://github.com/reznikmm/garlic/commit/b738f20db65add57f817f952a625df73bef0710e
-
---- Garlic/s-rpcser.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-rpcser.adb
-@@ -61,7 +61,6 @@
- package body System.RPC.Server is
- 
-    use type System.Garlic.Types.Partition_ID;
--   use type System.Garlic.Streams.Params_Stream_Type;
- 
-    Private_Debug_Key : constant Debug_Key :=
-      Debug_Initialize ("S_RPCSER", "(s-rpcser): ");
diff --git a/gnat-glade/patches/patch-Garlic_s-shasto.adb b/gnat-glade/patches/patch-Garlic_s-shasto.adb
deleted file mode 100644
index 4aa2a8a0b7..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-shasto.adb
+++ /dev/null
@@ -1,130 +0,0 @@
-$NetBSD: patch-Garlic_s-shasto.adb,v 1.0 2025/02/13 22:00:00 dkazankov Exp $
-
-Implementation of Shared_Var_Procs specs
-
---- Garlic/s-shasto.adb.orig	2007-11-26 15:35:25.000000000 +0200
-+++ Garlic/s-shasto.adb
-@@ -31,17 +31,24 @@
- --                                                                          --
- ------------------------------------------------------------------------------
- 
-+with Ada.Streams.Stream_IO;
-+
- with System.Garlic.Exceptions; use System.Garlic.Exceptions;
- with System.Garlic.Storages;   use System.Garlic.Storages;
- 
- package body System.Shared_Storage is
- 
-+   use Ada.Streams.Stream_IO;
-+
-+   procedure Shared_Var_Close (Var : in out Stream_Access);
-+   function Shared_Var_ROpen (Var : String) return Stream_Access;
-+   function Shared_Var_WOpen (Var : String) return Stream_Access;
-+
-    ----------------------
-    -- Shared_Var_Close --
-    ----------------------
- 
--   procedure Shared_Var_Close (Var : in out SIO.Stream_Access)
--   is
-+   procedure Shared_Var_Close (Var : in out Stream_Access) is
-       VS : Shared_Data_Access;
-       pragma Warnings (Off, Var);
-    begin
-@@ -53,8 +60,7 @@
-    -- Shared_Var_Lock --
-    ---------------------
- 
--   procedure Shared_Var_Lock (Var : String)
--   is
-+   procedure Shared_Var_Lock (Var : String) is
-       VS : Shared_Data_Access;
-       Ok : Boolean;
-       E  : aliased Error_Type;
-@@ -71,8 +77,7 @@
-    -- Shared_Var_ROpen --
-    ----------------------
- 
--   function Shared_Var_ROpen (Var : String) return SIO.Stream_Access
--   is
-+   function Shared_Var_ROpen (Var : String) return Stream_Access is
-       VS : Shared_Data_Access;
-       Ok : Boolean;
-       E  : aliased Error_Type;
-@@ -84,7 +89,7 @@
-       end if;
-       Initiate_Request (VS, Read, Ok);
-       if Ok then
--         return SIO.Stream_Access (VS);
-+         return Stream_Access (VS);
-       else
-          return null;
-       end if;
-@@ -94,8 +99,7 @@
-    -- Shared_Var_Unlock --
-    -----------------------
- 
--   procedure Shared_Var_Unlock (Var : String)
--   is
-+   procedure Shared_Var_Unlock (Var : String) is
-       VS : Shared_Data_Access;
-       E  : aliased Error_Type;
- 
-@@ -111,8 +115,7 @@
-    -- Shared_Var_WOpen --
-    ----------------------
- 
--   function Shared_Var_WOpen (Var : String) return SIO.Stream_Access
--   is
-+   function Shared_Var_WOpen (Var : String) return Stream_Access is
-       VS : Shared_Data_Access;
-       Ok : Boolean;
-       E  : aliased Error_Type;
-@@ -123,7 +126,46 @@
-          Raise_Communication_Error (Content (E'Access));
-       end if;
-       Initiate_Request (VS, Write, Ok);
--      return SIO.Stream_Access (VS);
-+      return Stream_Access (VS);
-    end Shared_Var_WOpen;
- 
-+   ----------------------
-+   -- Shared_Var_Procs --
-+   ----------------------
-+
-+   package body Shared_Var_Procs is
-+
-+      --  XXX for instance, we use stream attributes to
-+      --  assign variable V of limited type Typ.
-+
-+      ----------
-+      -- Read --
-+      ----------
-+
-+      procedure Read is
-+         S : Stream_Access := Shared_Var_ROpen (Full_Name);
-+
-+      begin
-+         if S /= null then
-+            Typ'Read  (S, V);
-+            Shared_Var_Close (S);
-+         end if;
-+      end Read;
-+
-+      -----------
-+      -- Write --
-+      -----------
-+
-+      procedure Write is
-+         S : Stream_Access := Shared_Var_WOpen (Full_Name);
-+
-+      begin
-+         if S /= null then
-+            Typ'Write  (S, V);
-+            Shared_Var_Close (S);
-+         end if;
-+      end Write;
-+
-+   end Shared_Var_Procs;
-+
- end System.Shared_Storage;
diff --git a/gnat-glade/patches/patch-Garlic_s-shasto.ads b/gnat-glade/patches/patch-Garlic_s-shasto.ads
deleted file mode 100644
index 7391844249..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-shasto.ads
+++ /dev/null
@@ -1,213 +0,0 @@
-$NetBSD: patch-Garlic_s-shasto.ads,v 1.0 2025/02/13 21:00:00 dkazankov Exp $
-
-Remove unsupported old specification
-
---- Garlic/s-shasto.ads.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-shasto.ads
-@@ -1,206 +0,0 @@
--------------------------------------------------------------------------------
----                                                                          --
----                            GLADE COMPONENTS                              --
----                                                                          --
----                S Y S T E M . S H A R E D _ S T O R A G E                 --
----                                                                          --
----                                 S p e c                                  --
----                                                                          --
----         Copyright (C) 1996-2006 Free Software Foundation, Inc.           --
----                                                                          --
---- GARLIC is free software;  you can redistribute it and/or modify it under --
---- terms of the  GNU General Public License  as published by the Free Soft- --
---- ware Foundation;  either version 2,  or (at your option)  any later ver- --
---- sion.  GARLIC is distributed  in the hope that  it will be  useful,  but --
---- WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHANTABI- --
---- LITY 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 GARLIC;  see file COPYING.  If  --
---- not, write to the Free Software Foundation, 59 Temple Place - Suite 330, --
---- Boston, MA 02111-1307, USA.                                              --
----                                                                          --
---- As a special exception,  if other files  instantiate  generics from this --
---- unit, or you link  this unit with other files  to produce an executable, --
---- this  unit  does not  by itself cause  the resulting  executable  to  be --
---- covered  by the  GNU  General  Public  License.  This exception does not --
---- however invalidate  any other reasons why  the executable file  might be --
---- covered by the  GNU Public License.                                      --
----                                                                          --
----               GLADE  is maintained by ACT Europe.                        --
----               (email: glade-report%act-europe.fr@localhost)                        --
----                                                                          --
--------------------------------------------------------------------------------
--
--with Ada.Streams.Stream_IO;
--
--package System.Shared_Storage is
--
--   --  This package manages the shared/persistant memory required for
--   --  full implementation of variables in Shared_Passive packages,
--   --  more precisely variables whose enclosing dynamic scope is a
--   --  shared passive package.
--
--   --  -------------------------
--   --  -- Shared Storage Model --
--   --  -------------------------
--
--   --  The basic model used is that each partition that references the
--   --  Shared_Passive package has a local copy of the package data
--   --  that is initialized in accordance with the declarations of the
--   --  package in the normal manner. The routines in
--   --  System.Shared_Memory are then used to ensure that the values in
--   --  these separate copies are properly synchronized with the state
--   --  of the overall system.
--
--   --  This synchronization is ensured by maintaining a set of files
--   --  in a designated directory. The directory is designated by
--   --  setting the environment variable SHARED_MEMORY_DIRECTORY. This
--   --  variable must be set for all partitions. If the environment
--   --  variable is not defined, then the current directory is used.
--
--   --  There is one file for each variable. The name is the fully
--   --  qualified name of the variable with all letters forced to lower
--   --  case. For example, the variable Key_Name in the Shared_Passive
--   --  package Shared_Data results in the file name
--   --  shared_data.key_name.
--
--   --  If the file does not exist, it indicates that no partition has
--   --  assigned a new value, so that the initial value is the correct
--   --  one. This is the critical component of the model. It means that
--   --  there is no system-wide synchronization required for
--   --  initializing the package, since the shared memory files need
--   --  not (and do not) reflect the initial state. There is therefore
--   --  no issue of synchronizing initialization and read/write
--   --  accress.
--
--   --  If the file does exist, it is a Stream_IO file that contains
--   --  the most recently assigned value of the variable, as written by
--   --  the use of the typ'Write stream attribute.
--
--   --  -----------------------
--   --  -- Read/Write Access --
--   --  -----------------------
--
--   --  The approach is as follows:
--
--   --    For each shared variable, var, an access routine varR is
--   --  created whose body has the following form (this example is for
--   --  Pkg.Var):
--
--   --      procedure varR is
--   --         S : Ada.Streams.Stream_IO.Stream_Access;
--   --      begin
--   --         S := Shared_Mem_RFile ("pkg", "var");
--   --         if S /= null then
--   --            typ'Read (S);
--   --         end if;
--   --      end varR;
--
--   --  The routine Shared_Mem_RFile in package System.Shared_Memory
--   --  either returns null if the file does not exist, or otherwise a
--   --  Stream_Access value that references the corresponding shared
--   --  memory file, positioned at start of the file, ready to read the
--   --  current value.
--
--   --  Each reference to the shared variable, var, is preceded by a
--   --  call to the corresponding varR procedure, which either leaves
--   --  the initial value unchanged if the file does not exist, or
--   --  reads the current value from the shared memory file.
--
--   --  In addition, for each shared variable, var, an assignment
--   --  routine is created whose body has the following form (again for
--   --  Pgg.Var)
--
--   --      procedure VarA is
--   --      begin
--   --         typ'Write (Shared_Mem_WFile ("pkg", "var"), var);
--   --      end VarA;
--
--   --  The routine Shared_Mem_WFile is package System.Shared_Memory
--   --  returns a Stream_Access value that references the corresponding
--   --  shared memory file, positioned at the start, ready to write the
--   --  new value.
--
--   --  Each assignment to the shared variable, var, is followed by a
--   --  call to the corresponding varA procedure, which writes the new
--   --  value to the shared memory file.
--
--   --  Note that there is no synchronization for these file read and
--   --  write operations, since it is assumed that a correctly
--   --  operating programs will provide appropriate synchronization. In
--   --  particular, variables can be protected using protected types
--   --  with no entries.
--
--   --  Note: a special circuit allows the use of stream attributes
--   --  Read and Write for limited types (using the corresponding
--   --  attribute for the full type), but there are limitations on the
--   --  data that can be placed in shared passive partitions. See
--   --  sem_smem.ads/adb for details.
--
--   --  ----------------------------------------------------------------
--   --  -- Handling of Protected Objects in Shared Passive Partitions --
--   --  ----------------------------------------------------------------
--
--   --  During the execution of a protected subprogram call, access is
--   --  locked out using a global locking mechanism, as provided by the
--   --  GNAT.Lock_Files capability. This package contains the lock and
--   --  unlock calls, and the expander generates a call to the lock
--   --  routine before the protected call and a call to the unlock
--   --  routine after the protected call.
--
--   --  Within the code of the protected subprogram, the access to the
--   --  protected object itself uses the local copy, without any
--   --  special synchronization.  Since global access is locked out, no
--   --  other task or partition can attempt to read or write this data
--   --  as long as the lock is held.
--
--   --  The data in the local copy does however need synchronizing with
--   --  the global values in the shared memory file. This is achieved
--   --  as follows:
--
--   --  The protected object generates a read and assignment routine as
--   --  described for other shared passive variables. The code for the
--   --  'Read and 'Write attributes (not normally allowed, but allowed
--   --  in this special case) simply reads or writes the values of the
--   --  components in the protected record.
--
--   --  The lock call is followed by a call to the shared read routine
--   --  to synchronize the local copy to contain the proper global
--   --  value.
--
--   --  The unlock call in the procedure case only is preceded by a
--   --  call to the shared assign routine to synchronize the global
--   --  shared memory files with the (possibly modified) local copy.
--
--   --  These calls to the read and assign routines, as well as the
--   --  lock and unlock routines, are inserted by the expander (see
--   --  exp_smem.adb).
--
--   package SIO renames Ada.Streams.Stream_IO;
--
--   function Shared_Var_ROpen (Var : String) return SIO.Stream_Access;
--   --  As described above, this routine returns null if the corresponding
--   --  shared memory file does not exist, and otherwise, if the file does
--   --  exist, a Stream_Access value that references the shared memory file,
--   --  positioned to the start, ready to read the current value.
--
--   function Shared_Var_WOpen (Var : String) return SIO.Stream_Access;
--   --  As described above, this routine returns a Stream_Access value that
--   --  references the shared memory file, positioned to the start, ready to
--   --  write the new value. The file is created by this call if it does not
--   --  already exist.
--
--   procedure Shared_Var_Lock (Var : String);
--   --  This procedure claims the global shared memory lock. It is used for
--   --  protected types in shared passive packages. A call to this locking
--   --  routine is generated as the first operation in the code for the body
--   --  of a protected subprogram, and it busy waits if the lock is busy.
--
--   procedure Shared_Var_Unlock (Var : String);
--   --  This procedure releases the lock obtaind by a prior call to the
--   --  Shared_Mem_Lock procedure, and is to be generated as the last
--   --  operation in the body of a protected subprogram.
--
--   procedure Shared_Var_Close (Var : in out SIO.Stream_Access);
--
--end System.Shared_Storage;
diff --git a/gnat-glade/patches/patch-Garlic_s-stratt.adb b/gnat-glade/patches/patch-Garlic_s-stratt.adb
deleted file mode 100644
index 2f8b6b4a0e..0000000000
--- a/gnat-glade/patches/patch-Garlic_s-stratt.adb
+++ /dev/null
@@ -1,2025 +0,0 @@
-$NetBSD: patch-Garlic_s-stratt.adb,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Remove old stream attributes implementation
-
---- Garlic/s-stratt.adb.orig	2007-11-26 15:10:13.000000000 +0200
-+++ Garlic/s-stratt.adb
-@@ -1,2018 +0,0 @@
--------------------------------------------------------------------------------
----                                                                          --
----                            GLADE COMPONENTS                              --
----                                                                          --
----             S Y S T E M . S T R E A M _ A T T R I B U T E S              --
----                                                                          --
----                                 B o d y                                  --
----                                                                          --
----         Copyright (C) 1996-2006 Free Software Foundation, Inc.           --
----                                                                          --
---- GARLIC is free software;  you can redistribute it and/or modify it under --
---- terms of the  GNU General Public License  as published by the Free Soft- --
---- ware Foundation;  either version 2,  or (at your option)  any later ver- --
---- sion.  GARLIC is distributed  in the hope that  it will be  useful,  but --
---- WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHANTABI- --
---- LITY 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 GARLIC;  see file COPYING.  If  --
---- not, write to the Free Software Foundation, 59 Temple Place - Suite 330, --
---- Boston, MA 02111-1307, USA.                                              --
----                                                                          --
---- As a special exception,  if other files  instantiate  generics from this --
---- unit, or you link  this unit with other files  to produce an executable, --
---- this  unit  does not  by itself cause  the resulting  executable  to  be --
---- covered  by the  GNU  General  Public  License.  This exception does not --
---- however invalidate  any other reasons why  the executable file  might be --
---- covered by the  GNU Public License.                                      --
----                                                                          --
----               GLADE  is maintained by ACT Europe.                        --
----               (email: glade-report%act-europe.fr@localhost)                        --
----                                                                          --
--------------------------------------------------------------------------------
--
--with Ada.IO_Exceptions;
--with Ada.Streams;              use Ada.Streams;
--with Ada.Unchecked_Conversion;
--
--package body System.Stream_Attributes is
--
--   pragma Suppress (Range_Check);
--   pragma Suppress (Overflow_Check);
--
--   use UST;
--
--   Data_Error : exception renames Ada.IO_Exceptions.End_Error;
--   --  Exception raised if insufficient data read (End_Error is
--   --  mandated by AI95-00132).
--
--   SU : constant := System.Storage_Unit;
--   --  XXXXX pragma Assert (SU = 8);
--
--   BB : constant := 2 ** SU;           --  Byte base
--   BL : constant := 2 ** SU - 1;       --  Byte last
--   BS : constant := 2 ** (SU - 1);     --  Byte sign
--
--   US : constant := Unsigned'Size;     --  Unsigned size
--   UB : constant := (US - 1) / SU + 1; --  Unsigned byte
--   UL : constant := 2 ** US - 1;       --  Unsigned last
--
--   FB : constant := 2.0 ** SU;         --  Float base
--
--   subtype SE  is Ada.Streams.Stream_Element;
--   subtype SEA is Ada.Streams.Stream_Element_Array;
--   subtype SEO is Ada.Streams.Stream_Element_Offset;
--
--   generic function UC renames Ada.Unchecked_Conversion;
--
--   type Field_Type is
--      record
--         E_Size       : Integer; --  Exponent bit size
--         E_Bias       : Integer; --  Exponent bias
--         F_Size       : Integer; --  Fraction bit size
--         E_Last       : Integer; --  Max exponent value
--         F_Mask       : SE;      --  Mask to apply on first fraction byte
--         E_Bytes      : SEO;     --  N. of exponent bytes completly used
--         F_Bytes      : SEO;     --  N. of fraction bytes completly used
--         F_Bits       : Integer; --  N. of bits used on first fraction word
--      end record;
--
--   type Precision is (Single, Double, Extended);
--   Fields : constant array (Precision) of Field_Type
--     := (
--         --  Single precision
--         (E_Size  => 8,
--          E_Bias  => 127,
--          F_Size  => 23,
--          E_Last  => 2 ** 8 - 1,
--          F_Mask  => 16#7F#,                  --  2 ** 7 - 1,
--          E_Bytes => 2,
--          F_Bytes => 3,
--          F_Bits  => 23 mod US),
--         --  Double precision
--         (E_Size  => 11,
--          E_Bias  => 1023,
--          F_Size  => 52,
--          E_Last  => 2 ** 11 - 1,
--          F_Mask  => 16#0F#,                  --  2 ** 4 - 1,
--          E_Bytes => 2,
--          F_Bytes => 7,
--          F_Bits  => 52 mod US),
--         --  Extended precision
--         (E_Size  => 15,
--          E_Bias  => 16383,
--          F_Size  => 63,
--          E_Last  => 2 ** 15 - 1,
--          F_Mask  => 16#FF#,                  --  2 ** 8 - 1,
--          E_Bytes => 2,
--          F_Bytes => 8,
--          F_Bits  => 63 mod US));
--
--   --  The representation of all items requires a multiple of four bytes
--   --  (or 32 bits) of data. The bytes are numbered 0 through n-1. The bytes
--   --  are read or written to some byte stream such that byte m always
--   --  precedes byte m+1. If the n bytes needed to contain the data are not
--   --  a multiple of four, then the n bytes are followed by enough (0 to 3)
--   --  residual zero bytes, r, to make the total byte count a multiple of 4.
--
--   --  An XDR signed integer is a 32-bit datum that encodes an integer
--   --  in the range [-2147483648,2147483647]. The integer is represented
--   --  in two's complement notation. The most and least significant bytes
--   --  are 0 and 3, respectively. Integers are declared as follows:
--   --
--   --        (MSB)                   (LSB)
--   --      +-------+-------+-------+-------+
--   --      |byte 0 |byte 1 |byte 2 |byte 3 |
--   --      +-------+-------+-------+-------+
--   --      <------------32 bits------------>
--
--   --  XXXXX pragma Assert (Long_Long_Integer'Size <= 64);
--   --  XXXXX pragma Assert (16 <= Integer'Size and Integer'Size <= 32);
--
--   SSI_L : constant := 1;
--   SI_L  : constant := 2;
--   I_L   : constant := 4;
--   LI_L  : constant := 8;
--   LLI_L : constant := 8;
--
--   subtype XDR_S_SSI is SEA (1 .. SSI_L);
--   subtype XDR_S_SI  is SEA (1 .. SI_L);
--   subtype XDR_S_I   is SEA (1 .. I_L);
--   subtype XDR_S_LI  is SEA (1 .. LI_L);
--   subtype XDR_S_LLI is SEA (1 .. LLI_L);
--
--   function Short_Short_Integer_To_XDR_S_SSI is
--      new Ada.Unchecked_Conversion (Short_Short_Integer, XDR_S_SSI);
--   function XDR_S_SSI_To_Short_Short_Integer is
--      new Ada.Unchecked_Conversion (XDR_S_SSI, Short_Short_Integer);
--
--   function Short_Integer_To_XDR_S_SI is
--      new Ada.Unchecked_Conversion (Short_Integer, XDR_S_SI);
--   function XDR_S_SI_To_Short_Integer is
--      new Ada.Unchecked_Conversion (XDR_S_SI, Short_Integer);
--
--   function Integer_To_XDR_S_I is
--      new Ada.Unchecked_Conversion (Integer, XDR_S_I);
--   function XDR_S_I_To_Integer is
--     new Ada.Unchecked_Conversion (XDR_S_I, Integer);
--
--   function Long_Long_Integer_To_XDR_S_LI is
--      new Ada.Unchecked_Conversion (Long_Long_Integer, XDR_S_LI);
--   function XDR_S_LI_To_Long_Long_Integer is
--      new Ada.Unchecked_Conversion (XDR_S_LI, Long_Long_Integer);
--
--   function Long_Long_Integer_To_XDR_S_LLI is
--      new Ada.Unchecked_Conversion (Long_Long_Integer, XDR_S_LLI);
--   function XDR_S_LLI_To_Long_Long_Integer is
--      new Ada.Unchecked_Conversion (XDR_S_LLI, Long_Long_Integer);
--
--   --  An XDR unsigned integer is a 32-bit datum that encodes a nonnegative
--   --  integer in the range [0,4294967295]. It is represented by an unsigned
--   --  binary number whose most and least significant bytes are 0 and 3,
--   --  respectively. An unsigned integer is declared as follows:
--   --
--   --        (MSB)                   (LSB)
--   --      +-------+-------+-------+-------+
--   --      |byte 0 |byte 1 |byte 2 |byte 3 |
--   --      +-------+-------+-------+-------+
--   --      <------------32 bits------------>
--
--   --  XXXXX pragma Assert (Long_Long_Unsigned'Size <= 64);
--   --  XXXXX pragma Assert (16 <= Unsigned'Size and Unsigned'Size <= 32);
--
--   SSU_L : constant := 1;
--   SU_L  : constant := 2;
--   U_L   : constant := 4;
--   LU_L  : constant := 8;
--   LLU_L : constant := 8;
--
--   subtype XDR_S_SSU is SEA (1 .. SSU_L);
--   subtype XDR_S_SU  is SEA (1 .. SU_L);
--   subtype XDR_S_U   is SEA (1 .. U_L);
--   subtype XDR_S_LU  is SEA (1 .. LU_L);
--   subtype XDR_S_LLU is SEA (1 .. LLU_L);
--
--   type XDR_SSU is mod BB ** SSU_L;
--   type XDR_SU  is mod BB ** SU_L;
--   type XDR_U   is mod BB ** U_L;
--   --  type XDR_LU  is mod BB ** LU_L;  --  Computed using Unsigned
--   --  type XDR_LLU is mod BB ** LLU_L; --  Computed using Unsigned
--
--   function Short_Unsigned_To_XDR_S_SU is
--      new Ada.Unchecked_Conversion (Short_Unsigned, XDR_S_SU);
--   function XDR_S_SU_To_Short_Unsigned is
--      new Ada.Unchecked_Conversion (XDR_S_SU, Short_Unsigned);
--
--   function Unsigned_To_XDR_S_U is
--      new Ada.Unchecked_Conversion (Unsigned, XDR_S_U);
--   function XDR_S_U_To_Unsigned is
--      new Ada.Unchecked_Conversion (XDR_S_U, Unsigned);
--
--   function Long_Long_Unsigned_To_XDR_S_LU is
--      new Ada.Unchecked_Conversion (Long_Long_Unsigned, XDR_S_LU);
--   function XDR_S_LU_To_Long_Long_Unsigned is
--      new Ada.Unchecked_Conversion (XDR_S_LU, Long_Long_Unsigned);
--
--   function Long_Long_Unsigned_To_XDR_S_LLU is
--      new Ada.Unchecked_Conversion (Long_Long_Unsigned, XDR_S_LLU);
--   function XDR_S_LLU_To_Long_Long_Unsigned is
--      new Ada.Unchecked_Conversion (XDR_S_LLU, Long_Long_Unsigned);
--
--   --  The standard defines the floating-point data type "float" (32 bits
--   --  or 4 bytes). The encoding used is the IEEE standard for normalized
--   --  single-precision floating-point numbers.
--
--   --  The standard defines the encoding for the double-precision
--   --  floating-point data type "double" (64 bits or 8 bytes). The
--   --  encoding used is the IEEE standard for normalized double-precision
--   --  floating-point numbers.
--
--   SF_L  : constant := 4;   --  Single precision
--   F_L   : constant := 4;   --  Single precision
--   LF_L  : constant := 8;   --  Double precision
--   LLF_L : constant := 12;  --  Extended precision
--
--   --  TBD
--   TM_L : constant := 8;
--   subtype XDR_S_TM is SEA (1 .. TM_L);
--   type XDR_TM is mod BB ** TM_L;
--
--   type XDR_SA is mod 2 ** Standard'Address_Size;
--   function To_XDR_SA is new UC (System.Address, XDR_SA);
--   function To_XDR_SA is new UC (XDR_SA, System.Address);
--
--   --  Enumerations have the same representation as signed integers.
--   --  Enumerations are handy for describing subsets of the integers.
--
--   --  Booleans are important enough and occur frequently enough to warrant
--   --  their own explicit type in the standard. Booleans are declared as
--   --  an enumeration, with FALSE = 0 and TRUE = 1.
--
--   --  The standard defines a string of n (numbered 0 through n-1) ASCII
--   --  bytes to be the number n encoded as an unsigned integer (as described
--   --  above), and followed by the n bytes of the string. Byte m of the string
--   --  always precedes byte m+1 of the string, and byte 0 of the string always
--   --  follows the string's length. If n is not a multiple of four, then the
--   --  n bytes are followed by enough (0 to 3) residual zero bytes, r, to make
--   --  the total byte count a multiple of four.
--
--   --  To fit with XDR string, do not consider character as an enumeration
--   --  type.
--
--   C_L   : constant := 1;
--   subtype XDR_S_C is SEA (1 .. C_L);
--
--   --  Consider Wide_Character as an enumeration type.
--   WC_L  : constant := 4;
--   subtype XDR_S_WC is SEA (1 .. WC_L);
--   type XDR_WC is mod BB ** WC_L;
--
--   --  Optimization: if we already have the correct Bit_Order, then some
--   --  computations can be avoided since the source and the target will be
--   --  identical anyway. They will be replaced by direct unchecked
--   --  conversions.
--
--   Optimize_Integers : constant Boolean :=
--     Default_Bit_Order = High_Order_First;
--
--   ----------------
--   -- Workaround --
--   ----------------
--
--   function Scaling
--     (X : Short_Float; A : Integer)
--     return Short_Float;
--
--   function Scaling
--     (X : Float; A : Integer)
--      return Float;
--
--   function Scaling
--     (X : Long_Float; A : Integer)
--      return Long_Float;
--   function Scaling
--     (X : Long_Long_Float; A : Integer)
--      return Long_Long_Float;
--   ----------
--   -- I_AD --
--   ----------
--
--   function I_AD (Stream : not null access RST) return Fat_Pointer is
--      FP : Fat_Pointer;
--
--   begin
--      FP.P1 := I_AS (Stream).P1;
--      FP.P2 := I_AS (Stream).P1;
--
--      return FP;
--   end I_AD;
--
--   ----------
--   -- I_AS --
--   ----------
--
--   function I_AS (Stream : not null access RST) return Thin_Pointer is
--      S : XDR_S_TM;
--      L : SEO;
--      U : XDR_TM := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      else
--         for N in S'Range loop
--            U := U * BB + XDR_TM (S (N));
--         end loop;
--
--         return (P1 => To_XDR_SA (XDR_SA (U)));
--      end if;
--   end I_AS;
--
--   ---------
--   -- I_B --
--   ---------
--
--   function I_B (Stream : not null access RST) return Boolean is
--   begin
--      case I_SSU (Stream) is
--         when 0      => return False;
--         when 1      => return True;
--         when others => raise Data_Error;
--      end case;
--   end I_B;
--
--   ---------
--   -- I_C --
--   ---------
--
--   function I_C (Stream : not null access RST) return Character is
--      S : XDR_S_C;
--      L : SEO;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      else
--
--         --  Use Ada requirements on Character representation clause.
--         return Character'Val (S (1));
--      end if;
--   end I_C;
--
--   ---------
--   -- I_F --
--   ---------
--
--   function I_F (Stream : not null access RST) return Float is
--      I       : constant Precision := Single;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      F_Size  : Integer  renames Fields (I).F_Size;
--      F_Mask  : SE       renames Fields (I).F_Mask;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Unsigned;
--      P : Boolean;
--      X : Float;
--      S : SEA (1 .. F_L);
--      L : SEO;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      end if;
--
--      --  Extract Fraction, Exponent and Sign.
--      X := Float (S (F_L + 1 - F_Bytes) and F_Mask);
--      for N in F_L + 2 - F_Bytes .. F_L loop
--         X := X * FB + Float (S (N));
--      end loop;
--      X := Scaling (X, -F_Size); --  Float
--
--      if BS <= S (1) then
--         P := False;
--         E := Unsigned (S (1) - BS);
--      else
--         P := True;
--         E := Unsigned (S (1));
--      end if;
--
--      for N in 2 .. E_Bytes loop
--         E := E * BB + Unsigned (S (N));
--      end loop;
--      E := Shift_Right (E, Integer (E_Bytes) * SU - E_Size - 1);
--
--      --  Look for special cases.
--      if X = 0.0 then
--
--         --  Signed zeros.
--         if E = 0 then
--            if P then
--               return Float'Copy_Sign (0.0, 1.0);
--            else
--               return Float'Copy_Sign (0.0, -1.0);
--            end if;
--
--         else
--
--            --  Signed infinites.
--            if E = Unsigned (E_Last) then
--               if P then
--                  return Float'Safe_Last;
--               else
--                  return Float'Safe_First;
--               end if;
--            end if;
--         end if;
--      end if;
--
--      --  Denormalized float.
--      if E = 0 then
--
--         X := Scaling (X, 1 - E_Bias); --  Flaot
--
--      --  Normalized float.
--      else
--
--         X := Scaling (X + 1.0, Integer (E) - E_Bias); --  Float
--
--      end if;
--
--      if P then
--         X := Float'Copy_Sign (X, 1.0);
--      else
--         X := Float'Copy_Sign (X, -1.0);
--      end if;
--
--      return X;
--   end I_F;
--
--   ---------
--   -- I_I --
--   ---------
--
--   function I_I (Stream : not null access RST) return Integer is
--      S : XDR_S_I;
--      L : SEO;
--      U : XDR_U := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return XDR_S_I_To_Integer (S);
--      else
--         for N in S'Range loop
--            U := U * BB + XDR_U (S (N));
--         end loop;
--
--         --  Test sign and apply two complement's notation.
--         if S (1) < BL then
--            return Integer (U);
--         else
--            return Integer (-((XDR_U'Last xor U) + 1));
--         end if;
--      end if;
--   end I_I;
--
--   ----------
--   -- I_LF --
--   ----------
--
--   function I_LF (Stream : not null access RST) return Long_Float is
--      I       : constant Precision := Double;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      F_Size  : Integer  renames Fields (I).F_Size;
--      F_Mask  : SE       renames Fields (I).F_Mask;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Unsigned;
--      P : Boolean;
--      X : Long_Float;
--      S : SEA (1 .. LF_L);
--      L : SEO;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      end if;
--
--      --  Extract Fraction, Exponent and Sign.
--      X := Long_Float (S (LF_L + 1 - F_Bytes) and F_Mask);
--      for N in LF_L + 2 - F_Bytes .. LF_L loop
--         X := X * FB + Long_Float (S (N));
--      end loop;
--      X := Scaling (X, -F_Size); --  Long_Float
--
--      if BS <= S (1) then
--         P := False;
--         E := Unsigned (S (1) - BS);
--      else
--         P := True;
--         E := Unsigned (S (1));
--      end if;
--
--      for N in 2 .. E_Bytes loop
--         E := E * BB + Unsigned (S (N));
--      end loop;
--      E := Shift_Right (E, Integer (E_Bytes) * SU - E_Size - 1);
--
--      --  Look for special cases.
--      if X = 0.0 then
--
--         --  Signed zeros.
--         if E = 0 then
--            if P then
--               return Long_Float'Copy_Sign (0.0, 1.0);
--            else
--               return Long_Float'Copy_Sign (0.0, -1.0);
--            end if;
--
--         else
--
--            --  Signed infinites.
--            if E = Unsigned (E_Last) then
--               if P then
--                  return Long_Float'Safe_Last;
--               else
--                  return Long_Float'Safe_First;
--               end if;
--            end if;
--         end if;
--      end if;
--
--      --  Denormalized float.
--      if E = 0 then
--
--         X := Scaling (X, 1 - E_Bias); --  Long_Float
--
--      --  Normalized float.
--      else
--
--         X := Scaling (X + 1.0, Integer (E) - E_Bias); --  Long_Float
--
--      end if;
--
--      if P then
--         X := Long_Float'Copy_Sign (X, 1.0);
--      else
--         X := Long_Float'Copy_Sign (X, -1.0);
--      end if;
--
--      return X;
--   end I_LF;
--
--   ----------
--   -- I_LI --
--   ----------
--
--   function I_LI (Stream : not null access RST) return Long_Integer is
--      S : XDR_S_LI;
--      L : SEO;
--      U : Unsigned := 0;
--      X : Long_Unsigned := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return Long_Integer (XDR_S_LI_To_Long_Long_Integer (S));
--      else
--
--         --  Compute using machine unsigned
--         --  rather than long_long_unsigned
--
--         for N in S'Range loop
--            U := U * BB + Unsigned (S (N));
--
--            --  We have filled an unsigned.
--            if N mod UB = 0 then
--               X := Shift_Left (X, US) + Long_Unsigned (U);
--               U := 0;
--            end if;
--         end loop;
--
--         --  Test sign and apply two complement's notation.
--         if S (1) < BL then
--            return Long_Integer (X);
--         else
--            return Long_Integer (-((Long_Unsigned'Last xor X) + 1));
--         end if;
--
--      end if;
--   end I_LI;
--
--   -----------
--   -- I_LLF --
--   -----------
--
--   function I_LLF (Stream : not null access RST) return Long_Long_Float is
--      I       : constant Precision := Extended;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      F_Size  : Integer  renames Fields (I).F_Size;
--      F_Mask  : SE       renames Fields (I).F_Mask;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Unsigned;
--      P : Boolean;
--      X : Long_Long_Float;
--      S : SEA (1 .. LLF_L);
--      L : SEO;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      end if;
--
--      --  Extract Fraction, Exponent and Sign.
--      X := Long_Long_Float (S (LLF_L + 1 - F_Bytes) and F_Mask);
--      for N in LLF_L + 2 - F_Bytes .. LLF_L loop
--         X := X * FB + Long_Long_Float (S (N));
--      end loop;
--      X := Scaling (X, -F_Size); --  Long_Long_Float
--
--      if BS <= S (1) then
--         P := False;
--         E := Unsigned (S (1) - BS);
--      else
--         P := True;
--         E := Unsigned (S (1));
--      end if;
--
--      for N in 2 .. E_Bytes loop
--         E := E * BB + Unsigned (S (N));
--      end loop;
--      E := Shift_Right (E, Integer (E_Bytes) * SU - E_Size - 1);
--
--      --  Look for special cases.
--      if X = 0.0 then
--
--         --  Signed zeros.
--         if E = 0 then
--            if P then
--               return Long_Long_Float'Copy_Sign (0.0, 1.0);
--            else
--               return Long_Long_Float'Copy_Sign (0.0, -1.0);
--            end if;
--
--         else
--
--            --  Signed infinites.
--            if E = Unsigned (E_Last) then
--               if P then
--                  return Long_Long_Float'Safe_Last;
--               else
--                  return Long_Long_Float'Safe_First;
--               end if;
--            end if;
--         end if;
--      end if;
--
--      --  Denormalized float.
--      if E = 0 then
--
--         X := Scaling (X, 1 - E_Bias); --  Long_Long_Float
--
--      --  Normalized float.
--      else
--
--         X := Scaling (X + 1.0, Integer (E) - E_Bias); --  Long_Long_Float
--
--      end if;
--
--      if P then
--         X := Long_Long_Float'Copy_Sign (X, 1.0);
--      else
--         X := Long_Long_Float'Copy_Sign (X, -1.0);
--      end if;
--
--      return X;
--   end I_LLF;
--
--   -----------
--   -- I_LLI --
--   -----------
--
--   function I_LLI (Stream : not null access RST) return Long_Long_Integer is
--      S : XDR_S_LLI;
--      L : SEO;
--      U : Unsigned := 0;
--      X : Long_Long_Unsigned := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return XDR_S_LLI_To_Long_Long_Integer (S);
--      else
--
--         --  Compute using machine unsigned for computing
--         --  rather than long_long_unsigned.
--
--         for N in S'Range loop
--            U := U * BB + Unsigned (S (N));
--
--            --  We have filled an unsigned.
--            if N mod UB = 0 then
--               X := Shift_Left (X, US) + Long_Long_Unsigned (U);
--               U := 0;
--            end if;
--         end loop;
--
--         --  Test sign and apply two complement's notation.
--         if S (1) < BL then
--            return Long_Long_Integer (X);
--         else
--            return Long_Long_Integer (-((Long_Long_Unsigned'Last xor X) + 1));
--         end if;
--      end if;
--   end I_LLI;
--
--   -----------
--   -- I_LLU --
--   -----------
--
--   function I_LLU (Stream : not null access RST) return Long_Long_Unsigned is
--      S : XDR_S_LLU;
--      L : SEO;
--      U : Unsigned := 0;
--      X : Long_Long_Unsigned := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return XDR_S_LLU_To_Long_Long_Unsigned (S);
--      else
--
--         --  Compute using machine unsigned
--         --  rather than long_long_unsigned.
--
--         for N in S'Range loop
--            U := U * BB + Unsigned (S (N));
--
--            --  We have filled an unsigned.
--            if N mod UB = 0 then
--               X := Shift_Left (X, US) + Long_Long_Unsigned (U);
--               U := 0;
--            end if;
--         end loop;
--
--         return X;
--      end if;
--   end I_LLU;
--
--   ----------
--   -- I_LU --
--   ----------
--
--   function I_LU (Stream : not null access RST) return Long_Unsigned is
--      S : XDR_S_LU;
--      L : SEO;
--      U : Unsigned := 0;
--      X : Long_Unsigned := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return Long_Unsigned (XDR_S_LU_To_Long_Long_Unsigned (S));
--      else
--
--         --  Compute using machine unsigned
--         --  rather than long_unsigned.
--
--         for N in S'Range loop
--            U := U * BB + Unsigned (S (N));
--
--            --  We have filled an unsigned.
--            if N mod UB = 0 then
--               X := Shift_Left (X, US) + Long_Unsigned (U);
--               U := 0;
--            end if;
--         end loop;
--
--         return X;
--      end if;
--   end I_LU;
--
--   ----------
--   -- I_SF --
--   ----------
--
--   function I_SF (Stream : not null access RST) return Short_Float is
--      I       : constant Precision := Single;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      F_Size  : Integer  renames Fields (I).F_Size;
--      F_Mask  : SE       renames Fields (I).F_Mask;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Unsigned;
--      P : Boolean;
--      X : Short_Float;
--      S : SEA (1 .. SF_L);
--      L : SEO;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      end if;
--
--      --  Extract Fraction, Exponent and Sign.
--      X := Short_Float (S (SF_L + 1 - F_Bytes) and F_Mask);
--      for N in SF_L + 2 - F_Bytes .. SF_L loop
--         X := X * FB + Short_Float (S (N));
--      end loop;
--      X := Scaling (X, -F_Size); --  Short_Float
--
--      if BS <= S (1) then
--         P := False;
--         E := Unsigned (S (1) - BS);
--      else
--         P := True;
--         E := Unsigned (S (1));
--      end if;
--
--      for N in 2 .. E_Bytes loop
--         E := E * BB + Unsigned (S (N));
--      end loop;
--      E := Shift_Right (E, Integer (E_Bytes) * SU - E_Size - 1);
--
--      --  Look for special cases.
--      if X = 0.0 then
--
--         --  Signed zeros.
--         if E = 0 then
--            if P then
--               return Short_Float'Copy_Sign (0.0, 1.0);
--            else
--               return Short_Float'Copy_Sign (0.0, -1.0);
--            end if;
--
--         else
--
--            --  Signed infinites.
--            if E = Unsigned (E_Last) then
--               if P then
--                  return Short_Float'Safe_Last;
--               else
--                  return Short_Float'Safe_First;
--               end if;
--            end if;
--         end if;
--      end if;
--
--      --  Denormalized float.
--      if E = 0 then
--
--         X := Scaling (X, 1 - E_Bias); --  Short_Float
--
--      --  Normalized float.
--      else
--
--         X := Scaling (X + 1.0, Integer (E) - E_Bias); --  Short_Float
--
--      end if;
--
--      if P then
--         X := Short_Float'Copy_Sign (X, 1.0);
--      else
--         X := Short_Float'Copy_Sign (X, -1.0);
--      end if;
--
--      return X;
--   end I_SF;
--
--   ----------
--   -- I_SI --
--   ----------
--
--   function I_SI (Stream : not null access RST) return Short_Integer is
--      S : XDR_S_SI;
--      L : SEO;
--      U : XDR_SU := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return XDR_S_SI_To_Short_Integer (S);
--      else
--         for N in S'Range loop
--            U := U * BB + XDR_SU (S (N));
--         end loop;
--
--         --  test sign and apply two complement's notation.
--         if S (1) < BL then
--            return Short_Integer (U);
--         else
--            return Short_Integer (-((XDR_SU'Last xor U) + 1));
--         end if;
--      end if;
--   end I_SI;
--
--   -----------
--   -- I_SSI --
--   -----------
--
--   function I_SSI (Stream : not null access RST) return Short_Short_Integer is
--      S : XDR_S_SSI;
--      L : SEO;
--      U : XDR_SSU;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return XDR_S_SSI_To_Short_Short_Integer (S);
--      else
--         --  for N in S'Range loop
--         --     U := U * BB + XDR_SSU (S (N));
--         --  end loop;
--         U := XDR_SSU (S (1));
--
--         --  Test sign and apply two complement's notation.
--         if S (1) < BL then
--            return Short_Short_Integer (U);
--         else
--            return Short_Short_Integer (-((XDR_SSU'Last xor U) + 1));
--         end if;
--      end if;
--   end I_SSI;
--
--   -----------
--   -- I_SSU --
--   -----------
--
--   function I_SSU (Stream : not null access RST) return Short_Short_Unsigned is
--      S : XDR_S_SSU;
--      L : SEO;
--      U : XDR_SSU := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      else
--         --  for N in S'Range loop
--         --     U := U * BB + XDR_SSU (S (N));
--         --  end loop;
--         U := XDR_SSU (S (1));
--
--         return Short_Short_Unsigned (U);
--      end if;
--   end I_SSU;
--
--   ----------
--   -- I_SU --
--   ----------
--
--   function I_SU (Stream : not null access RST) return Short_Unsigned is
--      S : XDR_S_SU;
--      L : SEO;
--      U : XDR_SU := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return XDR_S_SU_To_Short_Unsigned (S);
--      else
--         for N in S'Range loop
--            U := U * BB + XDR_SU (S (N));
--         end loop;
--
--         return Short_Unsigned (U);
--      end if;
--   end I_SU;
--
--   ---------
--   -- I_U --
--   ---------
--
--   function I_U (Stream : not null access RST) return Unsigned is
--      S : XDR_S_U;
--      L : SEO;
--      U : XDR_U := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      elsif Optimize_Integers then
--         return XDR_S_U_To_Unsigned (S);
--      else
--         for N in S'Range loop
--            U := U * BB + XDR_U (S (N));
--         end loop;
--
--         return Unsigned (U);
--      end if;
--   end I_U;
--
--   ----------
--   -- I_WC --
--   ----------
--
--   function I_WC (Stream : not null access RST) return Wide_Character is
--      S : XDR_S_WC;
--      L : SEO;
--      U : XDR_WC := 0;
--
--   begin
--      Ada.Streams.Read (Stream.all, S, L);
--
--      if L /= S'Last then
--         raise Data_Error;
--      else
--         for N in S'Range loop
--            U := U * BB + XDR_WC (S (N));
--         end loop;
--
--         --  Use Ada requirements on Wide_Character representation clause.
--         return Wide_Character'Val (U);
--      end if;
--   end I_WC;
--
--   -------------
--   -- Scaling --
--   -------------
--
--   function Scaling
--     (X : Short_Float; A : Integer)
--      return Short_Float is
--      E : constant Integer := Short_Float'Exponent (X);
--   begin
--      return Short_Float'Compose (X, A + E);
--   end Scaling;
--
--   -------------
--   -- Scaling --
--   -------------
--
--   function Scaling
--     (X : Float; A : Integer)
--      return Float is
--      E : constant Integer := Float'Exponent (X);
--   begin
--      return Float'Compose (X, A + E);
--   end Scaling;
--
--   -------------
--   -- Scaling --
--   -------------
--
--   function Scaling
--     (X : Long_Float; A : Integer)
--      return Long_Float is
--      E : constant Integer := Long_Float'Exponent (X);
--   begin
--      return Long_Float'Compose (X, A + E);
--   end Scaling;
--
--   -------------
--   -- Scaling --
--   -------------
--
--   function Scaling
--     (X : Long_Long_Float; A : Integer)
--      return Long_Long_Float is
--      E : constant Integer := Long_Long_Float'Exponent (X);
--   begin
--      return Long_Long_Float'Compose (X, A + E);
--   end Scaling;
--
--   ----------
--   -- W_AD --
--   ----------
--
--   procedure W_AD (Stream : not null access RST; Item : Fat_Pointer) is
--      S : XDR_S_TM;
--      U : XDR_TM;
--
--   begin
--      U := XDR_TM (To_XDR_SA (Item.P1));
--      for N in reverse S'Range loop
--         S (N) := SE (U mod BB);
--         U := U / BB;
--      end loop;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      U := XDR_TM (To_XDR_SA (Item.P2));
--      for N in reverse S'Range loop
--         S (N) := SE (U mod BB);
--         U := U / BB;
--      end loop;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      if U /= 0 then
--         raise Data_Error;
--      end if;
--   end W_AD;
--
--   ----------
--   -- W_AS --
--   ----------
--
--   procedure W_AS (Stream : not null access RST; Item : Thin_Pointer) is
--      S : XDR_S_TM;
--      U : XDR_TM := XDR_TM (To_XDR_SA (Item.P1));
--
--   begin
--      for N in reverse S'Range loop
--         S (N) := SE (U mod BB);
--         U := U / BB;
--      end loop;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      if U /= 0 then
--         raise Data_Error;
--      end if;
--   end W_AS;
--
--   ---------
--   -- W_B --
--   ---------
--
--   procedure W_B (Stream : not null access RST; Item : Boolean) is
--   begin
--      if Item then
--         W_SSU (Stream, 1);
--      else
--         W_SSU (Stream, 0);
--      end if;
--   end W_B;
--
--   ---------
--   -- W_C --
--   ---------
--
--   procedure W_C (Stream : not null access RST; Item : Character) is
--      S : XDR_S_C;
--
--      pragma Assert (C_L = 1);
--
--   begin
--
--      --  Use Ada requirements on Character representation clause.
--      S (1) := SE (Character'Pos (Item));
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_C;
--
--   ---------
--   -- W_F --
--   ---------
--
--   procedure W_F (Stream : not null access RST; Item : Float) is
--      I       : constant Precision := Single;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Integer := 0;
--      F : Float;
--      Q : Float;
--      N : SEO;
--      U : Unsigned;
--      P : Integer;
--      S : SEA (1 .. F_L) := (others => 0);
--      V : Float;
--
--   begin
--      if Item'Valid then
--         V := Item;
--      else
--         V := 0.0;
--      end if;
--
--      F := abs (V);
--
--      --  Signed zero.
--      if V = 0.0 then
--
--         U := 0;
--
--      else
--
--         --  Signed infinites.
--         if V <= Float'Safe_First or else
--            Float'Safe_Last <= V then
--            E := E_Last;
--
--         else
--            E := Float'Exponent (F);
--
--            --  Denormalized float.
--            if E <= 1 - E_Bias then
--               E := 0;
--               F := Scaling (F, E_Bias - 1); --  Float
--
--            --  Signed infinites.
--            else
--               if E_Last + E_Bias < E then
--                  E := E_Last;
--                  F := 0.0;
--
--               --  Normalized float.
--               else
--                  E := E + E_Bias - 1;
--                  F := Float'Fraction (F) * 2.0 - 1.0;
--               end if;
--            end if;
--
--            --  Copy fraction on the stream array.
--            --  Compute using machine unsigned rather
--            --  than larger unsigned.
--            --  N : Number of intermediate unsigned.
--            --  F : Float fraction.
--            --  P : Bits to shift left.
--            --  U : Intermediate unsigned.
--
--            N := (F_Bytes - 1) / UB;
--            P := Fields (I).F_Bits;
--            loop
--               F := Scaling  (F, P); --  Float
--               Q := Float'Truncation (F);
--               U := Unsigned (Q);
--               for I in reverse F_L - UB * (N + 1) + 1 .. F_L - UB * N loop
--                  S (I) := SE (U mod BB);
--                  U := U / BB;
--               end loop;
--               exit when N = 0;
--               N := N - 1;
--               F := F - Q;
--               P := Unsigned'Size;
--            end loop;
--         end if;
--
--         --  Store the exponent at the proper bit position.
--         U := Shift_Left (Unsigned (E), Integer (E_Bytes) * SU - E_Size - 1);
--
--         --  We intentionnally don't store the first byte
--         --  as we have to add the sign bit.
--         for N in reverse 2 .. E_Bytes loop
--            S (N) := SE (U mod BB) + S (N);
--            U := U / BB;
--         end loop;
--
--      end if;
--
--      --  Store the sign and the first exponent byte.
--      if Float'Copy_Sign (1.0, V) = -1.0 then
--         S (1) := SE (U + BS);
--      else
--         S (1) := SE (U);
--      end if;
--      U := U / BB;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      if U /= 0 then
--         raise Data_Error;
--      end if;
--   end W_F;
--
--   ---------
--   -- W_I --
--   ---------
--
--   procedure W_I (Stream : not null access RST; Item : Integer) is
--      S : XDR_S_I;
--      U : XDR_U;
--
--   begin
--      if Optimize_Integers then
--         S := Integer_To_XDR_S_I (Item);
--      else
--         --  Test sign and apply two complement's notation.
--         if Item < 0 then
--            U := XDR_U'Last xor XDR_U (-(Item + 1));
--         else
--            U := XDR_U (Item);
--         end if;
--
--         for N in reverse S'Range loop
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_I;
--
--   ----------
--   -- W_LF --
--   ----------
--
--   procedure W_LF (Stream : not null access RST; Item : Long_Float) is
--      I       : constant Precision := Double;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Integer := 0;
--      F : Long_Float;
--      Q : Long_Float;
--      N : SEO;
--      U : Unsigned;
--      P : Integer;
--      S : SEA (1 .. LF_L) := (others => 0);
--      V : Long_Float;
--
--   begin
--      if Item'Valid then
--         V := Item;
--      else
--         V := 0.0;
--      end if;
--
--      F := abs (V);
--
--      --  Signed zero.
--      if V = 0.0 then
--
--         U := 0;
--
--      else
--
--         --  Signed infinites.
--         if V <= Long_Float'Safe_First or else
--            Long_Float'Safe_Last <= V then
--            E := E_Last;
--
--         else
--            E := Long_Float'Exponent (F);
--
--            --  Denormalized float.
--            if E <= 1 - E_Bias then
--               E := 0;
--               F := Scaling (F, E_Bias - 1); --  Long_Float
--
--            --  Signed infinites.
--            else
--               if E_Last + E_Bias < E then
--                  E := E_Last;
--                  F := 0.0;
--
--               --  Normalized float.
--               else
--                  E := E + E_Bias - 1;
--                  F := Long_Float'Fraction (F) * 2.0 - 1.0;
--               end if;
--            end if;
--
--            --  Copy fraction on the stream array.
--            --  Compute using machine unsigned rather
--            --  than larger unsigned.
--            --  N : Number of intermediate unsigned.
--            --  F : Float fraction.
--            --  P : Bits to shift left.
--            --  U : Intermediate unsigned.
--
--            N := (F_Bytes - 1) / UB;
--            P := Fields (I).F_Bits;
--            loop
--               F := Scaling  (F, P); --  Long_Float
--               Q := Long_Float'Truncation (F);
--               U := Unsigned (Q);
--               for I in reverse LF_L - UB * (N + 1) + 1 .. LF_L - UB * N loop
--                  S (I) := SE (U mod BB);
--                  U := U / BB;
--               end loop;
--               exit when N = 0;
--               N := N - 1;
--               F := F - Q;
--               P := Unsigned'Size;
--            end loop;
--         end if;
--
--         --  Store the exponent at the proper bit position.
--         U := Shift_Left (Unsigned (E), Integer (E_Bytes) * SU - E_Size - 1);
--
--         --  We intentionnally don't store the first byte
--         --  as we have to add the sign bit.
--         for N in reverse 2 .. E_Bytes loop
--            S (N) := SE (U mod BB) + S (N);
--            U := U / BB;
--         end loop;
--
--      end if;
--
--      --  Store the sign and the first exponent byte.
--      if Long_Float'Copy_Sign (1.0, V) = -1.0 then
--         S (1) := SE (U + BS);
--      else
--         S (1) := SE (U);
--      end if;
--      U := U / BB;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      if U /= 0 then
--         raise Data_Error;
--      end if;
--   end W_LF;
--
--   ----------
--   -- W_LI --
--   ----------
--
--   procedure W_LI (Stream : not null access RST; Item : Long_Integer) is
--      S : XDR_S_LI;
--      U : Unsigned;
--      X : Long_Unsigned;
--
--   begin
--      if Optimize_Integers then
--         S := Long_Long_Integer_To_XDR_S_LI (Long_Long_Integer (Item));
--      else
--         --  Test sign and apply two complement's notation.
--         if Item < 0 then
--            X := Long_Unsigned'Last xor Long_Unsigned (-(Item + 1));
--         else
--            X := Long_Unsigned (Item);
--         end if;
--
--         --  Compute using machine unsigned
--         --  rather than long_unsigned.
--
--         for N in reverse S'Range loop
--
--            --  We have filled an unsinged.
--            if (LU_L - N) mod UB = 0 then
--               U := Unsigned (X and UL);
--               X := Shift_Right (X, US);
--            end if;
--
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_LI;
--
--   -----------
--   -- W_LLF --
--   -----------
--
--   procedure W_LLF (Stream : not null access RST; Item : Long_Long_Float) is
--      I       : constant Precision := Extended;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Integer := 0;
--      F : Long_Long_Float;
--      Q : Long_Long_Float;
--      N : SEO;
--      U : Unsigned;
--      P : Integer;
--      S : SEA (1 .. LLF_L) := (others => 0);
--      V : Long_Long_Float;
--
--   begin
--      if Item'Valid then
--         V := Item;
--      else
--         V := 0.0;
--      end if;
--
--      F := abs (V);
--
--      --  Signed zero.
--      if V = 0.0 then
--
--         U := 0;
--
--      else
--
--         --  Signed infinites.
--         if V <= Long_Long_Float'Safe_First or else
--            Long_Long_Float'Safe_Last <= V then
--            E := E_Last;
--
--         else
--            E := Long_Long_Float'Exponent (F);
--
--            --  Denormalized float.
--            if E <= 1 - E_Bias then
--               E := 0;
--               F := Scaling (F, E_Bias - 1); --  Long_Long_Float
--
--            --  Signed infinites.
--            else
--               if E_Last + E_Bias < E then
--                  E := E_Last;
--                  F := 0.0;
--
--               --  Normalized float.
--               else
--                  E := E + E_Bias - 1;
--                  F := Long_Long_Float'Fraction (F) * 2.0 - 1.0;
--               end if;
--            end if;
--
--            --  Copy fraction on the stream array.
--            --  Compute using machine unsigned rather
--            --  than larger unsigned.
--            --  N : Number of intermediate unsigned.
--            --  F : Float fraction.
--            --  P : Bits to shift left.
--            --  U : Intermediate unsigned.
--
--            N := (F_Bytes - 1) / UB;
--            P := Fields (I).F_Bits;
--            loop
--               F := Scaling  (F, P); --  Long_Long_Float
--               Q := Long_Long_Float'Truncation (F);
--               U := Unsigned (Q);
--               for I in reverse LLF_L - UB * (N + 1) + 1 .. LLF_L - UB * N loop
--                  S (I) := SE (U mod BB);
--                  U := U / BB;
--               end loop;
--               exit when N = 0;
--               N := N - 1;
--               F := F - Q;
--               P := Unsigned'Size;
--            end loop;
--         end if;
--
--         --  Store the exponent at the proper bit position.
--         U := Shift_Left (Unsigned (E), Integer (E_Bytes) * SU - E_Size - 1);
--
--         --  We intentionnally don't store the first byte
--         --  as we have to add the sign bit.
--         for N in reverse 2 .. E_Bytes loop
--            S (N) := SE (U mod BB) + S (N);
--            U := U / BB;
--         end loop;
--
--      end if;
--
--      --  Store the sign and the first exponent byte.
--      if Long_Long_Float'Copy_Sign (1.0, V) = -1.0 then
--         S (1) := SE (U + BS);
--      else
--         S (1) := SE (U);
--      end if;
--      U := U / BB;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      if U /= 0 then
--         raise Data_Error;
--      end if;
--   end W_LLF;
--
--   -----------
--   -- W_LLI --
--   -----------
--
--   procedure W_LLI
--     (Stream : not null access RST; Item : Long_Long_Integer)
--   is
--      S : XDR_S_LLI;
--      U : Unsigned;
--      X : Long_Long_Unsigned;
--
--   begin
--      if Optimize_Integers then
--         S := Long_Long_Integer_To_XDR_S_LLI (Item);
--      else
--         --  Test sign and apply two complement's notation.
--         if Item < 0 then
--            X := Long_Long_Unsigned'Last xor Long_Long_Unsigned (-(Item + 1));
--         else
--            X := Long_Long_Unsigned (Item);
--         end if;
--
--         --  Compute using machine unsigned
--         --  rather than long_long_unsigned.
--
--         for N in reverse S'Range loop
--
--            --  We have filled an unsigned.
--            if (LLU_L - N) mod UB = 0 then
--               U := Unsigned (X and UL);
--               X := Shift_Right (X, US);
--            end if;
--
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_LLI;
--
--   -----------
--   -- W_LLU --
--   -----------
--
--   procedure W_LLU
--     (Stream : not null access RST; Item : Long_Long_Unsigned)
--   is
--      S : XDR_S_LLU;
--      U : Unsigned;
--      X : Long_Long_Unsigned := Item;
--
--   begin
--      if Optimize_Integers then
--         S := Long_Long_Unsigned_To_XDR_S_LLU (Item);
--      else
--         --  Compute using machine unsigned
--         --  rather than long_long_unsigned.
--
--         for N in reverse S'Range loop
--
--            --  We have filled an unsigned.
--            if (LLU_L - N) mod UB = 0 then
--               U := Unsigned (X and UL);
--               X := Shift_Right (X, US);
--            end if;
--
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_LLU;
--
--   ----------
--   -- W_LU --
--   ----------
--
--   procedure W_LU (Stream : not null access RST; Item : Long_Unsigned) is
--      S : XDR_S_LU;
--      U : Unsigned;
--      X : Long_Unsigned := Item;
--
--   begin
--      if Optimize_Integers then
--         S := Long_Long_Unsigned_To_XDR_S_LU (Long_Long_Unsigned (Item));
--      else
--         --  Compute using machine unsigned
--         --  rather than long_unsigned.
--
--         for N in reverse S'Range loop
--
--            --  We have filled an unsigned.
--            if (LU_L - N) mod UB = 0 then
--               U := Unsigned (X and UL);
--               X := Shift_Right (X, US);
--            end if;
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_LU;
--
--   ----------
--   -- W_SF --
--   ----------
--
--   procedure W_SF (Stream : not null access RST; Item : Short_Float) is
--      I       : constant Precision := Single;
--      E_Size  : Integer  renames Fields (I).E_Size;
--      E_Bias  : Integer  renames Fields (I).E_Bias;
--      E_Last  : Integer  renames Fields (I).E_Last;
--      E_Bytes : SEO      renames Fields (I).E_Bytes;
--      F_Bytes : SEO      renames Fields (I).F_Bytes;
--
--      E : Integer := 0;
--      F : Short_Float;
--      Q : Short_Float;
--      N : SEO;
--      U : Unsigned := 0;
--      P : Integer;
--      S : SEA (1 .. SF_L) := (others => 0);
--      V : Short_Float;
--
--   begin
--      if Item'Valid then
--         V := Item;
--      else
--         V := 0.0;
--      end if;
--
--      F := abs (V);
--
--      --  Signed zero.
--      if V = 0.0 then
--
--         U := 0;
--
--      else
--
--         --  Signed infinites.
--         if V <= Short_Float'Safe_First or else
--            Short_Float'Safe_Last <= V then
--            E := E_Last;
--
--         else
--            E := Short_Float'Exponent (F);
--
--            --  Denormalized float.
--            if E <= 1 - E_Bias then
--               E := 0;
--               F := Scaling (F, E_Bias - 1); --  Short_Float
--
--            --  Signed infinites.
--            else
--               if E_Last + E_Bias < E then
--                  E := E_Last;
--                  F := 0.0;
--
--               --  Normalized float.
--               else
--                  E := E + E_Bias - 1;
--                  F := Short_Float'Fraction (F) * 2.0 - 1.0;
--               end if;
--            end if;
--
--            --  Copy fraction on the stream array.
--            --  Compute using machine unsigned rather
--            --  than larger unsigned.
--            --  N : Number of intermediate unsigned.
--            --  F : Float fraction.
--            --  P : Bits to shift left.
--            --  U : Intermediate unsigned.
--
--            N := (F_Bytes - 1) / UB;
--            P := Fields (I).F_Bits;
--            loop
--               F := Scaling  (F, P); --  Short_Float
--               Q := Short_Float'Truncation (F);
--               U := Unsigned (Q);
--               for I in reverse SF_L - UB * (N + 1) + 1 .. SF_L - UB * N loop
--                  S (I) := SE (U mod BB);
--                  U := U / BB;
--               end loop;
--               exit when N = 0;
--               N := N - 1;
--               F := F - Q;
--               P := Unsigned'Size;
--            end loop;
--         end if;
--
--         --  Store the exponent at the proper bit position.
--         U := Shift_Left (Unsigned (E), Integer (E_Bytes) * SU - E_Size - 1);
--
--         --  We intentionnally don't store the first byte
--         --  as we have to add the sign bit.
--         for N in reverse 2 .. E_Bytes loop
--            S (N) := SE (U mod BB) + S (N);
--            U := U / BB;
--         end loop;
--
--      end if;
--
--      --  Store the sign and the first exponent byte.
--      if Short_Float'Copy_Sign (1.0, V) = -1.0 then
--         S (1) := SE (U + BS);
--      else
--         S (1) := SE (U);
--      end if;
--      U := U / BB;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      if U /= 0 then
--         raise Data_Error;
--      end if;
--   end W_SF;
--
--   ----------
--   -- W_SI --
--   ----------
--
--   procedure W_SI (Stream : not null access RST; Item : Short_Integer) is
--      S : XDR_S_SI;
--      U : XDR_SU;
--
--   begin
--      if Optimize_Integers then
--         S := Short_Integer_To_XDR_S_SI (Item);
--      else
--         --  Test sign and apply two complement's notation.
--         if Item < 0 then
--            U := XDR_SU'Last xor XDR_SU (-(Item + 1));
--         else
--            U := XDR_SU (Item);
--         end if;
--
--         for N in reverse S'Range loop
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_SI;
--
--   -----------
--   -- W_SSI --
--   -----------
--
--   procedure W_SSI
--     (Stream : not null access RST; Item : Short_Short_Integer)
--   is
--      S : XDR_S_SSI;
--      U : XDR_SSU;
--
--   begin
--      if Optimize_Integers then
--         S := Short_Short_Integer_To_XDR_S_SSI (Item);
--      else
--         --  Test sign and apply two complement's notation.
--         if Item < 0 then
--            U := XDR_SSU'Last xor XDR_SSU (-(Item + 1));
--         else
--            U := XDR_SSU (Item);
--         end if;
--
--         S (1) := SE (U);
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_SSI;
--
--   -----------
--   -- W_SSU --
--   -----------
--
--   procedure W_SSU
--     (Stream : not null access RST; Item : Short_Short_Unsigned)
--   is
--      S : XDR_S_SSU;
--      U : constant XDR_SSU := XDR_SSU (Item);
--
--   begin
--      --  for N in reverse S'Range loop
--      --     S (N) := SE (U mod BB);
--      --     U := U / BB;
--      --  end loop;
--      S (1) := SE (U);
--
--      Ada.Streams.Write (Stream.all, S);
--
--      --  if U /= 0 then
--      --     raise Data_Error;
--      --  end if;
--   end W_SSU;
--
--   ----------
--   -- W_SU --
--   ----------
--
--   procedure W_SU (Stream : not null access RST; Item : Short_Unsigned) is
--      S : XDR_S_SU;
--      U : XDR_SU := XDR_SU (Item);
--
--   begin
--      if Optimize_Integers then
--         S := Short_Unsigned_To_XDR_S_SU (Item);
--      else
--         for N in reverse S'Range loop
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_SU;
--
--   ---------
--   -- W_U --
--   ---------
--
--   procedure W_U (Stream : not null access RST; Item : Unsigned) is
--      S : XDR_S_U;
--      U : XDR_U := XDR_U (Item);
--
--   begin
--      if Optimize_Integers then
--         S := Unsigned_To_XDR_S_U (Item);
--      else
--         for N in reverse S'Range loop
--            S (N) := SE (U mod BB);
--            U := U / BB;
--         end loop;
--
--         if U /= 0 then
--            raise Data_Error;
--         end if;
--      end if;
--
--      Ada.Streams.Write (Stream.all, S);
--   end W_U;
--
--   ----------
--   -- W_WC --
--   ----------
--
--   procedure W_WC (Stream : not null access RST; Item : Wide_Character) is
--      S : XDR_S_WC;
--      U : XDR_WC;
--
--   begin
--
--      --  Use Ada requirements on Wide_Character representation clause.
--      U := XDR_WC (Wide_Character'Pos (Item));
--
--      for N in reverse S'Range loop
--         S (N) := SE (U mod BB);
--         U := U / BB;
--      end loop;
--
--      Ada.Streams.Write (Stream.all, S);
--
--      if U /= 0 then
--         raise Data_Error;
--      end if;
--   end W_WC;
--
--end System.Stream_Attributes;
diff --git a/gnat-glade/patches/patch-Garlic_select.c b/gnat-glade/patches/patch-Garlic_select.c
deleted file mode 100644
index e5a1d97824..0000000000
--- a/gnat-glade/patches/patch-Garlic_select.c
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-Garlic_select.c,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix link time version warning on NetBSD
-
---- /dev/null
-+++ Garlic/select.c
-@@ -0,0 +1,7 @@
-+#include <sys/select.h>
-+int
-+__netbsd_select(int nfds, fd_set * restrict readfds, fd_set * restrict writefds,
-+    fd_set * restrict exceptfds, struct timeval * restrict timeout)
-+{
-+    return select(nfds, readfds, writefds, exceptfds, timeout);
-+}
diff --git a/gnat-glade/patches/patch-configure b/gnat-glade/patches/patch-configure
deleted file mode 100644
index 04f1575403..0000000000
--- a/gnat-glade/patches/patch-configure
+++ /dev/null
@@ -1,89 +0,0 @@
-$NetBSD: patch-configure,v 1.0 2024/12/05 15:00:00 dkazankov Exp $
-
-Fix version
-Add var for configuration helper
-Fix GNAT version control
-Add NetBSD support
-Fix link time version warning
-Add configuration helper
-
---- configure.orig	2007-11-28 21:27:21.000000000 +0200
-+++ configure
-@@ -1669,7 +1669,7 @@
- 
- # Define the identity of the package.
-  PACKAGE=GLADE
-- VERSION=dev
-+ VERSION=6.0.1
- 
- 
- cat >>confdefs.h <<_ACEOF
-@@ -3372,7 +3372,6 @@
- fi
- 
- 
--
- #
- # Check for maintainer mode
- #
-@@ -3521,8 +3520,14 @@
- 
- echo "$as_me:$LINENO: checking if the Ada compiler is recent enough" >&5
- echo $ECHO_N "checking if the Ada compiler is recent enough... $ECHO_C" >&6
--am_gnatls_date=`$GNATLS -v | $SED -ne 's/^GNATLS .*(\(........\).*$/\1/p'`
--if test "20041007" -le "$am_gnatls_date"; then
-+am_gnatls_date=`$GNATLS -v | $SED -ne 's/^GNATLS .*(\(........\)).*$/\1/p'`
-+if test -z "$am_gnatls_date"; then
-+  echo "$as_me:$LINENO: result: yes" >&5
-+  echo "${ECHO_T}yes" >&6
-+elif test "release" -le "$am_gnatls_date"; then
-+  echo "$as_me:$LINENO: result: yes" >&5
-+  echo "${ECHO_T}yes" >&6
-+elif test "20041007" -le "$am_gnatls_date"; then
-   echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6
- else
-@@ -3559,6 +3564,7 @@
-     *-linux*)          PLATFORM_SPECIFIC=l;;
-     *-*-solaris2*)     PLATFORM_SPECIFIC=s;;
-     sparc-sun-sunos4*) PLATFORM_SPECIFIC=u;;
-+    *-*netbsd)         PLATFORM_SPECIFIC=n;;
-     *)                 ;;
-   esac
- 
-@@ -3574,6 +3580,7 @@
-     g) PSNAME="SGI";;
-     h) PSNAME="HP";;
-     b) PSNAME="AIX";;
-+    n) PSNAME="NetBSD";;
-     e) PSNAME="Empty";;
-     *) PSNAME="Unknown target (${target})";;
-   esac
-@@ -3596,8 +3603,8 @@
- 
-   PROCESS_BLOCKING_IO="no";
-   case ${PLATFORM_SPECIFIC} in
--  s|l)
--    ${GNATMAKE} -q -o ./isthrbio ${srcdir}/Garlic/isthrbio.adb>/dev/null 2>&1;
-+  s|l|n)
-+    ${GNATMAKE} -q -P${srcdir}/Garlic/isthrbio.gpr >/dev/null 2>&1;
-     if ./isthrbio; then
-       PROCESS_BLOCKING_IO="yes";
-     fi;
-@@ -4054,7 +4061,7 @@
- #
- # Output
- #
--                                                                                                                                                                                                        ac_config_files="$ac_config_files Makefile Dist/Makefile Dist/xe_defs-defaults.ads Garlic/Makefile Garlic/s-gaplsp.ads Examples/check-config Examples/Makefile Examples/Bank/Makefile Examples/Eratho/Makefile Examples/Eratho/absolute/Makefile Examples/Eratho/cycle/Makefile Examples/Eratho/dynamic/Makefile Examples/Eratho/spiral/Makefile Examples/Filters/Makefile Examples/Messages/Makefile Examples/MultiPro/Makefile Examples/DSMStorage/Makefile Examples/MultiSto/Makefile Examples/Reconnection/Makefile Examples/LightBank/Makefile"
-+ac_config_files="$ac_config_files Makefile Dist/Makefile Dist/xe_defs-defaults.ads Dist/gnatdist-config Garlic/Makefile Garlic/s-gaplsp.ads Examples/check-config Examples/Makefile Examples/Bank/Makefile Examples/Eratho/Makefile Examples/Eratho/absolute/Makefile Examples/Eratho/cycle/Makefile Examples/Eratho/dynamic/Makefile Examples/Eratho/spiral/Makefile Examples/Filters/Makefile Examples/Messages/Makefile Examples/MultiPro/Makefile Examples/DSMStorage/Makefile Examples/MultiSto/Makefile Examples/Reconnection/Makefile Examples/LightBank/Makefile"
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
- # tests run on this system so they can be shared between configure
-@@ -4633,6 +4640,7 @@
-   "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-   "Dist/Makefile" ) CONFIG_FILES="$CONFIG_FILES Dist/Makefile" ;;
-   "Dist/xe_defs-defaults.ads" ) CONFIG_FILES="$CONFIG_FILES Dist/xe_defs-defaults.ads" ;;
-+  "Dist/gnatdist-config" ) CONFIG_FILES="$CONFIG_FILES Dist/gnatdist-config" ;;
-   "Garlic/Makefile" ) CONFIG_FILES="$CONFIG_FILES Garlic/Makefile" ;;
-   "Garlic/s-gaplsp.ads" ) CONFIG_FILES="$CONFIG_FILES Garlic/s-gaplsp.ads" ;;
-   "Examples/check-config" ) CONFIG_FILES="$CONFIG_FILES Examples/check-config" ;;


Home | Main Index | Thread Index | Old Index