@@ -10,7 +10,6 @@ valid_packages = ["gprbuild", "gnat", "gnatcov", "gnatprove"]
10
10
11
11
12
12
class ReleasePackage(spec("common")):
13
-
14
13
@property
15
14
def package(self):
16
15
if "package" not in self.parsed_qualifier:
@@ -48,12 +47,7 @@ class ReleasePackage(spec("common")):
48
47
"gprbuild": "1",
49
48
"gnatcov": "1",
50
49
"gnatprove": "1",
51
- "gnat": {
52
- "arm-eabi": "1",
53
- "riscv64-elf": "1",
54
- "avr": "1",
55
- "_": "1",
56
- }
50
+ "gnat": "2",
57
51
}
58
52
59
53
if isinstance(r := release[package], dict):
@@ -94,8 +88,10 @@ class ReleasePackage(spec("common")):
94
88
def build_deps(self):
95
89
pck = self.package
96
90
if pck == "gprbuild":
97
- return [Anod.Dependency("gprbuild"),
98
- Anod.Dependency("gpr2", qualifier="tools_only")]
91
+ return [
92
+ Anod.Dependency("gprbuild"),
93
+ Anod.Dependency("gpr2", qualifier="tools_only"),
94
+ ]
99
95
100
96
if pck == "gnatcov":
101
97
return [Anod.Dependency("gnatcov", track=True)]
@@ -140,17 +136,40 @@ class ReleasePackage(spec("common")):
140
136
Anod.Dependency("gdb", track=True),
141
137
]
142
138
else:
143
- raise Exception("Unknown target for gcc package: '%s'" % self.env.target.triplet)
139
+ raise Exception(
140
+ "Unknown target for gcc package: '%s'" % self.env.target.triplet
141
+ )
144
142
145
143
@Anod.primitive()
146
144
def build(self):
147
-
148
145
for dep in self.deps.keys():
149
146
self.deps[dep].merge(self["PKG_DIR"])
150
147
151
148
name = self.release_name
152
149
archive = self.archive_name
153
150
151
+ # fix for unwanted pthread.h header in include-fixed
152
+ extra_header = None
153
+ if self.package == "gnat":
154
+ extra_header = os.path.join(
155
+ self["PKG_DIR"],
156
+ "lib/gcc",
157
+ self.env.target.triplet,
158
+ self.version,
159
+ "include-fixed/pthread.h"
160
+ )
161
+ elif self.package == "gnatprove":
162
+ extra_header = os.path.join(
163
+ self["PKG_DIR"],
164
+ "libexec/spark/lib/gcc",
165
+ self.env.target.triplet,
166
+ self.version,
167
+ "include-fixed/pthread.h"
168
+ )
169
+
170
+ if extra_header is not None and os.path.exists(extra_header):
171
+ os.remove(extra_header)
172
+
154
173
create_archive(
155
174
filename=archive,
156
175
from_dir=self["PKG_DIR"],
0 commit comments