Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 4856e0c

Browse files
authoredNov 29, 2024··
Update copy-libs.sh
1 parent 1a2fd05 commit 4856e0c

File tree

1 file changed

+0
-217
lines changed

1 file changed

+0
-217
lines changed
 

‎tools/copy-libs.sh

Lines changed: 0 additions & 217 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,6 @@ LD_LIBS_SEARCH=""
6363
LD_SCRIPTS=""
6464
LD_SCRIPT_DIRS=""
6565

66-
PIO_CC_FLAGS=""
67-
PIO_C_FLAGS=""
68-
PIO_CXX_FLAGS=""
69-
PIO_AS_FLAGS=""
70-
PIO_LD_FLAGS=""
71-
PIO_LD_FUNCS=""
72-
PIO_LD_SCRIPTS=""
73-
7466
TOOLCHAIN_PREFIX=""
7567
if [ "$IS_XTENSA" = "y" ]; then
7668
TOOLCHAIN="xtensa-$IDF_TARGET-elf"
@@ -105,8 +97,6 @@ for item in "${@:2:${#@}-5}"; do
10597
if [[ "${item:2:7}" != "ARDUINO" ]] && [[ "$item" != "-DESP32=ESP32" ]]; then #skip ARDUINO defines
10698
DEFINES+="$item "
10799
fi
108-
elif [ "$prefix" = "-O" ]; then
109-
PIO_CC_FLAGS+="$item "
110100
elif [[ "$item" != "-Wall" && "$item" != "-Werror=all" && "$item" != "-Wextra" ]]; then
111101
if [[ "${item:0:23}" != "-mfix-esp32-psram-cache" && "${item:0:18}" != "-fmacro-prefix-map" && "${item:0:20}" != "-fdiagnostics-color=" && "${item:0:19}" != "-fdebug-prefix-map=" ]]; then
112102
C_FLAGS+="$item "
@@ -124,11 +114,6 @@ for item in "${@:2:${#@}-5}"; do
124114
if [[ "$prefix" != "-I" && "$prefix" != "-D" && "$item" != "-Wall" && "$item" != "-Werror=all" && "$item" != "-Wextra" && "$prefix" != "-O" ]]; then
125115
if [[ "${item:0:23}" != "-mfix-esp32-psram-cache" && "${item:0:18}" != "-fmacro-prefix-map" && "${item:0:20}" != "-fdiagnostics-color=" && "${item:0:19}" != "-fdebug-prefix-map=" ]]; then
126116
AS_FLAGS+="$item "
127-
if [[ $C_FLAGS == *"$item"* ]]; then
128-
PIO_CC_FLAGS+="$item "
129-
else
130-
PIO_AS_FLAGS+="$item "
131-
fi
132117
fi
133118
fi
134119
done
@@ -143,20 +128,10 @@ for item in "${@:2:${#@}-5}"; do
143128
if [[ "$prefix" != "-I" && "$prefix" != "-D" && "$item" != "-Wall" && "$item" != "-Werror=all" && "$item" != "-Wextra" && "$prefix" != "-O" ]]; then
144129
if [[ "${item:0:23}" != "-mfix-esp32-psram-cache" && "${item:0:18}" != "-fmacro-prefix-map" && "${item:0:20}" != "-fdiagnostics-color=" && "${item:0:19}" != "-fdebug-prefix-map=" ]]; then
145130
CPP_FLAGS+="$item "
146-
if [[ $PIO_CC_FLAGS != *"$item"* ]]; then
147-
PIO_CXX_FLAGS+="$item "
148-
fi
149131
fi
150132
fi
151133
done
152134

153-
set -- $C_FLAGS
154-
for item; do
155-
if [[ $PIO_CC_FLAGS != *"$item"* ]]; then
156-
PIO_C_FLAGS+="$item "
157-
fi
158-
done
159-
160135
#parse link command to extract libs and flags
161136
add_next=0
162137
is_dir=0
@@ -180,7 +155,6 @@ else
180155
fi
181156
if [ "$IDF_TARGET" = "esp32" ]; then
182157
LD_SCRIPTS+="-T esp32.rom.redefined.ld "
183-
PIO_LD_SCRIPTS+="esp32.rom.redefined.ld "
184158
fi
185159
set -- $str
186160
for item; do
@@ -213,7 +187,6 @@ for item; do
213187
is_dir=0
214188
elif [[ "${item:0:23}" != "-mfix-esp32-psram-cache" && "${item:0:18}" != "-fmacro-prefix-map" && "${item:0:19}" != "-fdebug-prefix-map=" && "${item:0:17}" != "-Wl,--start-group" && "${item:0:15}" != "-Wl,--end-group" ]]; then
215189
LD_FLAGS+="$item "
216-
PIO_LD_FLAGS+="$item "
217190
fi
218191
fi
219192
else
@@ -225,10 +198,8 @@ for item; do
225198
elif [ "$is_script" = "1" ]; then
226199
is_script=0
227200
LD_SCRIPTS+="$item "
228-
PIO_LD_SCRIPTS+="$item "
229201
else
230202
LD_FLAGS+="$item "
231-
PIO_LD_FUNCS+="$item "
232203
fi
233204
else
234205
if [ "${item:${#item}-2:2}" = ".a" ]; then
@@ -288,194 +259,6 @@ done
288259

289260
mkdir -p "$AR_SDK"
290261

291-
# start generation of platformio-build.py
292-
AR_PLATFORMIO_PY="$AR_SDK/platformio-build.py"
293-
cat configs/pio_start.txt > "$AR_PLATFORMIO_PY"
294-
295-
echo " ASFLAGS=[" >> "$AR_PLATFORMIO_PY"
296-
if [ "$IS_XTENSA" = "y" ]; then
297-
echo " \"-mlongcalls\"" >> "$AR_PLATFORMIO_PY"
298-
else
299-
echo " \"-march=rv32imc\"" >> "$AR_PLATFORMIO_PY"
300-
fi
301-
echo " ]," >> "$AR_PLATFORMIO_PY"
302-
echo "" >> "$AR_PLATFORMIO_PY"
303-
304-
echo " ASPPFLAGS=[" >> "$AR_PLATFORMIO_PY"
305-
set -- $PIO_AS_FLAGS
306-
for item; do
307-
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
308-
done
309-
echo " \"-x\", \"assembler-with-cpp\"" >> "$AR_PLATFORMIO_PY"
310-
echo " ]," >> "$AR_PLATFORMIO_PY"
311-
echo "" >> "$AR_PLATFORMIO_PY"
312-
313-
echo " CFLAGS=[" >> "$AR_PLATFORMIO_PY"
314-
set -- $PIO_C_FLAGS
315-
last_item="${@: -1}"
316-
for item in "${@:0:${#@}}"; do
317-
if [ "${item:0:1}" != "/" ]; then
318-
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
319-
fi
320-
done
321-
echo " \"$last_item\"" >> "$AR_PLATFORMIO_PY"
322-
echo " ]," >> "$AR_PLATFORMIO_PY"
323-
echo "" >> "$AR_PLATFORMIO_PY"
324-
325-
echo " CXXFLAGS=[" >> "$AR_PLATFORMIO_PY"
326-
set -- $PIO_CXX_FLAGS
327-
last_item="${@: -1}"
328-
for item in "${@:0:${#@}}"; do
329-
if [ "${item:0:1}" != "/" ]; then
330-
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
331-
fi
332-
done
333-
echo " \"$last_item\"" >> "$AR_PLATFORMIO_PY"
334-
echo " ]," >> "$AR_PLATFORMIO_PY"
335-
echo "" >> "$AR_PLATFORMIO_PY"
336-
337-
echo " CCFLAGS=[" >> "$AR_PLATFORMIO_PY"
338-
set -- $PIO_CC_FLAGS
339-
for item; do
340-
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
341-
done
342-
echo " \"-MMD\"" >> "$AR_PLATFORMIO_PY"
343-
echo " ]," >> "$AR_PLATFORMIO_PY"
344-
echo "" >> "$AR_PLATFORMIO_PY"
345-
346-
echo " LINKFLAGS=[" >> "$AR_PLATFORMIO_PY"
347-
set -- $PIO_LD_FLAGS
348-
for item; do
349-
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
350-
done
351-
set -- $PIO_LD_SCRIPTS
352-
for item; do
353-
echo " \"-T\", \"$item\"," >> "$AR_PLATFORMIO_PY"
354-
done
355-
set -- $PIO_LD_FUNCS
356-
for item; do
357-
echo " \"-u\", \"$item\"," >> "$AR_PLATFORMIO_PY"
358-
done
359-
echo " '-Wl,-Map=\"%s\"' % join(\"\${BUILD_DIR}\", \"\${PROGNAME}.map\")" >> "$AR_PLATFORMIO_PY"
360-
361-
echo " ]," >> "$AR_PLATFORMIO_PY"
362-
echo "" >> "$AR_PLATFORMIO_PY"
363-
364-
# include dirs
365-
REL_INC=""
366-
echo " CPPPATH=[" >> "$AR_PLATFORMIO_PY"
367-
368-
set -- $INCLUDES
369-
370-
for item; do
371-
if [[ "$item" != $PWD ]]; then
372-
ipath="$item"
373-
fname=`basename "$ipath"`
374-
dname=`basename $(dirname "$ipath")`
375-
if [[ "$fname" == "main" && "$dname" == $(basename "$PWD") ]]; then
376-
continue
377-
fi
378-
while [[ "$dname" != "components" && "$dname" != "managed_components" && "$dname" != "build" ]]; do
379-
ipath=`dirname "$ipath"`
380-
fname=`basename "$ipath"`
381-
dname=`basename $(dirname "$ipath")`
382-
done
383-
if [[ "$fname" == "arduino" ]]; then
384-
continue
385-
fi
386-
if [[ "$fname" == "config" ]]; then
387-
continue
388-
fi
389-
390-
out_sub="${item#*$ipath}"
391-
out_cpath="$AR_SDK/include/$fname$out_sub"
392-
REL_INC+="-iwithprefixbefore $fname$out_sub "
393-
if [ "$out_sub" = "" ]; then
394-
echo " join($PIO_SDK, \"include\", \"$fname\")," >> "$AR_PLATFORMIO_PY"
395-
else
396-
pio_sub="${out_sub:1}"
397-
pio_sub=`echo $pio_sub | sed 's/\//\\", \\"/g'`
398-
echo " join($PIO_SDK, \"include\", \"$fname\", \"$pio_sub\")," >> "$AR_PLATFORMIO_PY"
399-
fi
400-
for f in `find "$item" -name '*.h'`; do
401-
rel_f=${f#*$item}
402-
rel_p=${rel_f%/*}
403-
mkdir -p "$out_cpath$rel_p"
404-
cp -n $f "$out_cpath$rel_p/"
405-
done
406-
for f in `find "$item" -name '*.hpp'`; do
407-
rel_f=${f#*$item}
408-
rel_p=${rel_f%/*}
409-
mkdir -p "$out_cpath$rel_p"
410-
cp -n $f "$out_cpath$rel_p/"
411-
done
412-
for f in `find "$item" -name '*.inc'`; do
413-
rel_f=${f#*$item}
414-
rel_p=${rel_f%/*}
415-
mkdir -p "$out_cpath$rel_p"
416-
cp -n $f "$out_cpath$rel_p/"
417-
done
418-
# Temporary measure to fix issues caused by https://github.com/espressif/esp-idf/commit/dc4731101dd567cc74bbe4d0f03afe52b7db9afb#diff-1d2ce0d3989a80830fdf230bcaafb3117f32046d16cf46616ac3d55b4df2a988R17
419-
if [[ "$fname" == "bt" && "$out_sub" == "/include/$IDF_TARGET/include" && -f "$ipath/controller/$IDF_TARGET/esp_bt_cfg.h" ]]; then
420-
mkdir -p "$AR_SDK/include/$fname/controller/$IDF_TARGET"
421-
cp -n "$ipath/controller/$IDF_TARGET/esp_bt_cfg.h" "$AR_SDK/include/$fname/controller/$IDF_TARGET/esp_bt_cfg.h"
422-
fi
423-
fi
424-
done
425-
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_$OCT_PSRAM\")), \"include\")," >> "$AR_PLATFORMIO_PY"
426-
echo " join(FRAMEWORK_DIR, \"cores\", board_config.get(\"build.core\"))" >> "$AR_PLATFORMIO_PY"
427-
echo " ]," >> "$AR_PLATFORMIO_PY"
428-
echo "" >> "$AR_PLATFORMIO_PY"
429-
430-
mkdir -p "$AR_SDK/lib"
431-
432-
AR_LIBS="$LD_LIBS"
433-
PIO_LIBS=""
434-
set -- $LD_LIBS
435-
for item; do
436-
if [ "$PIO_LIBS" != "" ]; then
437-
PIO_LIBS+=", "
438-
fi
439-
PIO_LIBS+="\"$item\""
440-
done
441-
442-
set -- $LD_LIB_FILES
443-
for item; do
444-
cp "$item" "$AR_SDK/lib/"
445-
done
446-
447-
echo " LIBPATH=[" >> "$AR_PLATFORMIO_PY"
448-
echo " join($PIO_SDK, \"lib\")," >> "$AR_PLATFORMIO_PY"
449-
echo " join($PIO_SDK, \"ld\")," >> "$AR_PLATFORMIO_PY"
450-
echo " join($PIO_SDK, board_config.get(\"build.arduino.memory_type\", (board_config.get(\"build.flash_mode\", \"dio\") + \"_$OCT_PSRAM\")))" >> "$AR_PLATFORMIO_PY"
451-
echo " ]," >> "$AR_PLATFORMIO_PY"
452-
echo "" >> "$AR_PLATFORMIO_PY"
453-
454-
echo " LIBS=[" >> "$AR_PLATFORMIO_PY"
455-
echo " $PIO_LIBS" >> "$AR_PLATFORMIO_PY"
456-
echo " ]," >> "$AR_PLATFORMIO_PY"
457-
echo "" >> "$AR_PLATFORMIO_PY"
458-
459-
echo " CPPDEFINES=[" >> "$AR_PLATFORMIO_PY"
460-
set -- $DEFINES
461-
for item; do
462-
item="${item:2}" #remove -D
463-
if [[ $item == *"="* ]]; then
464-
item=(${item//=/ })
465-
re='^[+-]?[0-9]+([.][0-9]+)?$'
466-
if [[ ${item[1]} =~ $re ]]; then
467-
echo " (\"${item[0]}\", ${item[1]})," >> "$AR_PLATFORMIO_PY"
468-
else
469-
echo " (\"${item[0]}\", '${item[1]}')," >> "$AR_PLATFORMIO_PY"
470-
fi
471-
else
472-
echo " \"$item\"," >> "$AR_PLATFORMIO_PY"
473-
fi
474-
done
475-
476-
# end generation of platformio-build.py
477-
cat configs/pio_end.txt >> "$AR_PLATFORMIO_PY"
478-
479262
# replace double backslashes with single one
480263
DEFINES=`echo "$DEFINES" | tr -s '\'`
481264

0 commit comments

Comments
 (0)
Please sign in to comment.