blob: 761c128c4bf0e0324ba98dc9c92899d9aaacbddd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
$NetBSD: patch-src_gprlib.adb,v 1.3 2016/11/25 20:36:49 marino Exp $
Marino's modification to give Ada programs build with GPRBUILD proper
-rpath support
--- src/gprlib.adb.orig 2015-05-06 11:08:38 UTC
+++ src/gprlib.adb
@@ -393,6 +393,11 @@ procedure Gprlib is
Separate_Run_Path_Options : Boolean := False;
+ Rpath_Disabled : Boolean := False;
+ -- If -R is passed through the library options for the linker, it will
+ -- prevent the implemented libraries portion of the rpath switch from
+ -- being built, even if the linker is capable of supporting rpath.
+
Rpath : String_List_Access := null;
-- Allocated only if Path Option is supported
@@ -1011,7 +1016,12 @@ begin
Use_GNAT_Lib := False;
end if;
- Library_Options_Table.Append (new String'(Line (1 .. Last)));
+ if Line (1 .. Last) = "-R" then
+ Rpath_Disabled := True;
+ else
+ Library_Options_Table.Append
+ (new String'(Line (1 .. Last)));
+ end if;
when Gprexch.Library_Rpath_Options =>
Library_Rpath_Options_Table.Append
@@ -1143,10 +1153,10 @@ begin
Libgnat :=
new String'
- ("-lgnat-" & Line (6 .. Last));
+ ("-lgnat-" & Line (6));
Libgnarl :=
new String'
- ("-lgnarl-" & Line (6 .. Last));
+ ("-lgnarl-" & Line (6));
end if;
else
@@ -2113,7 +2123,7 @@ begin
Library_Switches_Table.Append
(new String'("-L" & Imported_Library_Directories.Table (J).all));
- if Path_Option /= null then
+ if not Rpath_Disabled and then Path_Option /= null then
Add_Rpath (Imported_Library_Directories.Table (J));
end if;
|