@@ -52,13 +52,8 @@ function get_actual_path(){
52
52
fi
53
53
}
54
54
55
- # Include-Pfad-Verkürzung Funktionen (basierend auf pioarduino Python-Implementierung)
56
- IS_INTEGRATION_DUMP=${IS_INTEGRATION_DUMP:- false}
57
-
58
- # Das Framework SDK Verzeichnis für PlatformIO (Runtime)
59
- FRAMEWORK_SDK_DIR=" $AR_SDK "
60
-
61
- # Das Build-Zeit Framework-Verzeichnis (ESP-IDF)
55
+ # Include-Pfad-Verkürzung Funktionen (für statische Generierung)
56
+ # Das Build-Zeit Framework-Verzeichnis (ESP-IDF Quellen)
62
57
if [ -n " $IDF_PATH " ]; then
63
58
BUILD_FRAMEWORK_DIR=" $IDF_PATH "
64
59
elif [ -d " ../esp-idf" ]; then
70
65
is_framework_subfolder () {
71
66
local potential_subfolder=" $1 "
72
67
73
- # Prüfe ob absoluter Pfad (analog zu os.path.isabs)
68
+ # Prüfe ob absoluter Pfad
74
69
if [[ " $potential_subfolder " != /* ]]; then
75
70
return 1
76
71
fi
77
72
78
- # Prüfe ob auf gleichem Laufwerk (analog zu os.path.splitdrive)
73
+ # Prüfe ob auf gleichem Laufwerk
79
74
local sdk_drive=" ${BUILD_FRAMEWORK_DIR%%:* } "
80
75
local sub_drive=" ${potential_subfolder%%:* } "
81
76
if [[ " $sdk_drive " != " $sub_drive " ]]; then
82
77
return 1
83
78
fi
84
79
85
- # Prüfe ob Unterordner (analog zu os.path.commonpath)
80
+ # Prüfe ob Unterordner (analog zu Python os.path.commonpath)
86
81
case " $potential_subfolder " in
87
82
" $BUILD_FRAMEWORK_DIR " * )
88
83
return 0
@@ -95,13 +90,6 @@ is_framework_subfolder() {
95
90
96
91
shorten_includes () {
97
92
local includes_str=" $1 "
98
-
99
- # Für IDE-Integration keine Verkürzung (analog zur Python-Funktion)
100
- if [[ " $IS_INTEGRATION_DUMP " == " true" ]]; then
101
- echo " $includes_str ||"
102
- return
103
- fi
104
-
105
93
local shortened_includes=" "
106
94
local generic_includes=" "
107
95
@@ -111,9 +99,9 @@ shorten_includes() {
111
99
for inc in " ${includes_array[@]} " ; do
112
100
if [[ -n " $inc " ]]; then
113
101
if is_framework_subfolder " $inc " ; then
114
- # Berechne relativen Pfad (analog zu os.path.relpath)
102
+ # Berechne relativen Pfad (analog zu Python os.path.relpath)
115
103
local rel_path=" ${inc# $BUILD_FRAMEWORK_DIR } "
116
- rel_path=" ${rel_path#/ } "
104
+ rel_path=" ${rel_path#/ } " # Entferne führenden Slash
117
105
if [[ -n " $rel_path " ]]; then
118
106
shortened_includes+=" -iwithprefix/$rel_path "
119
107
fi
@@ -123,8 +111,8 @@ shorten_includes() {
123
111
fi
124
112
done
125
113
126
- # Rückgabe: "generic_includes|shortened_includes|framework_dir "
127
- echo " $generic_includes |$shortened_includes | $BUILD_FRAMEWORK_DIR "
114
+ # Rückgabe: "generic_includes|shortened_includes"
115
+ echo " $generic_includes |$shortened_includes "
128
116
}
129
117
130
118
#
@@ -213,12 +201,10 @@ for item in "${@:2:${#@}-5}"; do
213
201
fi
214
202
done
215
203
216
- # Wende Include-Verkürzung an (analog zur Python-Funktion)
204
+ # Wende Include-Verkürzung an
217
205
SHORTENED_RESULT=$( shorten_includes " $INCLUDES_RAW " )
218
- GENERIC_INCLUDES=" ${SHORTENED_RESULT%% |* } "
206
+ GENERIC_INCLUDES=" ${SHORTENED_RESULT% |* } "
219
207
SHORTENED_INCLUDES=" ${SHORTENED_RESULT#* |} "
220
- SHORTENED_INCLUDES=" ${SHORTENED_INCLUDES%% |* } "
221
- USED_FRAMEWORK_DIR=" ${SHORTENED_RESULT##* |} "
222
208
223
209
# collect asm-flags
224
210
str=` cat build/compile_commands.json | grep arduino-lib-builder-as.S | grep command | cut -d' :' -f2 | cut -d' ,' -f1`
@@ -408,15 +394,15 @@ mkdir -p "$AR_SDK"
408
394
AR_PLATFORMIO_PY=" $AR_SDK /pioarduino-build.py"
409
395
cat configs/pio_start.txt > " $AR_PLATFORMIO_PY "
410
396
411
- # ASFLAGS mit Include-Verkürzung (analog zur Python-Funktion)
397
+ # ASFLAGS mit statischer Include-Verkürzung
412
398
echo " ASFLAGS=[" >> " $AR_PLATFORMIO_PY "
413
399
if [ " $IS_XTENSA " = " y" ]; then
414
400
echo " \" -mlongcalls\" " >> " $AR_PLATFORMIO_PY "
415
401
else
416
402
echo " \" -march=rv32imc\" " >> " $AR_PLATFORMIO_PY "
417
403
fi
418
404
419
- # Füge verkürzte Includes hinzu (analog zur Python-Implementierung)
405
+ # Füge statische Include-Verkürzung hinzu
420
406
if [[ -n " $SHORTENED_INCLUDES " ]]; then
421
407
echo " \" -iprefix\" , join(FRAMEWORK_DIR, \" tools\" , \" sdk\" , \" $IDF_TARGET \" )," >> " $AR_PLATFORMIO_PY "
422
408
IFS=' ' read -ra shortened_array <<< " $SHORTENED_INCLUDES"
@@ -463,14 +449,14 @@ echo " \"$last_item\"" >> "$AR_PLATFORMIO_PY"
463
449
echo " ]," >> " $AR_PLATFORMIO_PY "
464
450
echo " " >> " $AR_PLATFORMIO_PY "
465
451
466
- # CCFLAGS mit Include-Verkürzung (analog zur Python-Funktion)
452
+ # CCFLAGS mit statischer Include-Verkürzung
467
453
echo " CCFLAGS=[" >> " $AR_PLATFORMIO_PY "
468
454
set -- $PIO_CC_FLAGS
469
455
for item; do
470
456
echo " \" $item \" ," >> " $AR_PLATFORMIO_PY "
471
457
done
472
458
473
- # Füge verkürzte Includes hinzu (analog zur Python-Implementierung)
459
+ # Füge statische Include-Verkürzung hinzu
474
460
if [[ -n " $SHORTENED_INCLUDES " ]]; then
475
461
echo " \" -iprefix\" , join(FRAMEWORK_DIR, \" tools\" , \" sdk\" , \" $IDF_TARGET \" )," >> " $AR_PLATFORMIO_PY "
476
462
IFS=' ' read -ra shortened_array <<< " $SHORTENED_INCLUDES"
@@ -503,10 +489,10 @@ echo " '-Wl,-Map=\"%s\"' % join(\"\${BUILD_DIR}\", \"\${PROGNAME}.map\")"
503
489
echo " ]," >> " $AR_PLATFORMIO_PY "
504
490
echo " " >> " $AR_PLATFORMIO_PY "
505
491
506
- # CPPPATH nur mit generischen Includes (analog zur Python-Funktion)
492
+ # CPPPATH nur mit generischen Includes und Arduino Core
507
493
echo " CPPPATH=[" >> " $AR_PLATFORMIO_PY "
508
494
509
- # Füge generische Includes hinzu (nicht-Framework Pfade)
495
+ # Füge generische (nicht-Framework) Includes hinzu
510
496
if [[ -n " $GENERIC_INCLUDES " ]]; then
511
497
IFS=' ' read -ra generic_array <<< " $GENERIC_INCLUDES"
512
498
for inc in " ${generic_array[@]} " ; do
@@ -516,7 +502,7 @@ if [[ -n "$GENERIC_INCLUDES" ]]; then
516
502
done
517
503
fi
518
504
519
- # Bestehende Include-Verarbeitung für kopierte Headers
505
+ # Bestehende CPPPATH-Logik für kopierte Headers
520
506
REL_INC=" "
521
507
set -- $INCLUDES
522
508
0 commit comments