Skip to content

Commit 3ce10b7

Browse files
authored
Update copy-libs.sh
1 parent 42eba89 commit 3ce10b7

File tree

1 file changed

+82
-89
lines changed

1 file changed

+82
-89
lines changed

tools/copy-libs.sh

Lines changed: 82 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -391,9 +391,68 @@ echo " '-Wl,-Map=\"%s\"' % join(\"\${BUILD_DIR}\", \"\${PROGNAME}.map\")"
391391
echo " ]," >> "$AR_PLATFORMIO_PY"
392392
echo "" >> "$AR_PLATFORMIO_PY"
393393

394+
# include dirs - nur noch Memory-Type und Framework Core
395+
echo " CPPPATH=[" >> "$AR_PLATFORMIO_PY"
396+
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")), \"include\")," >> "$AR_PLATFORMIO_PY"
397+
echo " join(FRAMEWORK_DIR, \"cores\", board_config.get(\"build.core\"))" >> "$AR_PLATFORMIO_PY"
398+
echo " ]," >> "$AR_PLATFORMIO_PY"
399+
echo "" >> "$AR_PLATFORMIO_PY"
400+
401+
AR_LIBS="$LD_LIBS"
402+
PIO_LIBS=""
403+
set -- $LD_LIBS
404+
for item; do
405+
if [ "$PIO_LIBS" != "" ]; then
406+
PIO_LIBS+=", "
407+
fi
408+
PIO_LIBS+="\"$item\""
409+
done
410+
411+
set -- $LD_LIB_FILES
412+
for item; do
413+
#echo "***** Stripping $item"
414+
"$TOOLCHAIN-strip" -g "$item"
415+
cp "$item" "$AR_SDK/lib/"
416+
done
417+
418+
echo " LIBPATH=[" >> "$AR_PLATFORMIO_PY"
419+
echo " join($PIO_SDK, \"lib\")," >> "$AR_PLATFORMIO_PY"
420+
echo " join($PIO_SDK, \"ld\")," >> "$AR_PLATFORMIO_PY"
421+
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")))" >> "$AR_PLATFORMIO_PY"
422+
echo " ]," >> "$AR_PLATFORMIO_PY"
423+
echo "" >> "$AR_PLATFORMIO_PY"
424+
425+
echo " LIBS=[" >> "$AR_PLATFORMIO_PY"
426+
echo " $PIO_LIBS" >> "$AR_PLATFORMIO_PY"
427+
echo " ]," >> "$AR_PLATFORMIO_PY"
428+
echo "" >> "$AR_PLATFORMIO_PY"
429+
430+
echo " CPPDEFINES=[" >> "$AR_PLATFORMIO_PY"
431+
set -- $DEFINES
432+
for item; do
433+
item="${item:2}" #remove -D
434+
item="${item/NDEBUG}" #remove NDEBUG
435+
if [[ $item == *"="* ]]; then
436+
item=(${item//=/ })
437+
re='^[+-]?[0-9]+([.][0-9]+)?$'
438+
if [[ ${item[1]} =~ $re ]]; then
439+
echo " (\"${item[0]}\", ${item[1]})," >> "$AR_PLATFORMIO_PY"
440+
else
441+
echo " (\"${item[0]}\", '${item[1]}')," >> "$AR_PLATFORMIO_PY"
442+
fi
443+
else
444+
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
445+
fi
446+
done
447+
448+
# end generation of platformio-build.py
449+
cat configs/pio_end.txt >> "$AR_PLATFORMIO_PY"
450+
451+
# replace double backslashes with single one
452+
DEFINES=`echo "$DEFINES" | tr -s '\'`
453+
394454
# include dirs
395455
REL_INC=""
396-
echo " CPPPATH=[" >> "$AR_PLATFORMIO_PY"
397456

398457
set -- $INCLUDES
399458

@@ -453,72 +512,35 @@ for item; do
453512
fi
454513
done
455514

456-
set -- $REL_INC
457-
for item; do
458-
if [ "${item:0:17}" = "-iwithprefixbefore" ]; then
459-
include_path="${item:18}"
460-
echo " join($PIO_SDK, \"include\", \"$include_path\")," >> "$AR_PLATFORMIO_PY"
461-
fi
462-
done
463-
464-
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")), \"include\")," >> "$AR_PLATFORMIO_PY"
465-
echo " join(FRAMEWORK_DIR, \"cores\", board_config.get(\"build.core\"))" >> "$AR_PLATFORMIO_PY"
466-
echo " ]," >> "$AR_PLATFORMIO_PY"
467-
echo "" >> "$AR_PLATFORMIO_PY"
468-
469-
AR_LIBS="$LD_LIBS"
470-
PIO_LIBS=""
471-
set -- $LD_LIBS
472-
for item; do
473-
if [ "$PIO_LIBS" != "" ]; then
474-
PIO_LIBS+=", "
515+
# copy precompiled libs (if we need them)
516+
function copy_precompiled_lib(){
517+
lib_file="$1"
518+
lib_name="$(basename $lib_file)"
519+
if [[ $LD_LIBS_SEARCH == *"$lib_name"* ]]; then
520+
"$TOOLCHAIN-strip" -g "$lib_file"
521+
cp "$lib_file" "$AR_SDK/ld/"
475522
fi
476-
PIO_LIBS+="\"$item\""
477-
done
523+
}
478524

479-
set -- $LD_LIB_FILES
525+
# idf ld scripts
526+
mkdir -p "$AR_SDK/ld"
527+
set -- $LD_SCRIPT_DIRS
480528
for item; do
481-
#echo "***** Stripping $item"
482-
"$TOOLCHAIN-strip" -g "$item"
483-
cp "$item" "$AR_SDK/lib/"
529+
item="${item%\"}"
530+
item="${item#\"}"
531+
find "$item" -name '*.ld' -exec cp -f {} "$AR_SDK/ld/" \;
532+
for lib in `find "$item" -name '*.a'`; do
533+
copy_precompiled_lib "$lib"
534+
done
484535
done
485536

486-
echo " LIBPATH=[" >> "$AR_PLATFORMIO_PY"
487-
echo " join($PIO_SDK, \"lib\")," >> "$AR_PLATFORMIO_PY"
488-
echo " join($PIO_SDK, \"ld\")," >> "$AR_PLATFORMIO_PY"
489-
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_qspi\")))" >> "$AR_PLATFORMIO_PY"
490-
echo " ]," >> "$AR_PLATFORMIO_PY"
491-
echo "" >> "$AR_PLATFORMIO_PY"
492-
493-
echo " LIBS=[" >> "$AR_PLATFORMIO_PY"
494-
echo " $PIO_LIBS" >> "$AR_PLATFORMIO_PY"
495-
echo " ]," >> "$AR_PLATFORMIO_PY"
496-
echo "" >> "$AR_PLATFORMIO_PY"
497-
498-
echo " CPPDEFINES=[" >> "$AR_PLATFORMIO_PY"
499-
set -- $DEFINES
500-
for item; do
501-
item="${item:2}" #remove -D
502-
item="${item/NDEBUG}" #remove NDEBUG
503-
if [[ $item == *"="* ]]; then
504-
item=(${item//=/ })
505-
re='^[+-]?[0-9]+([.][0-9]+)?$'
506-
if [[ ${item[1]} =~ $re ]]; then
507-
echo " (\"${item[0]}\", ${item[1]})," >> "$AR_PLATFORMIO_PY"
508-
else
509-
echo " (\"${item[0]}\", '${item[1]}')," >> "$AR_PLATFORMIO_PY"
510-
fi
511-
else
512-
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
537+
for lib in "openthread" "espressif__esp-tflite-micro" "bt" "espressif__esp_modem" "espressif__esp-zboss-lib" "espressif__esp-zigbee-lib" "espressif__mdns" "espressif__esp-dsp" "espressif__esp32-camera" "joltwallet__littlefs"; do
538+
if [ -f "$AR_SDK/lib/lib$lib.a" ]; then
539+
echo "Stripping $AR_SDK/lib/lib$lib.a"
540+
"$TOOLCHAIN-strip" -g "$AR_SDK/lib/lib$lib.a"
513541
fi
514542
done
515543

516-
# end generation of platformio-build.py
517-
cat configs/pio_end.txt >> "$AR_PLATFORMIO_PY"
518-
519-
# replace double backslashes with single one
520-
DEFINES=`echo "$DEFINES" | tr -s '\'`
521-
522544
# target flags files
523545
FLAGS_DIR="$AR_SDK/flags"
524546
mkdir -p "$FLAGS_DIR"
@@ -529,7 +551,7 @@ echo -n "$CPP_FLAGS" > "$FLAGS_DIR/cpp_flags"
529551
echo -n "$AS_FLAGS" > "$FLAGS_DIR/S_flags"
530552
echo -n "$LD_FLAGS" > "$FLAGS_DIR/ld_flags"
531553
echo -n "$LD_SCRIPTS" > "$FLAGS_DIR/ld_scripts"
532-
echo -n "$AR_LIBS" > "$FLAGS_DIR/ld_libs"
554+
echo -n "$LD_LIBS" > "$FLAGS_DIR/ld_libs"
533555

534556
if [ -d "managed_components/espressif__esp32-camera/driver/private_include/" ]; then
535557
cp -r "managed_components/espressif__esp32-camera/driver/private_include/cam_hal.h" "$AR_SDK/include/espressif__esp32-camera/driver/include/"
@@ -544,35 +566,6 @@ cp -f "dependencies.lock" "$AR_SDK/dependencies.lock"
544566
# gen_esp32part.py
545567
# cp "$IDF_PATH/components/partition_table/gen_esp32part.py" "$AR_GEN_PART_PY"
546568

547-
# copy precompiled libs (if we need them)
548-
function copy_precompiled_lib(){
549-
lib_file="$1"
550-
lib_name="$(basename $lib_file)"
551-
if [[ $LD_LIBS_SEARCH == *"$lib_name"* ]]; then
552-
"$TOOLCHAIN-strip" -g "$lib_file"
553-
cp "$lib_file" "$AR_SDK/ld/"
554-
fi
555-
}
556-
557-
# idf ld scripts
558-
mkdir -p "$AR_SDK/ld"
559-
set -- $LD_SCRIPT_DIRS
560-
for item; do
561-
item="${item%\"}"
562-
item="${item#\"}"
563-
find "$item" -name '*.ld' -exec cp -f {} "$AR_SDK/ld/" \;
564-
for lib in `find "$item" -name '*.a'`; do
565-
copy_precompiled_lib "$lib"
566-
done
567-
done
568-
569-
for lib in "openthread" "espressif__esp-tflite-micro" "bt" "espressif__esp_modem" "espressif__esp-zboss-lib" "espressif__esp-zigbee-lib" "espressif__mdns" "espressif__esp-dsp" "espressif__esp32-camera" "joltwallet__littlefs"; do
570-
if [ -f "$AR_SDK/lib/lib$lib.a" ]; then
571-
echo "Stripping $AR_SDK/lib/lib$lib.a"
572-
"$TOOLCHAIN-strip" -g "$AR_SDK/lib/lib$lib.a"
573-
fi
574-
done
575-
576569
# Handle Mem Variants
577570
mkdir -p "$AR_SDK/$MEMCONF/include"
578571
mv "$PWD/build/config/sdkconfig.h" "$AR_SDK/$MEMCONF/include/sdkconfig.h"

0 commit comments

Comments
 (0)