2
2
# config
3
3
4
4
IDF_TARGET=$1
5
+ IS_XTENSA=$4
5
6
OCT_FLASH=
6
7
OCT_PSRAM=
7
8
if [ " $2 " = " y" ]; then
@@ -191,6 +192,7 @@ for item; do
191
192
short_name=" ${item: 2} "
192
193
if [[ $exclude_libs != * " ;$short_name ;" * && $LD_LIBS_SEARCH != * " lib$short_name .a" * ]]; then
193
194
LD_LIBS_SEARCH+=" lib$short_name .a "
195
+ # echo "lib add: $item"
194
196
fi
195
197
elif [ " $item " = " -o" ]; then
196
198
add_next=0
@@ -225,8 +227,35 @@ for item; do
225
227
if [[ " $lname " != " main" && " $lname " != " arduino" ]]; then
226
228
lsize=$( $SSTAT " $item " )
227
229
if (( lsize > 8 )) ; then
228
- LD_LIBS+=" -l$lname "
229
- LD_LIB_FILES+=" $item "
230
+ # do we already have this file?
231
+ if [[ $LD_LIB_FILES != * " $item " * ]]; then
232
+ # do we already have lib with the same name?
233
+ if [[ $LD_LIBS != * " -l$lname " * ]]; then
234
+ # echo "collecting lib '$lname' and file: $item"
235
+ LD_LIB_FILES+=" $item "
236
+ LD_LIBS+=" -l$lname "
237
+ else
238
+ # echo "!!! need to rename: '$lname'"
239
+ for i in {2..9}; do
240
+ n_item=" ${item: 0: ${# item} -2} _$i .a"
241
+ n_name=$lname " _$i "
242
+ if [ -f " $n_item " ]; then
243
+ # echo "renamed add: -l$n_name"
244
+ LD_LIBS+=" -l$n_name "
245
+ break
246
+ elif [[ $LD_LIB_FILES != * " $n_item " * && $LD_LIBS != * " -l$n_name " * ]]; then
247
+ echo " Renaming '$lname ' to '$n_name ': $item "
248
+ cp -f " $item " " $n_item "
249
+ LD_LIB_FILES+=" $n_item "
250
+ LD_LIBS+=" -l$n_name "
251
+ break
252
+ fi
253
+ done
254
+ fi
255
+ else
256
+ # echo "just add: -l$lname"
257
+ LD_LIBS+=" -l$lname "
258
+ fi
230
259
else
231
260
echo " *** Skipping $( basename $item ) : size too small $lsize "
232
261
fi
@@ -253,6 +282,15 @@ cat pio_start.txt > "$AR_PLATFORMIO_PY"
253
282
rm pio_end.txt 1pio_start.txt pio_start.txt
254
283
255
284
echo " ASFLAGS=[" >> " $AR_PLATFORMIO_PY "
285
+ if [ " $IS_XTENSA " = " y" ]; then
286
+ echo " \" -mlongcalls\" " >> " $AR_PLATFORMIO_PY "
287
+ else
288
+ echo " \" -march=rv32imc\" " >> " $AR_PLATFORMIO_PY "
289
+ fi
290
+ echo " ]," >> " $AR_PLATFORMIO_PY "
291
+ echo " " >> " $AR_PLATFORMIO_PY "
292
+
293
+ echo " ASPPFLAGS=[" >> " $AR_PLATFORMIO_PY "
256
294
set -- $PIO_AS_FLAGS
257
295
for item; do
258
296
echo " \" $item \" ," >> " $AR_PLATFORMIO_PY "
0 commit comments