Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
f5faf9de
Commit
f5faf9de
authored
Feb 10, 2005
by
Arnaud Charlet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New file.
From-SVN: r94828
parent
fc5a191d
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
274 additions
and
0 deletions
+274
-0
gcc/ada/mlib-tgt-lynxos.adb
+274
-0
No files found.
gcc/ada/mlib-tgt-lynxos.adb
0 → 100644
View file @
f5faf9de
------------------------------------------------------------------------------
--
--
--
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
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment