Skip to content

Commit 465e412

Browse files
committed
fix(zigbee): Unlink the zigbee libs
1 parent 8d84501 commit 465e412

File tree

1 file changed

+49
-24
lines changed

1 file changed

+49
-24
lines changed

tools/copy-libs.sh

+49-24
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ AS_FLAGS=""
5656
INCLUDES=""
5757
DEFINES=""
5858

59+
EXCLUDE_LIBS=";"
60+
5961
LD_FLAGS=""
6062
LD_LIBS=""
6163
LD_LIB_FILES=""
@@ -78,6 +80,17 @@ else
7880
TOOLCHAIN="riscv32-esp-elf"
7981
fi
8082

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+
8194
#collect includes, defines and c-flags
8295
str=`cat build/compile_commands.json | grep arduino-lib-builder-gcc.c | grep command | cut -d':' -f2 | cut -d',' -f1`
8396
str="${str:2:${#str}-1}" #remove leading space and quotes
@@ -200,12 +213,14 @@ for item; do
200213
add_next=1
201214
LD_FLAGS+="$item "
202215
elif [ "${item:0:2}" = "-l" ]; then # -l[lib_name]
203-
LD_LIBS+="$item "
204-
exclude_libs=";m;c;gcc;stdc++;"
205216
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
209224
fi
210225
elif [ "$item" = "-o" ]; then
211226
add_next=0
@@ -244,30 +259,38 @@ for item; do
244259
if [[ $LD_LIB_FILES != *"$item"* ]]; then
245260
# do we already have lib with the same name?
246261
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
250267
else
251268
# echo "!!! need to rename: '$lname'"
252269
for i in {2..9}; do
253270
n_item="${item:0:${#item}-2}_$i.a"
254271
n_name=$lname"_$i"
255272
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
258277
break
259278
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
264285
break
265286
fi
266287
done
267288
fi
268289
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
271294
fi
272295
else
273296
echo "*** Skipping $(basename $item): size too small $lsize"
@@ -491,14 +514,16 @@ echo -n "$LD_FLAGS" > "$FLAGS_DIR/ld_flags"
491514
echo -n "$LD_SCRIPTS" > "$FLAGS_DIR/ld_scripts"
492515
echo -n "$AR_LIBS" > "$FLAGS_DIR/ld_libs"
493516

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
502527

503528
# sdkconfig
504529
cp -f "sdkconfig" "$AR_SDK/sdkconfig"

0 commit comments

Comments
 (0)