@@ -56,6 +56,8 @@ AS_FLAGS=""
56
56
INCLUDES=" "
57
57
DEFINES=" "
58
58
59
+ EXCLUDE_LIBS=" ;"
60
+
59
61
LD_FLAGS=" "
60
62
LD_LIBS=" "
61
63
LD_LIB_FILES=" "
78
80
TOOLCHAIN=" riscv32-esp-elf"
79
81
fi
80
82
83
+ # copy zigbee + zboss lib
84
+ if [ -d " managed_components/espressif__esp-zigbee-lib/lib/$IDF_TARGET /" ]; then
85
+ cp -r " managed_components/espressif__esp-zigbee-lib/lib/$IDF_TARGET " /* " $AR_SDK /lib/"
86
+ EXCLUDE_LIBS+=" esp_zb_api_ed;"
87
+ fi
88
+
89
+ if [ -d " managed_components/espressif__esp-zboss-lib/lib/$IDF_TARGET /" ]; then
90
+ cp -r " managed_components/espressif__esp-zboss-lib/lib/$IDF_TARGET " /* " $AR_SDK /lib/"
91
+ EXCLUDE_LIBS+=" zboss_stack.ed;zboss_port.debug;"
92
+ fi
93
+
81
94
# collect includes, defines and c-flags
82
95
str=` cat build/compile_commands.json | grep arduino-lib-builder-gcc.c | grep command | cut -d' :' -f2 | cut -d' ,' -f1`
83
96
str=" ${str: 2: ${# str} -1} " # remove leading space and quotes
@@ -200,12 +213,14 @@ for item; do
200
213
add_next=1
201
214
LD_FLAGS+=" $item "
202
215
elif [ " ${item: 0: 2} " = " -l" ]; then # -l[lib_name]
203
- LD_LIBS+=" $item "
204
- exclude_libs=" ;m;c;gcc;stdc++;"
205
216
short_name=" ${item: 2} "
206
- if [[ $exclude_libs != * " ;$short_name ;" * && $LD_LIBS_SEARCH != * " lib$short_name .a" * ]]; then
207
- LD_LIBS_SEARCH+=" lib$short_name .a "
208
- # echo "lib add: $item"
217
+ if [[ $EXCLUDE_LIBS != * " ;$short_name ;" * ]]; then
218
+ LD_LIBS+=" $item "
219
+ exclude_libs=" ;m;c;gcc;stdc++;"
220
+ if [[ $exclude_libs != * " ;$short_name ;" * && $LD_LIBS_SEARCH != * " lib$short_name .a" * ]]; then
221
+ LD_LIBS_SEARCH+=" lib$short_name .a "
222
+ # echo "1. lib add: $item"
223
+ fi
209
224
fi
210
225
elif [ " $item " = " -o" ]; then
211
226
add_next=0
@@ -244,30 +259,38 @@ for item; do
244
259
if [[ $LD_LIB_FILES != * " $item " * ]]; then
245
260
# do we already have lib with the same name?
246
261
if [[ $LD_LIBS != * " -l$lname " * ]]; then
247
- # echo "collecting lib '$lname' and file: $item"
248
- LD_LIB_FILES+=" $item "
249
- LD_LIBS+=" -l$lname "
262
+ if [[ $EXCLUDE_LIBS != * " ;$lname ;" * ]]; then
263
+ # echo "2. collecting lib '$lname' and file: $item"
264
+ LD_LIB_FILES+=" $item "
265
+ LD_LIBS+=" -l$lname "
266
+ fi
250
267
else
251
268
# echo "!!! need to rename: '$lname'"
252
269
for i in {2..9}; do
253
270
n_item=" ${item: 0: ${# item} -2} _$i .a"
254
271
n_name=$lname " _$i "
255
272
if [ -f " $n_item " ]; then
256
- # echo "renamed add: -l$n_name"
257
- LD_LIBS+=" -l$n_name "
273
+ if [[ $EXCLUDE_LIBS != * " ;$lname ;" * ]]; then
274
+ # echo "3. renamed add: -l$n_name"
275
+ LD_LIBS+=" -l$n_name "
276
+ fi
258
277
break
259
278
elif [[ $LD_LIB_FILES != * " $n_item " * && $LD_LIBS != * " -l$n_name " * ]]; then
260
- echo " Renaming '$lname ' to '$n_name ': $item "
261
- cp -f " $item " " $n_item "
262
- LD_LIB_FILES+=" $n_item "
263
- LD_LIBS+=" -l$n_name "
279
+ if [[ $EXCLUDE_LIBS != * " ;$lname ;" * ]]; then
280
+ # echo "4. Renaming '$lname' to '$n_name': $item"
281
+ cp -f " $item " " $n_item "
282
+ LD_LIB_FILES+=" $n_item "
283
+ LD_LIBS+=" -l$n_name "
284
+ fi
264
285
break
265
286
fi
266
287
done
267
288
fi
268
289
else
269
- # echo "just add: -l$lname"
270
- LD_LIBS+=" -l$lname "
290
+ if [[ $EXCLUDE_LIBS != * " ;$lname ;" * ]]; then
291
+ # echo "5. just add: -l$lname"
292
+ LD_LIBS+=" -l$lname "
293
+ fi
271
294
fi
272
295
else
273
296
echo " *** Skipping $( basename $item ) : size too small $lsize "
@@ -491,14 +514,16 @@ echo -n "$LD_FLAGS" > "$FLAGS_DIR/ld_flags"
491
514
echo -n " $LD_SCRIPTS " > " $FLAGS_DIR /ld_scripts"
492
515
echo -n " $AR_LIBS " > " $FLAGS_DIR /ld_libs"
493
516
494
- # copy zigbee + zboss lib
495
- if [ -d " managed_components/espressif__esp-zigbee-lib/lib/$IDF_TARGET /" ]; then
496
- cp -r " managed_components/espressif__esp-zigbee-lib/lib/$IDF_TARGET " /* " $AR_SDK /lib/"
497
- fi
498
-
499
- if [ -d " managed_components/espressif__esp-zboss-lib/lib/$IDF_TARGET /" ]; then
500
- cp -r " managed_components/espressif__esp-zboss-lib/lib/$IDF_TARGET " /* " $AR_SDK /lib/"
501
- fi
517
+ # Matter Library adjustments
518
+ for flag_file in " c_flags" " cpp_flags" " S_flags" ; do
519
+ echo " Fixing $FLAGS_DIR /$flag_file "
520
+ sed ' s/\\\"-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=<lib\/address_resolve\/AddressResolve_DefaultImpl.h>\\\"/-DCHIP_HAVE_CONFIG_H/' $FLAGS_DIR /$flag_file > $FLAGS_DIR /$flag_file .temp
521
+ mv $FLAGS_DIR /$flag_file .temp $FLAGS_DIR /$flag_file
522
+ done
523
+ CHIP_RESOLVE_DIR=" $AR_SDK /include/espressif__esp_matter/connectedhomeip/connectedhomeip/src/lib/address_resolve"
524
+ sed ' s/CHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER/<lib\/address_resolve\/AddressResolve_DefaultImpl.h>/' $CHIP_RESOLVE_DIR /AddressResolve.h > $CHIP_RESOLVE_DIR /AddressResolve_temp.h
525
+ mv $CHIP_RESOLVE_DIR /AddressResolve_temp.h $CHIP_RESOLVE_DIR /AddressResolve.h
526
+ # End of Matter Library adjustments
502
527
503
528
# sdkconfig
504
529
cp -f " sdkconfig" " $AR_SDK /sdkconfig"
0 commit comments