diff --git a/HISTORY.rst b/HISTORY.rst index 09688163..3d769625 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -9,6 +9,9 @@ PlatformIO 3.0 * Pre/Post extra scripting for advanced control of PIO Build System (`issue #891 `_) +* New `lib_archive `_ + option to control library archiving and linking behaviour + (`issue #993 `_) * Add "inc" folder automatically to CPPPATH when "src" is available (works for project and library) (`issue #1003 `_) * Use a root of library when filtering source code using diff --git a/docs b/docs index 6dcdabb9..ebd68b4b 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 6dcdabb99f74d2ba181e666cc1818697c255e271 +Subproject commit ebd68b4bac5ea3dcb526637dce1f782cc2ce570d diff --git a/platformio/builder/main.py b/platformio/builder/main.py index 7df25c85..f811c13a 100644 --- a/platformio/builder/main.py +++ b/platformio/builder/main.py @@ -50,6 +50,7 @@ commonvars.AddVariables( ("LIB_DEPS",), ("LIB_IGNORE",), ("LIB_EXTRA_DIRS",), + ("LIB_ARCHIVE",), # board options ("BOARD",), diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index 4e6f3b02..ddc8229e 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -169,7 +169,7 @@ class LibBuilderBase(object): @property def lib_archive(self): - return True + return self.env.get("LIB_ARCHIVE", "") != "false" @staticmethod def validate_ldf_mode(mode): diff --git a/platformio/commands/run.py b/platformio/commands/run.py index 5c35c4d2..fd7a29a0 100644 --- a/platformio/commands/run.py +++ b/platformio/commands/run.py @@ -132,11 +132,11 @@ class EnvironmentProcessor(object): "upload_protocol", "upload_speed", "upload_flags", "upload_resetmethod", "lib_deps", "lib_ignore", "lib_extra_dirs", "lib_ldf_mode", "lib_compat_mode", - "piotest", "test_transport", "test_ignore", "test_port", - "debug_tool", "debug_port", "debug_init_cmds", - "debug_extra_cmds", "debug_server", "debug_init_break", - "debug_load_cmd", "monitor_port", "monitor_baud", - "monitor_rts", "monitor_dtr") + "lib_archive", "piotest", "test_transport", "test_ignore", + "test_port", "debug_tool", "debug_port", + "debug_init_cmds", "debug_extra_cmds", "debug_server", + "debug_init_break", "debug_load_cmd", "monitor_port", + "monitor_baud", "monitor_rts", "monitor_dtr") IGNORE_BUILD_OPTIONS = ("test_transport", "test_filter", "test_ignore", "test_port", "debug_tool", "debug_port",