OSDN Git Service

New file.
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Feb 2005 14:04:42 +0000 (14:04 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Feb 2005 14:04:42 +0000 (14:04 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94828 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/mlib-tgt-lynxos.adb [new file with mode: 0644]

diff --git a/gcc/ada/mlib-tgt-lynxos.adb b/gcc/ada/mlib-tgt-lynxos.adb
new file mode 100644 (file)
index 0000000..0f1be1f
--- /dev/null
@@ -0,0 +1,274 @@
+------------------------------------------------------------------------------
+--                                                                          --
+--                         GNAT COMPILER COMPONENTS                         --
+--                                                                          --
+--                             M L I B . T G T                              --
+--                             (LynxOS Version)                             --
+--                                                                          --
+--                                 B o d y                                  --
+--                                                                          --
+--           Copyright (C) 2003-2004 Free Software Foundation, Inc.         --
+--                                                                          --
+-- GNAT is free software;  you can  redistribute it  and/or modify it under --
+-- terms of the  GNU General Public License as published  by the Free Soft- --
+-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+-- for  more details.  You should have  received  a copy of the GNU General --
+-- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+-- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
+-- MA 02111-1307, USA.                                                      --
+--                                                                          --
+-- GNAT was originally developed  by the GNAT team at  New York University. --
+-- Extensive contributions were provided by Ada Core Technologies Inc.      --
+--                                                                          --
+------------------------------------------------------------------------------
+
+--  This package provides a set of target dependent routines to build
+--  static libraries.
+
+--  This is the LynxOS version of the body
+
+with MLib.Fil;
+with Namet;  use Namet;
+with Prj.Com;
+
+package body MLib.Tgt is
+
+   ---------------------
+   -- Archive_Builder --
+   ---------------------
+
+   function Archive_Builder return String is
+   begin
+      return "ar";
+   end Archive_Builder;
+
+   -----------------------------
+   -- Archive_Builder_Options --
+   -----------------------------
+
+   function Archive_Builder_Options return String_List_Access is
+   begin
+      return new String_List'(1 => new String'("cr"));
+   end Archive_Builder_Options;
+
+   -----------------
+   -- Archive_Ext --
+   -----------------
+
+   function Archive_Ext return String is
+   begin
+      return "a";
+   end Archive_Ext;
+
+   ---------------------
+   -- Archive_Indexer --
+   ---------------------
+
+   function Archive_Indexer return String is
+   begin
+      return "ranlib";
+   end Archive_Indexer;
+
+   -----------------------------
+   -- Archive_Indexer_Options --
+   -----------------------------
+
+   function Archive_Indexer_Options return String_List_Access is
+   begin
+      return new String_List (1 .. 0);
+   end Archive_Indexer_Options;
+
+   ---------------------------
+   -- Build_Dynamic_Library --
+   ---------------------------
+
+   procedure Build_Dynamic_Library
+     (Ofiles       : Argument_List;
+      Foreign      : Argument_List;
+      Afiles       : Argument_List;
+      Options      : Argument_List;
+      Options_2    : Argument_List;
+      Interfaces   : Argument_List;
+      Lib_Filename : String;
+      Lib_Dir      : String;
+      Symbol_Data  : Symbol_Record;
+      Driver_Name  : Name_Id := No_Name;
+      Lib_Version  : String  := "";
+      Auto_Init    : Boolean := False)
+   is
+      pragma Unreferenced (Ofiles);
+      pragma Unreferenced (Foreign);
+      pragma Unreferenced (Afiles);
+      pragma Unreferenced (Options);
+      pragma Unreferenced (Options_2);
+      pragma Unreferenced (Interfaces);
+      pragma Unreferenced (Lib_Filename);
+      pragma Unreferenced (Lib_Dir);
+      pragma Unreferenced (Symbol_Data);
+      pragma Unreferenced (Driver_Name);
+      pragma Unreferenced (Lib_Version);
+      pragma Unreferenced (Auto_Init);
+
+   begin
+      null;
+   end Build_Dynamic_Library;
+
+   -------------
+   -- DLL_Ext --
+   -------------
+
+   function DLL_Ext return String is
+   begin
+      return "";
+   end DLL_Ext;
+
+   --------------------
+   -- Dynamic_Option --
+   --------------------
+
+   function Dynamic_Option return String is
+   begin
+      return "";
+   end Dynamic_Option;
+
+   -------------------
+   -- Is_Object_Ext --
+   -------------------
+
+   function Is_Object_Ext (Ext : String) return Boolean is
+   begin
+      return Ext = ".o";
+   end Is_Object_Ext;
+
+   --------------
+   -- Is_C_Ext --
+   --------------
+
+   function Is_C_Ext (Ext : String) return Boolean is
+   begin
+      return Ext = ".c";
+   end Is_C_Ext;
+
+   --------------------
+   -- Is_Archive_Ext --
+   --------------------
+
+   function Is_Archive_Ext (Ext : String) return Boolean is
+   begin
+      return Ext = ".a";
+   end Is_Archive_Ext;
+
+   -------------
+   -- Libgnat --
+   -------------
+
+   function Libgnat return String is
+   begin
+      return "libgnat.a";
+   end Libgnat;
+
+   ------------------------
+   -- Library_Exists_For --
+   ------------------------
+
+   function Library_Exists_For (Project : Project_Id) return Boolean is
+   begin
+      if not Projects.Table (Project).Library then
+         Prj.Com.Fail ("INTERNAL ERROR: Library_Exists_For called " &
+                       "for non library project");
+         return False;
+
+      else
+         declare
+            Lib_Dir : constant String :=
+              Get_Name_String (Projects.Table (Project).Library_Dir);
+            Lib_Name : constant String :=
+              Get_Name_String (Projects.Table (Project).Library_Name);
+
+         begin
+            if Projects.Table (Project).Library_Kind = Static then
+               return Is_Regular_File
+                 (Lib_Dir & Directory_Separator & "lib" &
+                  Fil.Ext_To (Lib_Name, Archive_Ext));
+
+            else
+               return Is_Regular_File
+                 (Lib_Dir & Directory_Separator & "lib" &
+                  Fil.Ext_To (Lib_Name, DLL_Ext));
+            end if;
+         end;
+      end if;
+   end Library_Exists_For;
+
+   ---------------------------
+   -- Library_File_Name_For --
+   ---------------------------
+
+   function Library_File_Name_For (Project : Project_Id) return Name_Id is
+   begin
+      if not Projects.Table (Project).Library then
+         Prj.Com.Fail ("INTERNAL ERROR: Library_File_Name_For called " &
+                       "for non library project");
+         return No_Name;
+
+      else
+         declare
+            Lib_Name : constant String :=
+              Get_Name_String (Projects.Table (Project).Library_Name);
+
+         begin
+            Name_Len := 3;
+            Name_Buffer (1 .. Name_Len) := "lib";
+
+            if Projects.Table (Project).Library_Kind = Static then
+               Add_Str_To_Name_Buffer (Fil.Ext_To (Lib_Name, Archive_Ext));
+
+            else
+               Add_Str_To_Name_Buffer (Fil.Ext_To (Lib_Name, DLL_Ext));
+            end if;
+
+            return Name_Find;
+         end;
+      end if;
+   end Library_File_Name_For;
+
+   ----------------
+   -- Object_Ext --
+   ----------------
+
+   function Object_Ext return String is
+   begin
+      return "o";
+   end Object_Ext;
+
+   ----------------
+   -- PIC_Option --
+   ----------------
+
+   function PIC_Option return String is
+   begin
+      return "";
+   end PIC_Option;
+
+   -----------------------------------------------
+   -- Standalone_Library_Auto_Init_Is_Supported --
+   -----------------------------------------------
+
+   function Standalone_Library_Auto_Init_Is_Supported return Boolean is
+   begin
+      return False;
+   end Standalone_Library_Auto_Init_Is_Supported;
+
+   ---------------------------
+   -- Support_For_Libraries --
+   ---------------------------
+
+   function Support_For_Libraries return Library_Support is
+   begin
+      return Static_Only;
+   end Support_For_Libraries;
+
+end MLib.Tgt;