From d87f42b0e53829052f17955ba1e17f938ae486fb Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 31 Mar 2021 00:45:43 +1100 Subject: examples/usercmodules: Simplify user C module enabling. It's a bit of a pitfall with user C modules that including them in the build does not automatically enable them. This commit changes the docs and examples for user C modules to encourage writers of user C modules to enable them unconditionally. This makes things simpler and covers most use cases. See discussion in issue #6960, and also #7086. Signed-off-by: Damien George --- examples/usercmodule/cexample/examplemodule.c | 5 ++++- examples/usercmodule/cexample/micropython.cmake | 6 ------ 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'examples/usercmodule/cexample') diff --git a/examples/usercmodule/cexample/examplemodule.c b/examples/usercmodule/cexample/examplemodule.c index f608823c9..49ebc7aaa 100644 --- a/examples/usercmodule/cexample/examplemodule.c +++ b/examples/usercmodule/cexample/examplemodule.c @@ -31,4 +31,7 @@ const mp_obj_module_t example_user_cmodule = { }; // Register the module to make it available in Python. -MP_REGISTER_MODULE(MP_QSTR_cexample, example_user_cmodule, MODULE_CEXAMPLE_ENABLED); +// Note: the "1" in the third argument means this module is always enabled. +// This "1" can be optionally replaced with a macro like MODULE_CEXAMPLE_ENABLED +// which can then be used to conditionally enable this module. +MP_REGISTER_MODULE(MP_QSTR_cexample, example_user_cmodule, 1); diff --git a/examples/usercmodule/cexample/micropython.cmake b/examples/usercmodule/cexample/micropython.cmake index 371a3eefa..ba076a16b 100644 --- a/examples/usercmodule/cexample/micropython.cmake +++ b/examples/usercmodule/cexample/micropython.cmake @@ -11,11 +11,5 @@ target_include_directories(usermod_cexample INTERFACE ${CMAKE_CURRENT_LIST_DIR} ) -# Enable the module automatically by adding the relevant compile definitions. -target_compile_definitions(usermod_cexample INTERFACE - MODULE_CEXAMPLE_ENABLED=1 -) - # Link our INTERFACE library to the usermod target. target_link_libraries(usermod INTERFACE usermod_cexample) - -- cgit v1.2.3