Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 2015 15:11:41 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r381407 - in head: devel/gprbuild devel/gprbuild/files lang/gcc-aux lang/gnat_util
Message-ID:  <201503161511.t2GFBfJ4065166@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Mon Mar 16 15:11:40 2015
New Revision: 381407
URL: https://svnweb.freebsd.org/changeset/ports/381407
QAT: https://qat.redports.org/buildarchive/r381407/

Log:
  lang/gnat_util, devel/gprbuild: Support gcc5-aux
  
  GPRBuild is too highly tethered to the compiler -- in practical terms
  each version of GPRBuild is meant to be built by a specific GPL GNAT,
  but we're trying to build it with multiple FSF GNATS that are out of sync.
  
  This patch set does allow GPRBuild to build and apparently work with both
  gcc-aux and gcc5-aux.  There is no real change for gcc-aux (OpenVMS is
  removed from the code but it should be same difference) ang for gcc5-aux,
  the previous patches aren't needed but new ones are.  Thus, EXTRA_PATCHES
  had to be set for each of the two supported compilers.
  
  lang/gnat_utils had to be modified to stop packaging OpenVMS target files
  as apparently this target has been removed from gcc5-aux.

Added:
  head/devel/gprbuild/files/extrapatch-5-gprbuild-main.adb   (contents, props changed)
  head/devel/gprbuild/files/extrapatch-5-gprbuild-post.adb   (contents, props changed)
  head/devel/gprbuild/files/extrapatch-5-gprbuild-slave.adb   (contents, props changed)
  head/devel/gprbuild/files/extrapatch-5-gprlib.adb   (contents, props changed)
  head/devel/gprbuild/files/extrapatch-protocol.adb   (contents, props changed)
  head/devel/gprbuild/files/extrapatch-src_gprbuild-main.adb   (contents, props changed)
  head/devel/gprbuild/files/extrapatch-src_gprslave.adb   (contents, props changed)
  head/devel/gprbuild/files/extrapatch-src_rewrite__data.ada   (contents, props changed)
Deleted:
  head/devel/gprbuild/files/patch-src_gprbuild-compilation-protocol.adb
  head/devel/gprbuild/files/patch-src_gprbuild-main.adb
  head/devel/gprbuild/files/patch-src_gprslave.adb
  head/devel/gprbuild/files/patch-src_rewrite__data.ada
Modified:
  head/devel/gprbuild/Makefile
  head/lang/gcc-aux/Makefile.version
  head/lang/gnat_util/Makefile
  head/lang/gnat_util/Makefile.sources

Modified: head/devel/gprbuild/Makefile
==============================================================================
--- head/devel/gprbuild/Makefile	Mon Mar 16 14:54:37 2015	(r381406)
+++ head/devel/gprbuild/Makefile	Mon Mar 16 15:11:40 2015	(r381407)
@@ -26,7 +26,19 @@ PORTEXAMPLES=	*
 
 OPTIONS_DEFINE=	DOCS EXAMPLES
 
-.include <bsd.port.options.mk>
+.include <bsd.port.pre.mk>
+
+.if ${ADAXX:Mgcc}
+EXTRA_PATCHES=	${FILESDIR}/extrapatch-protocol.adb \
+		${FILESDIR}/extrapatch-src_gprbuild-main.adb \
+		${FILESDIR}/extrapatch-src_gprslave.adb \
+		${FILESDIR}/extrapatch-src_rewrite__data.ada
+.else
+EXTRA_PATCHES=	${FILESDIR}/extrapatch-5-gprbuild-main.adb \
+		${FILESDIR}/extrapatch-5-gprbuild-slave.adb \
+		${FILESDIR}/extrapatch-5-gprbuild-post.adb \
+		${FILESDIR}/extrapatch-5-gprlib.adb
+.endif
 
 do-build:
 #	Recreate the do-build target without -j parameter
@@ -37,10 +49,21 @@ do-build:
 post-patch:
 	@${REINPLACE_CMD} -e "s,@AUXPREFIX@,${PREFIX}/gcc-aux," \
 		${WRKSRC}/share/gprconfig/compilers.xml
+	# OpenVMS was removed from GCC 5, and it obviously isn't used
+	# here so replace boolean check to False so it builds on both
+.if ${ADAXX:Mgcc}
 	# Try_Help is part of GNAT Pro, but it's not in GCC 4.9 yet
 	# It's not strictly needed. Before it just repeated usage.
 	# There are other messages; just suppress Try_Help on 4 files
-	${REINPLACE_CMD} -e '/Try_Help;/d' ${WRKSRC}/src/*-main.adb
+	${REINPLACE_CMD} -e '/Try_Help;/d' \
+		-e 's|Hostparm.OpenVMS|False|' ${WRKSRC}/src/*-main.adb \
+		${WRKSRC}/src/gprbind.adb ${WRKSRC}/src/gprlib.adb
+.else	# gcc5-aux
+	${REINPLACE_CMD} -e 's|Hostparm.OpenVMS|False|' \
+		${WRKSRC}/src/*-main.adb \
+		${WRKSRC}/src/gprbind.adb \
+		${WRKSRC}/src/gprlib.adb
+.endif
 
 post-install:
 .if !${PORT_OPTIONS:MDOCS}
@@ -52,4 +75,4 @@ post-install:
 	(cd ${STAGEDIR}${PREFIX} && ${FIND} share/examples -type d -empty | \
 	  ${SORT} -dr | ${XARGS} ${RMDIR})
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>

Added: head/devel/gprbuild/files/extrapatch-5-gprbuild-main.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-5-gprbuild-main.adb	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,30 @@
+--- src/gprbuild-main.adb.orig	2014-04-17 09:50:17 UTC
++++ src/gprbuild-main.adb
+@@ -182,11 +182,22 @@ procedure Gprbuild.Main is
+             end if;
+ 
+             if Is_Allowed_Language (Main_Id.Source.Language.Name) then
+-               Queue.Insert
+-                 (Source     => (Format => Format_Gprbuild,
+-                                 Tree   => Main_Id.Tree,
+-                                 Id     => Main_Id.Source),
+-                  With_Roots => Builder_Data (Main_Id.Tree).Closure_Needed);
++               declare
++                  Closure : Boolean :=
++                            Builder_Data (Main_Id.Tree).Closure_Needed;
++               begin
++                  if Main_Id.Source.Language.Config.Kind /= Unit_Based
++                    and then Main_Id.Source.Roots = null
++                  then
++                     Closure := False;
++                  end if;
++                  Queue.Insert
++                    (Source     => (Format  => Format_Gprbuild,
++                                    Tree    => Main_Id.Tree,
++                                    Id      => Main_Id.Source,
++                                    Closure => Closure),
++                     With_Roots => Builder_Data (Main_Id.Tree).Closure_Needed);
++               end;
+ 
+                --  If a non Ada main has no roots, then all sources need to be
+                --  compiled, so no need to check for closure.

Added: head/devel/gprbuild/files/extrapatch-5-gprbuild-post.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-5-gprbuild-post.adb	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,26 @@
+--- src/gprbuild-post_compile.adb.orig	2014-04-17 09:50:17 UTC
++++ src/gprbuild-post_compile.adb
+@@ -2558,6 +2558,7 @@ package body Gprbuild.Post_Compile is
+                if Main_Source.Language.Name = B_Data.Language.Name then
+                   Queue.Insert
+                     (Source => (Format => Format_Gprbuild,
++                                Closure => False,
+                                 Tree   => Main_File.Tree,
+                                 Id     => Main_File.Source));
+                end if;
+@@ -2567,6 +2568,7 @@ package body Gprbuild.Post_Compile is
+                while Roots /= null loop
+                   Queue.Insert
+                     (Source => (Format => Format_Gprbuild,
++                                Closure => False,
+                                 Tree   => Main_File.Tree,
+                                 Id     => Roots.Root));
+                   Roots := Roots.Next;
+@@ -2627,6 +2629,7 @@ package body Gprbuild.Post_Compile is
+ 
+                         Queue.Insert
+                           (Source => (Format => Format_Gprbuild,
++                                      Closure => False,
+                                       Tree   => Main_File.Tree,
+                                       Id     => Source));
+                      end if;

Added: head/devel/gprbuild/files/extrapatch-5-gprbuild-slave.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-5-gprbuild-slave.adb	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,11 @@
+--- src/gprbuild-compilation-slave.adb.orig	2014-04-17 09:50:17 UTC
++++ src/gprbuild-compilation-slave.adb
+@@ -817,7 +817,7 @@ package body Gprbuild.Compilation.Slave
+                S : Slave := Slave_S.Element (C);
+             begin
+                Proc (S);
+-               Pool (C) := S;
++               Pool.Replace_Element (Position => C, New_Item => S);
+             end;
+          end loop;
+       end Iterate;

Added: head/devel/gprbuild/files/extrapatch-5-gprlib.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-5-gprlib.adb	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,17 @@
+--- src/gprlib.adb.orig	2014-04-17 09:50:17 UTC
++++ src/gprlib.adb
+@@ -1185,12 +1185,12 @@ begin
+                        new String'
+                          ("-lgnat" &
+                           Shared_Libgnat_Separator &
+-                          Line (6 .. Last));
++                          Line (6));
+                      Libgnarl :=
+                        new String'
+                          ("-lgnarl" &
+                           Shared_Libgnat_Separator &
+-                          Line (6 .. Last));
++                          Line (6));
+                   end if;
+ 
+                else

Added: head/devel/gprbuild/files/extrapatch-protocol.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-protocol.adb	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,33 @@
+The GNAT.Rewrite_Data package in not in FSF GNAT yet.  Use the local 2013
+version which does not have the Link method.  This essentially changes
+this file back to the GPRBuild 2013 version, so it should be ok.
+
+--- src/gprbuild-compilation-protocol.adb.orig	2014-04-17 09:50:17.000000000 +0000
++++ src/gprbuild-compilation-protocol.adb
+@@ -24,7 +24,7 @@ with Ada.Streams.Stream_IO;
+ with Ada.Strings.Fixed;           use Ada.Strings.Fixed;
+ with Ada.Strings.Maps.Constants;  use Ada.Strings.Maps;
+ 
+-with GNAT.Rewrite_Data;
++with Rewrite_Data;
+ with GNAT.String_Split;     use GNAT.String_Split;
+ 
+ with Gnatvsn;      use Gnatvsn;
+@@ -180,8 +180,6 @@ package body Gprbuild.Compilation.Protoc
+          end Output;
+ 
+       begin
+-         Rewrite_Data.Link (Rewriter, Rewriter_CD'Unchecked_Access);
+-
+          if Dir /= "" and then not Exists (Dir) then
+             Create_Directory (Dir);
+          end if;
+@@ -666,8 +664,6 @@ package body Gprbuild.Compilation.Protoc
+       end Output;
+ 
+    begin
+-      Rewrite_Data.Link (Rewriter, Rewriter_CD'Unchecked_Access);
+-
+       if Exists (Path_Name) then
+          Open (File, In_File, Path_Name);
+ 

Added: head/devel/gprbuild/files/extrapatch-src_gprbuild-main.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-src_gprbuild-main.adb	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,14 @@
+It seems GNAT Pro makeutl.adb renamed an argument which hasn't trickled
+back to FSF GCC yet.
+
+--- src/gprbuild-main.adb.orig	2014-04-17 09:50:17.000000000 +0000
++++ src/gprbuild-main.adb
+@@ -2099,7 +2099,7 @@ begin
+ 
+    Do_Compute_Builder_Switches
+      (Project_Tree     => Project_Tree,
+-      Env              => Root_Environment,
++      Root_Environment => Root_Environment,
+       Main_Project     => Main_Project);
+ 
+    Queue.Initialize (Opt.One_Compilation_Per_Obj_Dir);

Added: head/devel/gprbuild/files/extrapatch-src_gprslave.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-src_gprslave.adb	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,25 @@
+Set_File_Last_Modify_Time_Stamp has been added to GNAT.OS_Lib on GNAT Pro
+but that hasn't made it to gcc 4.9 yet.  For the moment, just disable the
+set file timestamp functionality that it serves here.
+
+--- src/gprslave.adb.orig	2014-04-17 09:50:17.000000000 +0000
++++ src/gprslave.adb
+@@ -1261,17 +1261,8 @@ procedure Gprslave is
+          procedure Set_Stamp
+            (Path_Name : String; Time_Stamp : Time_Stamp_Type)
+          is
+-            TS : constant String := String (Time_Stamp);
+          begin
+-            Set_File_Last_Modify_Time_Stamp
+-              (Path_Name,
+-               GM_Time_Of
+-                 (Year   => Year_Type'Value (TS (1 .. 4)),
+-                  Month  => Month_Type'Value (TS (5 .. 6)),
+-                  Day    => Day_Type'Value (TS (7 .. 8)),
+-                  Hour   => Hour_Type'Value (TS (9 .. 10)),
+-                  Minute => Minute_Type'Value (TS (11 .. 12)),
+-                  Second => Second_Type'Value (TS (13 .. 14))));
++            pragma Unreferenced (Path_Name, Time_Stamp);
+          end Set_Stamp;
+ 
+          ------------------

Added: head/devel/gprbuild/files/extrapatch-src_rewrite__data.ada
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/gprbuild/files/extrapatch-src_rewrite__data.ada	Mon Mar 16 15:11:40 2015	(r381407)
@@ -0,0 +1,288 @@
+This functionality was part of GPRBuild 2013, but it has since moved to
+GNAT itself.  Unfortunately, that's only happened for GNAT Pro so GCC 4.9
+doesn't have this GNAT.Rewrite_Data.  Moveover, the GNAT Pro version has
+been extended since 2013.
+
+Bring in the GNAT 2013 local Rewrite_Data package to build GPRBuild 2014.
+
+--- src/rewrite_data.ads.orig	2014-05-16 07:42:27.000000000 +0000
++++ src/rewrite_data.ads
+@@ -0,0 +1,86 @@
++------------------------------------------------------------------------------
++--                         GNAT COMPILER COMPONENTS                         --
++--                                                                          --
++--                         R E W R I T E _ D A T A                          --
++--                                                                          --
++--                                 S p e c                                  --
++--                                                                          --
++--            Copyright (C) 2012, Free Software Foundation, Inc.            --
++--                                                                          --
++-- This 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 3,  or (at your option) any later ver- --
++-- sion.  This software is distributed in the hope  that it will be useful, --
++-- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- --
++-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
++-- License for  more details.  You should have  received  a copy of the GNU --
++-- General  Public  License  distributed  with  this  software;   see  file --
++-- COPYING3.  If not, go to http://www.gnu.org/licenses for a complete copy --
++-- of the license.                                                          --
++------------------------------------------------------------------------------
++
++with Ada.Streams; use Ada.Streams;
++
++package Rewrite_Data is
++
++   type Buffer
++     (Size, Size_Pattern, Size_Value : Stream_Element_Offset) is
++   limited private;
++
++   function Create
++     (Pattern, Value : String;
++      Size           : Stream_Element_Offset := 1_024) return Buffer;
++   --  Create and return a buffer
++
++   procedure Write
++     (B      : in out Buffer;
++      Data   : Stream_Element_Array;
++      Output : not null access procedure (Data : Stream_Element_Array));
++   --  Write Data into the buffer, call Output for any prepared data
++
++   function Size (B : Buffer) return Natural;
++   --  Returns the current size of the buffer (count of Stream_Array_Element)
++
++   procedure Flush
++     (B      : in out Buffer;
++      Output : not null access procedure (Data : Stream_Element_Array));
++   --  Call Output for all remaining data in the buffer. The buffer is
++   --  reset and ready for another use after this call.
++
++   procedure Reset (B : in out Buffer);
++   pragma Inline (Reset);
++   --  Clear all data in buffer, B is ready for another use. Note that this is
++   --  not needed after a Flush.
++
++   procedure Rewrite
++     (B      : in out Buffer;
++      Input  : not null access procedure
++                 (Buffer : out Stream_Element_Array;
++                  Last   : out Stream_Element_Offset);
++      Output : not null access procedure (Data : Stream_Element_Array));
++   --  Read data from Input, rewrite them and then call Output
++
++private
++
++   type Buffer
++     (Size, Size_Pattern, Size_Value : Stream_Element_Offset) is
++   limited record
++      --  Fully prepared/rewritten data waiting to be output
++      Buffer  : Stream_Element_Array (1 .. Size);
++
++      --  Current data checked, this buffer contains every piece of data
++      --  starting with the pattern. It means that at any point:
++      --  Current (1 .. Pos_C) = Pattern (1 .. Pos_C)
++      Current : Stream_Element_Array (1 .. Size_Pattern);
++
++      --  The pattern to look for
++      Pattern : Stream_Element_Array (1 .. Size_Pattern);
++
++      --  The value the pattern is replaced by
++      Value   : Stream_Element_Array (1 .. Size_Value);
++
++      Pos_C   : Stream_Element_Offset; -- last valid element in Current
++      Pos_B   : Stream_Element_Offset; -- last valid element in Buffer
++   end record;
++
++end Rewrite_Data;
+--- src/rewrite_data.adb.orig	2014-05-16 07:42:21.000000000 +0000
++++ src/rewrite_data.adb
+@@ -0,0 +1,189 @@
++------------------------------------------------------------------------------
++--                         GNAT COMPILER COMPONENTS                         --
++--                                                                          --
++--                         R E W R I T E _ D A T A                          --
++--                                                                          --
++--                                 B o d y                                  --
++--                                                                          --
++--            Copyright (C) 2012, Free Software Foundation, Inc.            --
++--                                                                          --
++-- This 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 3,  or (at your option) any later ver- --
++-- sion.  This software is distributed in the hope  that it will be useful, --
++-- but WITHOUT ANY WARRANTY;  without even the implied warranty of MERCHAN- --
++-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
++-- License for  more details.  You should have  received  a copy of the GNU --
++-- General  Public  License  distributed  with  this  software;   see  file --
++-- COPYING3.  If not, go to http://www.gnu.org/licenses for a complete copy --
++-- of the license.                                                          --
++------------------------------------------------------------------------------
++
++with Ada.Unchecked_Conversion;
++
++package body Rewrite_Data is
++
++   use Ada;
++
++   subtype SEO is Stream_Element_Offset;
++
++   ------------
++   -- Create --
++   ------------
++
++   function Create
++     (Pattern, Value : String;
++      Size           : Stream_Element_Offset := 1_024) return Buffer
++   is
++
++      subtype SP   is String (1 .. Pattern'Length);
++      subtype SEAP is Stream_Element_Array (1 .. Pattern'Length);
++
++      subtype SV   is String (1 .. Value'Length);
++      subtype SEAV is Stream_Element_Array (1 .. Value'Length);
++
++      function To_SEAP is new Unchecked_Conversion (SP, SEAP);
++      function To_SEAV is new Unchecked_Conversion (SV, SEAV);
++
++   begin
++      return B : Buffer
++        (SEO'Max (Size, SEO (Pattern'Length)), -- can't be smaller than pattern
++         SEO (Pattern'Length),
++         SEO (Value'Length))
++      do
++         B.Pattern := To_SEAP (Pattern);
++         B.Value   := To_SEAV (Value);
++         B.Pos_C   := 0;
++         B.Pos_B   := 0;
++      end return;
++   end Create;
++
++   -----------
++   -- Flush --
++   -----------
++
++   procedure Flush
++     (B      : in out Buffer;
++      Output : not null access procedure (Data : Stream_Element_Array)) is
++   begin
++      if B.Pos_B > 0 then
++         Output (B.Buffer (1 .. B.Pos_B));
++      end if;
++
++      if B.Pos_C > 0 then
++         Output (B.Current (1 .. B.Pos_C));
++      end if;
++
++      Reset (B);
++   end Flush;
++
++   -----------
++   -- Reset --
++   -----------
++
++   procedure Reset (B : in out Buffer) is
++   begin
++      B.Pos_B := 0;
++      B.Pos_C := 0;
++   end Reset;
++
++   -------------
++   -- Rewrite --
++   -------------
++
++   procedure Rewrite
++     (B      : in out Buffer;
++      Input  : not null access procedure
++                 (Buffer : out Stream_Element_Array;
++                  Last   : out Stream_Element_Offset);
++      Output : not null access procedure (Data : Stream_Element_Array))
++   is
++      Buffer : Stream_Element_Array (1 .. B.Size);
++      Last   : Stream_Element_Offset;
++   begin
++      Rewrite_All : loop
++         Input (Buffer, Last);
++         exit Rewrite_All when Last = 0;
++         Write (B, Buffer (1 .. Last), Output);
++      end loop Rewrite_All;
++
++      Flush (B, Output);
++   end Rewrite;
++
++   ----------
++   -- Size --
++   ----------
++
++   function Size (B : Buffer) return Natural is
++   begin
++      return Natural (B.Pos_B + B.Pos_C);
++   end Size;
++
++   -----------
++   -- Write --
++   -----------
++
++   procedure Write
++     (B      : in out Buffer;
++      Data   : Stream_Element_Array;
++      Output : not null access procedure (Data : Stream_Element_Array))
++   is
++
++      procedure Need_Space (Size : Stream_Element_Offset);
++      pragma Inline (Need_Space);
++
++      ----------------
++      -- Need_Space --
++      ----------------
++
++      procedure Need_Space (Size : Stream_Element_Offset) is
++      begin
++         if B.Pos_B + Size > B.Size then
++            Output (B.Buffer (1 .. B.Pos_B));
++            B.Pos_B := 0;
++         end if;
++      end Need_Space;
++
++   begin
++      if B.Size_Pattern = 0 then
++         Output (Data);
++
++      else
++         for K in Data'Range loop
++            if Data (K) = B.Pattern (B.Pos_C + 1) then
++               --  Store possible start of a macth
++               B.Pos_C := B.Pos_C + 1;
++               B.Current (B.Pos_C) := Data (K);
++
++            else
++               --  Not part of pattern, if a start of a match was found,
++               --  remove it.
++
++               if B.Pos_C /= 0 then
++                  Need_Space (B.Pos_C);
++
++                  B.Buffer (B.Pos_B + 1 .. B.Pos_B + B.Pos_C) :=
++                    B.Current (1 .. B.Pos_C);
++                  B.Pos_B := B.Pos_B + B.Pos_C;
++                  B.Pos_C := 0;
++               end if;
++
++               Need_Space (1);
++               B.Pos_B := B.Pos_B + 1;
++               B.Buffer (B.Pos_B) := Data (K);
++            end if;
++
++            if B.Pos_C = B.Size_Pattern then
++               --  The pattern is found
++
++               Need_Space (B.Size_Value);
++
++               B.Buffer (B.Pos_B + 1 .. B.Pos_B + B.Size_Value) := B.Value;
++               B.Pos_C := 0;
++               B.Pos_B := B.Pos_B + B.Size_Value;
++            end if;
++         end loop;
++      end if;
++   end Write;
++
++end Rewrite_Data;

Modified: head/lang/gcc-aux/Makefile.version
==============================================================================
--- head/lang/gcc-aux/Makefile.version	Mon Mar 16 14:54:37 2015	(r381406)
+++ head/lang/gcc-aux/Makefile.version	Mon Mar 16 15:11:40 2015	(r381407)
@@ -5,7 +5,7 @@ GCC_POINT=		2
 GCC_VERSION=		${GCC_BRANCH}.${GCC_POINT}
 SNAPSHOT=		20141023
 MAIN_PR=		1
-UTIL_PR=		0
+UTIL_PR=		1
 ARMV5_PR=		0
 ARMV7_PR=		0
 

Modified: head/lang/gnat_util/Makefile
==============================================================================
--- head/lang/gnat_util/Makefile	Mon Mar 16 14:54:37 2015	(r381406)
+++ head/lang/gnat_util/Makefile	Mon Mar 16 15:11:40 2015	(r381407)
@@ -17,12 +17,14 @@ LICENSE_COMB=	multi
 
 USES=		ada tar:bzip2
 NO_MTREE=	yes
-DISTINFO_FILE=	${.CURDIR}/../gcc-aux/distinfo
+DISTINFO_FILE=	${.CURDIR}/../${ADAXX}-aux/distinfo
 WRKSRC=		${WRKDIR}/${PORTNAME}
 MAKE_ENV=	MAKEOBJDIR=${WRKSRC}/obj
 
 .include "${.CURDIR}/Makefile.sources"
-.include "${.CURDIR}/../gcc-aux/Makefile.version"
+
+.include <bsd.port.pre.mk>
+.include "${.CURDIR}/../${ADAXX}-aux/Makefile.version"
 
 post-extract:
 	@${MKDIR} ${WRKSRC}/obj
@@ -41,4 +43,4 @@ post-install:
 	@(cd ${STAGEDIR}${PREFIX}; ${FIND} * \( -type f -or -type l \) | \
 		${SORT} >> ${TMPPLIST})
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>

Modified: head/lang/gnat_util/Makefile.sources
==============================================================================
--- head/lang/gnat_util/Makefile.sources	Mon Mar 16 14:54:37 2015	(r381406)
+++ head/lang/gnat_util/Makefile.sources	Mon Mar 16 15:11:40 2015	(r381407)
@@ -53,8 +53,6 @@ GNAT_SRCS= \
 	mlib-fil.ads \
 	mlib-tgt-specific.adb \
 	mlib-tgt-specific.ads \
-	mlib-tgt-vms_common.adb \
-	mlib-tgt-vms_common.ads \
 	mlib-tgt.adb \
 	mlib-tgt.ads \
 	mlib-utl.adb \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503161511.t2GFBfJ4065166>