1 |
commit: 6ee3ef271a151c6e2351ffa3ec38d49f1b30cdcf |
2 |
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Jun 23 19:39:54 2017 +0000 |
4 |
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Jun 23 19:41:16 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ee3ef27 |
7 |
|
8 |
dev-ada/gprbuild: Add compiler description file |
9 |
|
10 |
Package-Manager: Portage-2.3.6, Repoman-2.3.1 |
11 |
|
12 |
dev-ada/gprbuild/files/gprbuild-2017.xml | 85 ++++++++++++++++++++++++++++++++ |
13 |
dev-ada/gprbuild/gprbuild-2017.ebuild | 9 ++++ |
14 |
2 files changed, 94 insertions(+) |
15 |
|
16 |
diff --git a/dev-ada/gprbuild/files/gprbuild-2017.xml b/dev-ada/gprbuild/files/gprbuild-2017.xml |
17 |
new file mode 100644 |
18 |
index 00000000000..9e1e47b512e |
19 |
--- /dev/null |
20 |
+++ b/dev-ada/gprbuild/files/gprbuild-2017.xml |
21 |
@@ -0,0 +1,85 @@ |
22 |
+<?xml version="1.0" ?> |
23 |
+<gprconfig> |
24 |
+ <compiler_description> |
25 |
+ <name>GNAT-@VER@</name> |
26 |
+ <executable prefix="1">gnatls-@VER@</executable> |
27 |
+ <version> |
28 |
+ <external>${PREFIX}gnatls-@VER@ -v --version</external> |
29 |
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep> |
30 |
+ </version> |
31 |
+ <languages>Ada</languages> |
32 |
+ <variable name="gcc_version"> |
33 |
+ <external>${PREFIX}gcc-@VER@ -v</external> |
34 |
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep> |
35 |
+ </variable> |
36 |
+ <runtimes default="default,kernel,native"> |
37 |
+ <directory group="default" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory> |
38 |
+ <directory group="default" contents="^rts-">\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory> |
39 |
+ <directory group="2" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory> |
40 |
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory> |
41 |
+ </runtimes> |
42 |
+ <target> |
43 |
+ <external>${PREFIX}gcc-@VER@ -dumpmachine</external> |
44 |
+ <grep regexp="[^\r\n]+"></grep> |
45 |
+ </target> |
46 |
+ </compiler_description> |
47 |
+ |
48 |
+ <configuration> |
49 |
+ <compilers> |
50 |
+ <compiler name="GNAT-@VER@" /> |
51 |
+ </compilers> |
52 |
+ <config> |
53 |
+ package Compiler is |
54 |
+ for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@"; |
55 |
+ for Language_Kind ("Ada") use "unit_based"; |
56 |
+ for Dependency_Kind ("Ada") use "ALI_File"; |
57 |
+ for Leading_Required_Switches ("Ada") use |
58 |
+ ("-c", "-x", "ada", "-gnatA") |
59 |
+ & Compiler'Leading_Required_Switches ("Ada"); |
60 |
+ for Mapping_File_Switches ("Ada") use ("-gnatem="); |
61 |
+ for Mapping_Spec_Suffix ("Ada") use "%s"; |
62 |
+ for Mapping_Body_Suffix ("Ada") use "%b"; |
63 |
+ for Config_File_Switches ("Ada") use ("-gnatec="); |
64 |
+ for Include_Path_File ("Ada") use "ADA_PRJ_INCLUDE_FILE"; |
65 |
+ for Multi_Unit_Switches ("Ada") use ("-gnateI"); |
66 |
+ for Multi_Unit_Object_Separator ("Ada") use "~"; |
67 |
+ for Config_Body_File_Name ("Ada") use |
68 |
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"");"; |
69 |
+ for Config_Spec_File_Name ("Ada") use |
70 |
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"");"; |
71 |
+ for Config_Body_File_Name_Index ("Ada") use |
72 |
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"", Index => %i);"; |
73 |
+ for Config_Spec_File_Name_Index ("Ada") use |
74 |
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"", Index => %i);"; |
75 |
+ for Config_Body_File_Name_Pattern ("Ada") use |
76 |
+ "pragma Source_File_Name_Project " & |
77 |
+ " (Body_File_Name => ""*%b""," & |
78 |
+ " Casing => %c," & |
79 |
+ " Dot_Replacement => ""%d"");"; |
80 |
+ for Config_Spec_File_Name_Pattern ("Ada") use |
81 |
+ "pragma Source_File_Name_Project " & |
82 |
+ " (Spec_File_Name => ""*%s""," & |
83 |
+ " Casing => %c," & |
84 |
+ " Dot_Replacement => ""%d"");"; |
85 |
+ for Config_File_Unique ("Ada") use "False"; |
86 |
+ for PIC_Option ("Ada") use ("-fPIC"); |
87 |
+ for Leading_Required_Switches ("Ada") use |
88 |
+ Compiler'Leading_Required_Switches ("Ada") & ("--RTS=${RUNTIME_DIR(ada)}"); |
89 |
+ end Compiler; |
90 |
+ |
91 |
+ package Binder is |
92 |
+ for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE"; |
93 |
+ for Driver ("Ada") use |
94 |
+ "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind"; |
95 |
+ for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@"); |
96 |
+ for Required_Switches ("Ada") use |
97 |
+ Binder'Required_Switches ("Ada") & ("--RTS=${RUNTIME_DIR(ada)}"); |
98 |
+ end Binder; |
99 |
+ |
100 |
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}"; |
101 |
+ |
102 |
+for Runtime_Dir ("Ada") use "${RUNTIME_DIR(ada)}"; |
103 |
+ for Library_Encapsulated_Supported use "true"; |
104 |
+ </config> |
105 |
+ </configuration> |
106 |
+</gprconfig> |
107 |
|
108 |
diff --git a/dev-ada/gprbuild/gprbuild-2017.ebuild b/dev-ada/gprbuild/gprbuild-2017.ebuild |
109 |
index 3165385d33c..0f7b634ec96 100644 |
110 |
--- a/dev-ada/gprbuild/gprbuild-2017.ebuild |
111 |
+++ b/dev-ada/gprbuild/gprbuild-2017.ebuild |
112 |
@@ -49,6 +49,13 @@ pkg_setup() { |
113 |
fi |
114 |
} |
115 |
|
116 |
+src_prepare() { |
117 |
+ gnatbase=$(basename ${GCC}) |
118 |
+ GCC_PV=${gnatbase#*gcc-} |
119 |
+ sed -e "s:@VER@:${GCC_PV}:g" "${FILESDIR}"/${P}.xml > gnat-${GCC_PV}.xml |
120 |
+ default |
121 |
+} |
122 |
+ |
123 |
src_configure() { |
124 |
emake prefix="${D}"usr setup |
125 |
} |
126 |
@@ -108,5 +115,7 @@ src_install() { |
127 |
done |
128 |
rm "${D}"usr/doinstall || die |
129 |
fi |
130 |
+ insinto /usr/share/gprconfig |
131 |
+ doins gnat-${GCC_PV}.xml |
132 |
einstalldocs |
133 |
} |