未验证 提交 4453ca54 编写于 作者: V Valerii Koval 提交者: GitHub

Properly handle ARDUINO_PARTITION define in PlatformIO (#6681)

This fixes possible issues when developers specify arbitrary partition files
using relative or absolute paths.

Additionally, hyphens in filenames are replaced with underscores to
avoid compilation warnings "ISO C++11 requires whitespace after the macro name"

Resolves platformio/platform-espressif32#787
上级 ce2cd111
...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage ...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage
# Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py # Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py
from os.path import abspath, isdir, isfile, join from os.path import abspath, basename, isdir, isfile, join
from SCons.Script import DefaultEnvironment from SCons.Script import DefaultEnvironment
...@@ -319,7 +319,8 @@ env.Append( ...@@ -319,7 +319,8 @@ env.Append(
("ARDUINO", 10812), ("ARDUINO", 10812),
("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")), ("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")),
("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")), ("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")),
"ARDUINO_PARTITION_%s" % env.BoardConfig().get("build.partitions", "default.csv").replace(".csv", "") "ARDUINO_PARTITION_%s" % basename(env.BoardConfig().get(
"build.partitions", "default.csv")).replace(".csv", "").replace("-", "_")
], ],
LIBSOURCE_DIRS=[ LIBSOURCE_DIRS=[
......
...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage ...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage
# Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py # Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py
from os.path import abspath, isdir, isfile, join from os.path import abspath, basename, isdir, isfile, join
from SCons.Script import DefaultEnvironment from SCons.Script import DefaultEnvironment
...@@ -312,7 +312,8 @@ env.Append( ...@@ -312,7 +312,8 @@ env.Append(
("ARDUINO", 10812), ("ARDUINO", 10812),
("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")), ("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")),
("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")), ("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")),
"ARDUINO_PARTITION_%s" % env.BoardConfig().get("build.partitions", "default.csv").replace(".csv", "") "ARDUINO_PARTITION_%s" % basename(env.BoardConfig().get(
"build.partitions", "default.csv")).replace(".csv", "").replace("-", "_")
], ],
LIBSOURCE_DIRS=[ LIBSOURCE_DIRS=[
......
...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage ...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage
# Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py # Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py
from os.path import abspath, isdir, isfile, join from os.path import abspath, basename, isdir, isfile, join
from SCons.Script import DefaultEnvironment from SCons.Script import DefaultEnvironment
...@@ -314,7 +314,8 @@ env.Append( ...@@ -314,7 +314,8 @@ env.Append(
("ARDUINO", 10812), ("ARDUINO", 10812),
("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")), ("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")),
("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")), ("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")),
"ARDUINO_PARTITION_%s" % env.BoardConfig().get("build.partitions", "default.csv").replace(".csv", "") "ARDUINO_PARTITION_%s" % basename(env.BoardConfig().get(
"build.partitions", "default.csv")).replace(".csv", "").replace("-", "_")
], ],
LIBSOURCE_DIRS=[ LIBSOURCE_DIRS=[
......
...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage ...@@ -24,7 +24,7 @@ http://arduino.cc/en/Reference/HomePage
# Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py # Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py
from os.path import abspath, isdir, isfile, join from os.path import abspath, basename, isdir, isfile, join
from SCons.Script import DefaultEnvironment from SCons.Script import DefaultEnvironment
...@@ -331,7 +331,8 @@ env.Append( ...@@ -331,7 +331,8 @@ env.Append(
("ARDUINO", 10812), ("ARDUINO", 10812),
("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")), ("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")),
("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")), ("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")),
"ARDUINO_PARTITION_%s" % env.BoardConfig().get("build.partitions", "default.csv").replace(".csv", "") "ARDUINO_PARTITION_%s" % basename(env.BoardConfig().get(
"build.partitions", "default.csv")).replace(".csv", "").replace("-", "_")
], ],
LIBSOURCE_DIRS=[ LIBSOURCE_DIRS=[
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册