Gentoo Archives: gentoo-commits

From: Alfredo Tupone <tupone@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ada/gprbuild/files/, dev-ada/gprbuild/
Date: Fri, 23 Jun 2017 19:41:44
Message-Id: 1498246876.6ee3ef271a151c6e2351ffa3ec38d49f1b30cdcf.tupone@gentoo
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 + &amp; 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 " &amp;
77 + " (Body_File_Name => ""*%b""," &amp;
78 + " Casing => %c," &amp;
79 + " Dot_Replacement => ""%d"");";
80 + for Config_Spec_File_Name_Pattern ("Ada") use
81 + "pragma Source_File_Name_Project " &amp;
82 + " (Spec_File_Name => ""*%s""," &amp;
83 + " Casing => %c," &amp;
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") &amp; ("--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") &amp; ("--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 }