From 3f492e3b825ec6c2ef318344ebd1134cba682ee8 Mon Sep 17 00:00:00 2001 From: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com> Date: Tue, 15 Jul 2025 16:59:20 +1000 Subject: [PATCH] [core] Don't issue -Wno-volatile for host platform (#9511) --- esphome/writer.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/esphome/writer.py b/esphome/writer.py index ca9e511c19..5438e48570 100644 --- a/esphome/writer.py +++ b/esphome/writer.py @@ -163,7 +163,7 @@ def get_ini_content(): CORE.add_platformio_option("build_unflags", sorted(CORE.build_unflags)) # Add extra script for C++ flags - CORE.add_platformio_option("extra_scripts", ["pre:cxx_flags.py"]) + CORE.add_platformio_option("extra_scripts", [f"pre:{CXX_FLAGS_FILE_NAME}"]) content = "[platformio]\n" content += f"description = ESPHome {__version__}\n" @@ -402,14 +402,18 @@ def write_gitignore(): f.write(GITIGNORE_CONTENT) -CXX_FLAGS_SCRIPT = """# Auto-generated ESPHome script for C++ specific compiler flags +CXX_FLAGS_FILE_NAME = "cxx_flags.py" +CXX_FLAGS_FILE_CONTENTS = """# Auto-generated ESPHome script for C++ specific compiler flags Import("env") -# Add C++ specific warning flags -env.Append(CXXFLAGS=["-Wno-volatile"]) +# Add C++ specific flags """ def write_cxx_flags_script() -> None: - path = CORE.relative_build_path("cxx_flags.py") - write_file_if_changed(path, CXX_FLAGS_SCRIPT) + path = CORE.relative_build_path(CXX_FLAGS_FILE_NAME) + contents = CXX_FLAGS_FILE_CONTENTS + if not CORE.is_host: + contents += 'env.Append(CXXFLAGS=["-Wno-volatile"])' + contents += "\n" + write_file_if_changed(path, contents)