Skip to content

Commit ef2500a

Browse files
committed
versioning.sh: restore large multilibs
1 parent c08012c commit ef2500a

File tree

1 file changed

+94
-36
lines changed

1 file changed

+94
-36
lines changed

build-assets/scripts/versioning.sh

Lines changed: 94 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ function application_build_versioned_components()
4141

4242
# ---------------------------------------------------------------------------
4343

44-
if [[ ${XBB_RELEASE_VERSION} =~ 11[.].*[.].*-.* ]] || \
45-
[[ ${XBB_RELEASE_VERSION} =~ 12[.].*[.].*-.* ]] || \
46-
[[ ${XBB_RELEASE_VERSION} =~ 13[.].*[.].*-.* ]] || \
47-
[[ ${XBB_RELEASE_VERSION} =~ 14[.].*[.].*-.* ]]
44+
if [[ ${XBB_RELEASE_VERSION} =~ 12[.][5][.].*-.* ]] || \
45+
[[ ${XBB_RELEASE_VERSION} =~ 13[.][45][.].*-.* ]] || \
46+
[[ ${XBB_RELEASE_VERSION} =~ 14[.][3-5][.].*-.* ]]
47+
[[ ${XBB_RELEASE_VERSION} =~ 15[.][0-5][.].*-.* ]]
4848
then
4949

5050
if [ "${XBB_APPLICATION_WITHOUT_MULTILIB:-""}" != "y" ]
@@ -109,64 +109,32 @@ function application_build_versioned_components()
109109
rv32e-ilp32e--zicsr*zifencei \
110110
rv32ea-ilp32e--zicsr*zifencei \
111111
rv32eac-ilp32e--zicsr*zifencei \
112-
# rv32ec-ilp32e--zicsr*zifencei \
113112
rv32em-ilp32e--zicsr*zifencei \
114-
# rv32ema-ilp32e--zicsr*zifencei \
115113
rv32emac-ilp32e--zicsr*zifencei \
116-
# rv32emc-ilp32e--zicsr*zifencei \
117114
\
118115
rv32-ilp32--zicsr*zifencei \
119-
# rv32i-ilp32--zicsr*zifencei \
120116
rv32ia-ilp32--zicsr*zifencei \
121117
rv32iac-ilp32--zicsr*zifencei \
122118
rv32iaf-ilp32f--zicsr*zifencei \
123-
# rv32iafc-ilp32f--zicsr*zifencei \
124119
rv32iafd-ilp32d--zicsr*zifencei \
125-
# rv32iafdc-ilp32d--zicsr*zifencei \
126-
# rv32ic-ilp32--zicsr*zifencei \
127-
# rv32if-ilp32f--zicsr*zifencei \
128-
# rv32ifc-ilp32f--zicsr*zifencei \
129-
# rv32ifd-ilp32d--zicsr*zifencei \
130-
# rv32ifdc-ilp32d--zicsr*zifencei \
131120
rv32im-ilp32--zicsr*zifencei \
132-
# rv32ima-ilp32--zicsr*zifencei \
133121
rv32imac-ilp32--zicsr*zifencei \
134-
# rv32imaf-ilp32f--zicsr*zifencei \
135122
rv32imafc-ilp32f--zicsr*zifencei \
136-
# rv32imafd-ilp32d--zicsr*zifencei \
137123
rv32imafdc-ilp32d--zicsr*zifencei \
138-
# rv32imc-ilp32--zicsr*zifencei \
139124
rv32imf-ilp32f--zicsr*zifencei \
140-
# rv32imfc-ilp32f--zicsr*zifencei \
141125
rv32imfd-ilp32d--zicsr*zifencei \
142-
# rv32imfdc-ilp32d--zicsr*zifencei \
143126
rv32if-ilp32f--zicsr*zifencei \
144127
rv32ifd-ilp32d--zicsr*zifencei \
145128
\
146129
rv64i-lp64--zicsr*zifencei \
147130
rv64ia-lp64--zicsr*zifencei \
148131
rv64iac-lp64--zicsr*zifencei \
149132
rv64iaf-lp64f--zicsr*zifencei \
150-
# rv64iafc-lp64f--zicsr*zifencei \
151133
rv64iafd-lp64d--zicsr*zifencei \
152-
# rv64iafdc-lp64d--zicsr*zifencei \
153-
# rv64ic-lp64--zicsr*zifencei \
154-
# rv64if-lp64f--zicsr*zifencei \
155-
# rv64ifc-lp64f--zicsr*zifencei \
156-
# rv64ifd-lp64d--zicsr*zifencei \
157-
# rv64ifdc-lp64d--zicsr*zifencei \
158134
rv64im-lp64--zicsr*zifencei \
159-
# rv64ima-lp64--zicsr*zifencei \
160135
rv64imac-lp64--zicsr*zifencei \
161-
# rv64imaf-lp64f--zicsr*zifencei \
162136
rv64imafc-lp64f--zicsr*zifencei \
163-
# rv64imafd-lp64d--zicsr*zifencei \
164-
# rv64imafdc-lp64d--zicsr*zifencei \
165-
# rv64imc-lp64--zicsr*zifencei \
166137
rv64imf-lp64f--zicsr*zifencei \
167-
# rv64imfc-lp64f--zicsr*zifencei \
168-
# rv64imfd-lp64d--zicsr*zifencei \
169-
# rv64imfdc-lp64d--zicsr*zifencei \
170138
rv64if-lp64f--zicsr*zifencei \
171139
rv64ifd-lp64d--zicsr*zifencei \
172140
"}
@@ -181,6 +149,96 @@ function application_build_versioned_components()
181149
fi
182150
fi
183151

152+
elif [[ ${XBB_RELEASE_VERSION} =~ 11[.][1-5][.].*-.* ]] || \
153+
[[ ${XBB_RELEASE_VERSION} =~ 12[.][1-4][.].*-.* ]] || \
154+
[[ ${XBB_RELEASE_VERSION} =~ 13[.][1-3][.].*-.* ]] || \
155+
[[ ${XBB_RELEASE_VERSION} =~ 14[.][012][.].*-.* ]]
156+
then
157+
158+
if [ "${XBB_APPLICATION_WITHOUT_MULTILIB:-""}" != "y" ]
159+
then
160+
# The SiFive list from 10.2 with a lot of non-c extras.
161+
# (including `rv32imaf-ilp32f--`).
162+
if [ "${XBB_IS_DEVELOPMENT}" != "y" ]
163+
then
164+
165+
# DO NOT add the combination that is already given as the default!
166+
# rv32imac-ilp32-- \
167+
168+
# The `zicsr*zifencei` seem redundant for GCC 13, but are
169+
# important for GCC 12.
170+
171+
# (Almost) full combinatorial; insanely large.
172+
XBB_GCC_MULTILIB_LIST=${XBB_APPLICATION_GCC_MULTILIB_LIST:-"\
173+
rv32e-ilp32e--zicsr*zifencei \
174+
rv32ea-ilp32e--zicsr*zifencei \
175+
rv32eac-ilp32e--zicsr*zifencei \
176+
rv32ec-ilp32e--zicsr*zifencei \
177+
rv32em-ilp32e--zicsr*zifencei \
178+
rv32ema-ilp32e--zicsr*zifencei \
179+
rv32emac-ilp32e--zicsr*zifencei \
180+
rv32emc-ilp32e--zicsr*zifencei \
181+
\
182+
rv32i-ilp32--zicsr*zifencei \
183+
rv32ia-ilp32--zicsr*zifencei \
184+
rv32iac-ilp32--zicsr*zifencei \
185+
rv32iaf-ilp32f--zicsr*zifencei \
186+
rv32iafc-ilp32f--zicsr*zifencei \
187+
rv32iafd-ilp32d--zicsr*zifencei \
188+
rv32iafdc-ilp32d--zicsr*zifencei \
189+
rv32ic-ilp32--zicsr*zifencei \
190+
rv32if-ilp32f--zicsr*zifencei \
191+
rv32ifc-ilp32f--zicsr*zifencei \
192+
rv32ifd-ilp32d--zicsr*zifencei \
193+
rv32ifdc-ilp32d--zicsr*zifencei \
194+
rv32im-ilp32--zicsr*zifencei \
195+
rv32ima-ilp32--zicsr*zifencei \
196+
rv32imaf-ilp32f--zicsr*zifencei \
197+
rv32imafc-ilp32f--zicsr*zifencei \
198+
rv32imafd-ilp32d--zicsr*zifencei \
199+
rv32imafdc-ilp32d--zicsr*zifencei \
200+
rv32imc-ilp32--zicsr*zifencei \
201+
rv32imf-ilp32f--zicsr*zifencei \
202+
rv32imfc-ilp32f--zicsr*zifencei \
203+
rv32imfd-ilp32d--zicsr*zifencei \
204+
rv32imfdc-ilp32d--zicsr*zifencei \
205+
\
206+
rv64i-lp64--zicsr*zifencei \
207+
rv64ia-lp64--zicsr*zifencei \
208+
rv64iac-lp64--zicsr*zifencei \
209+
rv64iaf-lp64f--zicsr*zifencei \
210+
rv64iafc-lp64f--zicsr*zifencei \
211+
rv64iafd-lp64d--zicsr*zifencei \
212+
rv64iafdc-lp64d--zicsr*zifencei \
213+
rv64ic-lp64--zicsr*zifencei \
214+
rv64if-lp64f--zicsr*zifencei \
215+
rv64ifc-lp64f--zicsr*zifencei \
216+
rv64ifd-lp64d--zicsr*zifencei \
217+
rv64ifdc-lp64d--zicsr*zifencei \
218+
rv64im-lp64--zicsr*zifencei \
219+
rv64ima-lp64--zicsr*zifencei \
220+
rv64imac-lp64--zicsr*zifencei \
221+
rv64imaf-lp64f--zicsr*zifencei \
222+
rv64imafc-lp64f--zicsr*zifencei \
223+
rv64imafd-lp64d--zicsr*zifencei \
224+
rv64imafdc-lp64d--zicsr*zifencei \
225+
rv64imc-lp64--zicsr*zifencei \
226+
rv64imf-lp64f--zicsr*zifencei \
227+
rv64imfc-lp64f--zicsr*zifencei \
228+
rv64imfd-lp64d--zicsr*zifencei \
229+
rv64imfdc-lp64d--zicsr*zifencei \
230+
"}
231+
else
232+
# Short list used during development to save time.
233+
# Skip: rv32imac-ilp32-- (see above).
234+
XBB_GCC_MULTILIB_LIST=${XBB_APPLICATION_GCC_MULTILIB_LIST:-"\
235+
rv32emac-ilp32e-- \
236+
rv32ima-ilp32--zicsr*zifencei \
237+
rv64imac-lp64-- \
238+
"}
239+
fi
240+
fi
241+
184242
fi
185243

186244
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)