Skip to content

Commit 9585e2a

Browse files
committed
Fixed handling of -include flag // Resolve platformio#4683
1 parent 5396882 commit 9585e2a

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

platformio/builder/tools/piobuild.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,13 @@ def ParseFlagsExtended(env, flags): # pylint: disable=too-many-branches
201201
for k in ("CPPPATH", "LIBPATH"):
202202
for i, p in enumerate(result.get(k, [])):
203203
p = env.subst(p)
204-
result[k][i] = p if os.path.isabs(p) else env.Dir(f"#{p}")
204+
if os.path.isdir(p):
205+
result[k][i] = os.path.abspath(p)
205206

206207
# fix relative path for "-include"
207208
for i, f in enumerate(result.get("CCFLAGS", [])):
208209
if isinstance(f, tuple) and f[0] == "-include":
209-
p = env.subst(f[1].get_path())
210-
result["CCFLAGS"][i] = (f[0], p if os.path.isabs(p) else env.File(f"#{p}"))
210+
result["CCFLAGS"][i] = (f[0], env.subst(f[1].get_path()))
211211

212212
return result
213213

tests/commands/test_run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def test_generic_build(clirunner, validate_cliresult, tmpdir):
2525
("-Iinclude", "-Iinclude"),
2626
("-include cpppath-include.h", "cpppath-include.h"),
2727
("-Iextra_inc", "-Iextra_inc"),
28-
("-Inon-existing-dir", "-Inon-existing-dir"),
28+
("-Inon-existing-dir", "non-existing-dir"),
2929
(
3030
"-include $PROJECT_DIR/lib/component/component-forced-include.h",
3131
"component-forced-include.h",

0 commit comments

Comments
 (0)