From 0ca598c3c9a0a210a3a4cce8814695f915b8c2a9 Mon Sep 17 00:00:00 2001 From: Maximilian Gerhardt Date: Thu, 21 Jul 2022 12:18:31 +0200 Subject: [PATCH] Fix PlatformIO linking for variant-specific overrides --- tools/platformio-build.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/platformio-build.py b/tools/platformio-build.py index 3d6543d07..8aed42400 100755 --- a/tools/platformio-build.py +++ b/tools/platformio-build.py @@ -295,10 +295,11 @@ def configure_network_flags(): os.path.join(FRAMEWORK_DIR, "variants", variant) ]) - libs.append( - env.BuildLibrary( - os.path.join("$BUILD_DIR", "FrameworkArduinoVariant"), - os.path.join(FRAMEWORK_DIR, "variants", variant))) + # link variant's source files as object files into the binary. + # otherwise weak function overriding won't work in the linking stage. + env.BuildSources( + os.path.join("$BUILD_DIR", "FrameworkArduinoVariant"), + os.path.join(FRAMEWORK_DIR, "variants", variant)) libs.append( env.BuildLibrary(