build,meson: Fix daemon enums dependencies

meson generates the `mm-daemon-enums-types` source and header files.
These are used when building `ModemManager` executable and different
plugins. However, these enums are only stated as dependencies on the
`ModemManager` executable build.

This has been fixed by also adding the generated files targets as
dependencies in the required plugins.
This commit is contained in:
Iñigo Martínez
2022-03-01 09:27:08 +01:00
parent 2bc697ce32
commit 81c3b59f75
2 changed files with 12 additions and 11 deletions

View File

@@ -88,7 +88,7 @@ if plugins_shared['icera']
plugins += {'shared-icera': { plugins += {'shared-icera': {
'plugin': false, 'plugin': false,
'helper': {'sources': files('icera/mm-modem-helpers-icera.c'), 'include_directories': plugins_incs, 'c_args': common_c_args}, 'helper': {'sources': files('icera/mm-modem-helpers-icera.c'), 'include_directories': plugins_incs, 'c_args': common_c_args},
'module': {'sources': sources, 'include_directories': plugins_incs, 'c_args': common_c_args}, 'module': {'sources': sources + daemon_enums_sources, 'include_directories': plugins_incs, 'c_args': common_c_args},
'test': {'sources': files('icera/tests/test-modem-helpers-icera.c'), 'include_directories': plugins_incs + [icera_inc], 'dependencies': libhelpers_dep}, 'test': {'sources': files('icera/tests/test-modem-helpers-icera.c'), 'include_directories': plugins_incs + [icera_inc], 'dependencies': libhelpers_dep},
}} }}
endif endif
@@ -185,7 +185,7 @@ if plugins_shared['telit']
plugins += {'shared-telit': { plugins += {'shared-telit': {
'plugin': false, 'plugin': false,
'helper': {'sources': files('telit/mm-modem-helpers-telit.c'), 'include_directories': plugins_incs, 'c_args': common_c_args}, 'helper': {'sources': files('telit/mm-modem-helpers-telit.c'), 'include_directories': plugins_incs, 'c_args': common_c_args},
'module': {'sources': sources, 'include_directories': plugins_incs + [telit_inc], 'c_args': common_c_args}, 'module': {'sources': sources + daemon_enums_sources, 'include_directories': plugins_incs + [telit_inc], 'c_args': common_c_args},
'test': {'sources': files('telit/tests/test-mm-modem-helpers-telit.c'), 'include_directories': telit_inc, 'dependencies': libmm_test_common_dep}, 'test': {'sources': files('telit/tests/test-mm-modem-helpers-telit.c'), 'include_directories': telit_inc, 'dependencies': libmm_test_common_dep},
}} }}
endif endif
@@ -285,7 +285,7 @@ if plugins_options['cinterion']
plugins += {'plugin-cinterion': { plugins += {'plugin-cinterion': {
'plugin': true, 'plugin': true,
'helper': {'sources': files('cinterion/mm-modem-helpers-cinterion.c'), 'include_directories': plugins_incs, 'c_args': common_c_args}, 'helper': {'sources': files('cinterion/mm-modem-helpers-cinterion.c'), 'include_directories': plugins_incs, 'c_args': common_c_args},
'module': {'sources': sources, 'include_directories': plugins_incs, 'c_args': common_c_args}, 'module': {'sources': sources + daemon_enums_sources, 'include_directories': plugins_incs, 'c_args': common_c_args},
'test': {'sources': files('cinterion/tests/test-modem-helpers-cinterion.c'), 'include_directories': plugins_incs + [include_directories('cinterion')], 'dependencies': libport_dep}, 'test': {'sources': files('cinterion/tests/test-modem-helpers-cinterion.c'), 'include_directories': plugins_incs + [include_directories('cinterion')], 'dependencies': libport_dep},
}} }}
@@ -448,8 +448,8 @@ if plugins_options['huawei']
plugins += {'plugin-huawei': { plugins += {'plugin-huawei': {
'plugin': true, 'plugin': true,
'helper': {'sources': files('huawei/mm-modem-helpers-huawei.c'), 'include_directories': plugins_incs + [huawei_inc], 'c_args': common_c_args + ['-DMM_MODULE_NAME="huawei"']}, 'helper': {'sources': files('huawei/mm-modem-helpers-huawei.c') + daemon_enums_sources, 'include_directories': plugins_incs + [huawei_inc], 'c_args': common_c_args + ['-DMM_MODULE_NAME="huawei"']},
'module': {'sources': sources + enums_sources + port_enums_sources, 'include_directories': plugins_incs + [huawei_inc], 'c_args': common_c_args + ['-DMM_MODULE_NAME="huawei"']}, 'module': {'sources': sources + enums_sources + port_enums_sources + daemon_enums_sources, 'include_directories': plugins_incs + [huawei_inc], 'c_args': common_c_args + ['-DMM_MODULE_NAME="huawei"']},
'test': {'sources': files('huawei/tests/test-modem-helpers-huawei.c') + enums_sources, 'include_directories': huawei_inc, 'dependencies': libhelpers_dep}, 'test': {'sources': files('huawei/tests/test-modem-helpers-huawei.c') + enums_sources, 'include_directories': huawei_inc, 'dependencies': libhelpers_dep},
}} }}
@@ -522,7 +522,7 @@ if plugins_options['mbm']
plugins += {'plugin-ericsson-mbm': { plugins += {'plugin-ericsson-mbm': {
'plugin': true, 'plugin': true,
'helper': {'sources': files('mbm/mm-modem-helpers-mbm.c'), 'include_directories': plugins_incs, 'c_args': common_c_args + ['-DMM_MODULE_NAME="ericsson-mbm"']}, 'helper': {'sources': files('mbm/mm-modem-helpers-mbm.c'), 'include_directories': plugins_incs, 'c_args': common_c_args + ['-DMM_MODULE_NAME="ericsson-mbm"']},
'module': {'sources': sources, 'include_directories': plugins_incs, 'c_args': common_c_args + ['-DMM_MODULE_NAME="ericsson-mbm"']}, 'module': {'sources': sources + daemon_enums_sources, 'include_directories': plugins_incs, 'c_args': common_c_args + ['-DMM_MODULE_NAME="ericsson-mbm"']},
'test': {'sources': files('mbm/tests/test-modem-helpers-mbm.c'), 'include_directories': plugins_incs + [include_directories('mbm')], 'dependencies': libhelpers_dep}, 'test': {'sources': files('mbm/tests/test-modem-helpers-mbm.c'), 'include_directories': plugins_incs + [include_directories('mbm')], 'dependencies': libhelpers_dep},
}} }}
@@ -632,7 +632,7 @@ if plugins_options['option-hso']
plugins += {'plugin-option-hso': { plugins += {'plugin-option-hso': {
'plugin': true, 'plugin': true,
'module': {'sources': sources, 'include_directories': plugins_incs, 'c_args': '-DMM_MODULE_NAME="option-hso"'}, 'module': {'sources': sources + daemon_enums_sources, 'include_directories': plugins_incs, 'c_args': '-DMM_MODULE_NAME="option-hso"'},
}} }}
endif endif
@@ -840,7 +840,7 @@ if plugins_options['ublox']
plugins += {'plugin-ublox': { plugins += {'plugin-ublox': {
'plugin': true, 'plugin': true,
'helper': {'sources': files('ublox/mm-modem-helpers-ublox.c'), 'include_directories': plugins_incs, 'c_args': common_c_args}, 'helper': {'sources': files('ublox/mm-modem-helpers-ublox.c'), 'include_directories': plugins_incs, 'c_args': common_c_args},
'module': {'sources': sources, 'include_directories': plugins_incs + [ublox_inc], 'c_args': common_c_args}, 'module': {'sources': sources + daemon_enums_sources, 'include_directories': plugins_incs + [ublox_inc], 'c_args': common_c_args},
'test': {'sources': files('ublox/tests/test-modem-helpers-ublox.c'), 'include_directories': ublox_inc, 'dependencies': libmm_test_common_dep}, 'test': {'sources': files('ublox/tests/test-modem-helpers-ublox.c'), 'include_directories': ublox_inc, 'dependencies': libmm_test_common_dep},
}} }}

View File

@@ -226,14 +226,15 @@ sources = files(
enums_types = 'mm-daemon-enums-types' enums_types = 'mm-daemon-enums-types'
sources += gnome.mkenums( daemon_enums_sources = []
daemon_enums_sources += gnome.mkenums(
enums_types + '.c', enums_types + '.c',
sources: headers, sources: headers,
c_template: build_aux_dir / enums_types + '.c.template', c_template: build_aux_dir / enums_types + '.c.template',
fhead: '#include "mm-daemon-enums-types.h"', fhead: '#include "mm-daemon-enums-types.h"',
) )
sources += gnome.mkenums( daemon_enums_sources += gnome.mkenums(
enums_types + '.h', enums_types + '.h',
sources: headers, sources: headers,
h_template: build_aux_dir / enums_types + '.h.template', h_template: build_aux_dir / enums_types + '.h.template',
@@ -297,7 +298,7 @@ endif
executable( executable(
'ModemManager', 'ModemManager',
sources: sources, sources: sources + daemon_enums_sources,
include_directories: top_inc, include_directories: top_inc,
dependencies: deps, dependencies: deps,
c_args: c_args, c_args: c_args,