diff options
author | Damien George <damien@micropython.org> | 2023-06-12 13:09:48 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2023-06-14 19:03:46 +1000 |
commit | 5ce1a03a78bf87c914d53f63a35cf2b81963e6e4 (patch) | |
tree | 93aca7cbe52a9edd02441372041e6d1927b58852 /py/makemoduledefs.py | |
parent | 44295c9daa8a9210e2855ef431de21362c0cb662 (diff) | |
download | micropython-5ce1a03a78bf87c914d53f63a35cf2b81963e6e4.tar.gz micropython-5ce1a03a78bf87c914d53f63a35cf2b81963e6e4.zip |
py/makemoduledefs.py: Automatically declare delegation attr functions.
So that the delegation functions don't need to be put somewhere global,
like in mpconfigport.h. That would otherwise make it hard for extension
modules to use delegation.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/makemoduledefs.py')
-rw-r--r-- | py/makemoduledefs.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/py/makemoduledefs.py b/py/makemoduledefs.py index 66d4bff65c..29162ab387 100644 --- a/py/makemoduledefs.py +++ b/py/makemoduledefs.py @@ -106,7 +106,10 @@ def generate_module_delegations(delegations): if not delegations: return - print("\n#define MICROPY_MODULE_DELEGATIONS \\") + print() + for obj_module, fun_name in delegations: + print("extern void {}(mp_obj_t self_in, qstr attr, mp_obj_t *dest);".format(fun_name)) + print("#define MICROPY_MODULE_DELEGATIONS \\") for obj_module, fun_name in delegations: print( " {{ MP_ROM_PTR(&{obj_module}), {fun_name} }}, \\".format( |