meson: Improve the libnm-core build file

The `libnm-core` build file has been improved by applying a set of
changes:

- Indentation has been fixed to be consistent.
- Library variable names have been changed to `lib{name}` pattern
  following their filename pattern.
- `shared` prefix has been removed from all variables using it.
- Dependencies have been reviewed to store the necessary data.
- The use of the libraries and dependencies created in this file
  has been reviewed through the entire source code. This has
  required the addition or the removal of different libraries and
  dependencies in different targets.
- Some files used directly with the `files` function have been moved
  to their nearest path build file because meson stores their full
  path seamessly and they can be used anywhere later.
This commit is contained in:
Iñigo Martínez 2019-09-09 11:40:11 +02:00 committed by Thomas Haller
parent ad4834009b
commit f427f4771e
20 changed files with 153 additions and 196 deletions

View file

@ -4,8 +4,8 @@ nm_polkit_listener = files('nm-polkit-listener.c')
deps = [
libnm_dep,
libnm_libnm_core_aux_dep,
libnm_nm_default_dep,
shared_nm_libnm_core_aux_dep,
]
cflags = clients_cflags + [
@ -51,6 +51,11 @@ else
)
endif
deps += [
libnm_libnm_core_aux_dep,
libnm_utils_base_dep,
]
libnmc = static_library(
'nmc',
sources: files(

View file

@ -22,6 +22,12 @@ test(
###############################################################################
deps = [
libnm_dep,
libnm_libnm_core_aux_dep,
libnm_nm_default_dep,
]
exe = executable(
'test-libnm-core-aux',
[ 'test-libnm-core-aux.c', ],
@ -29,12 +35,8 @@ exe = executable(
'-DNETWORKMANAGER_COMPILATION_TEST',
'-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_CLIENT',
],
dependencies: [
libnm_dep,
libnm_nm_default_dep,
shared_nm_libnm_core_aux_dep,
shared_nm_libnm_core_intern_dep,
],
dependencies: deps,
link_with: libnm_systemd_logging_stub,
)
test(

View file

@ -58,6 +58,7 @@ deps += [
libnm_dep,
libnmc_dep,
libnmc_base_dep,
libnm_libnm_core_aux_dep,
libnmt_newt_dep,
]
@ -66,6 +67,7 @@ executable(
sources,
dependencies: deps,
c_args: cflags,
link_with: libnm_systemd_logging_stub,
link_args: ldflags_linker_script_binary,
link_depends: linker_script_binary,
install: true,

View file

@ -1,19 +1,18 @@
examples = [
['add-connection-gdbus', [libnm_enum[1], nm_version_macro_header], [libnm_inc, shared_inc], [uuid_dep]],
['add-connection-libnm', [nm_version_macro_header], [shared_inc], [libnm_dep]],
['get-active-connections-gdbus', [libnm_enum[1], nm_version_macro_header], [libnm_inc, shared_inc], []],
['get-ap-info-libnm', [nm_version_macro_header], [shared_inc], [libnm_dep]],
['list-connections-gdbus', [], [], []],
['list-connections-libnm', [nm_version_macro_header], [shared_inc], [libnm_dep]],
['monitor-nm-running-gdbus', [], [], []],
['monitor-nm-state-gdbus', [], [], []],
['add-connection-gdbus', [libnm_enum[1]], [uuid_dep]],
['add-connection-libnm', [], [libnm_dep]],
['get-active-connections-gdbus', [libnm_enum[1]], []],
['get-ap-info-libnm', [], [libnm_dep]],
['list-connections-gdbus', [], []],
['list-connections-libnm', [], [libnm_dep]],
['monitor-nm-running-gdbus', [], []],
['monitor-nm-state-gdbus', [], []],
]
foreach example: examples
executable(
example[0],
[example[0] + '.c'] + example[1],
include_directories: example[2],
dependencies: [libnm_core_dep] + example[3],
dependencies: [libnm_nm_default_dep] + example[2],
)
endforeach

View file

@ -6,6 +6,11 @@ libnm_core_nm_default_dep = declare_dependency(
dependencies: glib_nm_default_dep,
)
common_c_flags = [
'-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
'-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE',
]
libnm_core_headers = files(
'nm-connection.h',
'nm-core-types.h',
@ -68,6 +73,37 @@ libnm_core_headers = files(
'nm-vpn-plugin-info.h',
)
enum_types = 'nm-core-enum-types'
libnm_core_enum_sources = gnome.mkenums(
enum_types,
sources: libnm_core_headers + [nm_version_macro_header],
identifier_prefix: nm_id_prefix,
c_template: enum_types + '.c.template',
h_template: enum_types + '.h.template',
install_header: true,
install_dir: libnm_pkgincludedir,
)
libnm_libnm_core_intern = static_library(
'nm-libnm-core-intern',
sources: nm_ethtool_utils_source + nm_libnm_core_utils_source + [libnm_core_enum_sources[1]],
dependencies: libnm_core_nm_default_dep,
c_args: common_c_flags,
)
deps = [
crypto_dep,
libnm_utils_base_dep,
]
libnm_crypto = static_library(
'nm-crypto',
sources: 'nm-crypto-@0@.c'.format(crypto),
dependencies: deps,
c_args: common_c_flags,
)
libnm_core_settings_sources = files(
'nm-setting-6lowpan.c',
'nm-setting-8021x.c',
@ -135,70 +171,16 @@ libnm_core_sources = libnm_core_settings_sources + files(
'nm-vpn-plugin-info.c',
)
enum_headers = libnm_core_headers + [nm_version_macro_header]
enum_types = 'nm-core-enum-types'
libnm_core_enum = gnome.mkenums(
enum_types,
sources: enum_headers,
identifier_prefix: nm_id_prefix,
c_template: enum_types + '.c.template',
h_template: enum_types + '.h.template',
install_header: true,
install_dir: libnm_pkgincludedir,
)
libnm_core_enum_dep = declare_dependency(
sources: libnm_core_enum[1],
)
###############################################################################
shared_nm_libnm_core_intern = static_library(
'nm-libnm-core-intern',
sources: files('../shared/nm-libnm-core-intern/nm-ethtool-utils.c',
'../shared/nm-libnm-core-intern/nm-libnm-core-utils.c'),
c_args: [
'-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
'-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE',
],
include_directories: libnm_core_inc,
dependencies: [
libnm_core_enum_dep,
libnm_core_nm_default_dep,
],
)
shared_nm_libnm_core_intern_dep = declare_dependency(
dependencies: libnm_systemd_shared_dep,
link_with: shared_nm_libnm_core_intern,
)
###############################################################################
deps = [
crypto_dep,
libnm_utils_base_dep,
]
cflags = [
'-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
'-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE',
]
libnm_crypto = static_library(
'nm-crypto',
sources: 'nm-crypto-@0@.c'.format(crypto),
dependencies: deps,
c_args: cflags,
)
deps = [
dl_dep,
libnm_systemd_shared_dep,
libnm_utils_base_dep,
libudev_dep,
uuid_dep,
shared_nm_libnm_core_intern_dep,
]
links = [
libnm_crypto,
libnm_libnm_core_intern,
]
if enable_json_validation
@ -206,54 +188,42 @@ if enable_json_validation
deps += jansson_dep
endif
libnm_core_sources_all = libnm_core_sources
libnm_core_sources_all += libnm_core_enum
libnm_core_sources_all += nm_meta_setting_source
libnm_core_sources_all += [nm_version_macro_header]
libnm_core = static_library(
'nm-core',
sources: libnm_core_sources_all,
sources: libnm_core_sources + libnm_core_enum_sources + nm_meta_setting_source + [nm_version_macro_header],
include_directories: top_inc,
dependencies: deps,
link_with: libnm_crypto,
c_args: cflags,
c_args: common_c_flags,
link_with: links,
)
libnm_core_dep = declare_dependency(
sources: libnm_core_enum[1],
include_directories: libnm_core_inc,
dependencies: [
libnm_systemd_shared_dep,
shared_nm_libnm_core_intern_dep,
],
sources: [libnm_core_enum_sources[1], nm_version_macro_header],
include_directories: [libnm_core_inc, shared_inc],
dependencies: glib_dep,
link_with: libnm_core,
)
###############################################################################
c_flags = [
'-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
'-DNETWORKMANAGER_COMPILATION=(NM_NETWORKMANAGER_COMPILATION_WITH_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)',
]
shared_nm_libnm_core_aux = static_library(
'nm-libnm-core-aux',
sources: files('../shared/nm-libnm-core-aux/nm-libnm-core-aux.c'),
c_args: [
'-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
'-DNETWORKMANAGER_COMPILATION=(NM_NETWORKMANAGER_COMPILATION_WITH_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)',
],
include_directories: libnm_core_inc,
dependencies: [
libnm_core_dep,
libnm_utils_base_dep,
],
libnm_libnm_core_aux = static_library(
'nm-libnm-core-aux',
sources: nm_libnm_core_aux_source + [libnm_core_enum_sources[1]],
dependencies: libnm_utils_base_dep,
c_args: c_flags,
link_with: libnm_libnm_core_intern,
)
shared_nm_libnm_core_aux_dep = declare_dependency(
link_with: shared_nm_libnm_core_aux,
dependencies: [
libnm_core_dep,
libnm_systemd_shared_dep,
],
libnm_libnm_core_aux_dep = declare_dependency(
sources: [libnm_core_enum_sources[1], nm_version_macro_header],
include_directories: [libnm_core_inc, shared_inc],
dependencies: glib_dep,
link_with: libnm_libnm_core_aux,
)
###############################################################################
enums_to_docbook = join_paths(source_root, 'tools', 'enums-to-docbook.pl')
docbooks = [
@ -278,8 +248,6 @@ foreach docbook: docbooks
content_files += xml.full_path()
endforeach
###############################################################################
if enable_tests
subdir('tests')
endif

View file

@ -29,19 +29,21 @@ test_units = [
test_cert_dir = join_paths(meson.current_source_dir(), 'certs')
deps = [
libnm_core_dep,
libnm_core_nm_default_dep,
]
foreach test_unit: test_units
exe = executable(
'libnm-core-' + test_unit,
[test_unit + '.c', libnm_core_enum[1]] + enum,
dependencies: libnm_core_nm_default_dep,
[test_unit + '.c'] + enum,
dependencies: deps,
c_args: [
'-DNETWORKMANAGER_COMPILATION_TEST',
'-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE',
],
link_with: [
libnm_core,
libnm_systemd_logging_stub,
],
link_with: libnm_systemd_logging_stub,
)
test(
'libnm-core/' + test_unit,

View file

@ -1,7 +1,7 @@
libnm_inc = include_directories('.')
libnm_nm_default_dep = declare_dependency(
sources: libnm_core_enum[1],
sources: libnm_core_enum_sources[1],
include_directories: libnm_inc,
dependencies: libnm_core_nm_default_dep,
)
@ -143,13 +143,12 @@ liblibnm = static_library(
libnmdbus_dep,
dl_dep,
libudev_dep,
libnm_core_dep,
libnm_nm_default_dep,
libnm_udev_aux_dep,
uuid_dep,
],
c_args: cflags,
link_with: libnm_systemd_logging_stub,
link_with: [libnm_systemd_logging_stub, libnm_libnm_core_intern],
)
libnm = shared_library(
@ -200,7 +199,7 @@ test(
)
if enable_introspection
gir_sources = libnm_core_enum + libnm_core_headers + libnm_core_sources + libnm_enum + libnm_headers + libnm_sources + [nm_version_macro_header]
gir_sources = libnm_core_enum_sources + libnm_core_headers + libnm_core_sources + libnm_enum + libnm_headers + libnm_sources + [nm_version_macro_header]
libnm_gir = gnome.generate_gir(
libnm,

View file

@ -5,6 +5,11 @@ test_units = [
['test-secret-agent', 90],
]
deps = [
libnm_core_dep,
libnm_nm_default_dep,
]
cflags = [
'-DNETWORKMANAGER_COMPILATION_TEST',
'-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM',
@ -16,14 +21,11 @@ foreach test_unit: test_units
[
test_unit[0] + '.c',
nm_test_utils_impl_source,
libnm_enum[1],
],
dependencies: libnm_nm_default_dep,
dependencies: deps,
c_args: cflags,
link_with: [
liblibnm,
libnm_core,
libnm_systemd_logging_stub,
],
link_with: liblibnm,
)
test(

View file

@ -110,6 +110,12 @@ nm_version_macro_header = configure_file(
configuration: nm_version_macro_conf,
)
nm_ethtool_utils_source = files('nm-libnm-core-intern/nm-ethtool-utils.c')
nm_libnm_core_aux_source = files('nm-libnm-core-aux/nm-libnm-core-aux.c')
nm_libnm_core_utils_source = files('nm-libnm-core-intern/nm-libnm-core-utils.c')
nm_meta_setting_source = files('nm-meta-setting.c')
nm_test_utils_impl_source = files('nm-test-utils-impl.c')

View file

@ -3,16 +3,11 @@ sources = files(
'nm-device-adsl.c',
)
deps = [
libudev_dep,
nm_default_dep,
nm_dep,
]
libnm_device_plugin_adsl = shared_module(
'nm-device-plugin-adsl',
sources: sources,
dependencies: deps,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
link_args: ldflags_linker_script_devices,
link_depends: linker_script_devices,
install: true,

View file

@ -5,9 +5,8 @@ sources = files(
)
deps = [
daemon_nm_default_dep,
libnm_wwan_dep,
nm_default_dep,
nm_dep,
]
if enable_bluez5_dun
@ -20,6 +19,7 @@ libnm_device_plugin_bluetooth = shared_module(
'nm-device-plugin-bluetooth',
sources: sources,
dependencies: deps,
c_args: daemon_c_flags,
link_args: ldflags_linker_script_devices,
link_depends: linker_script_devices,
install: true,

View file

@ -7,15 +7,15 @@ sources = files(
)
deps = [
daemon_nm_default_dep,
jansson_dep,
nm_default_dep,
nm_dep,
]
libnm_device_plugin_ovs = shared_module(
'nm-device-plugin-ovs',
sources: sources,
dependencies: deps,
c_args: daemon_c_flags,
link_args: ldflags_linker_script_devices,
link_depends: linker_script_devices,
install: true,

View file

@ -4,16 +4,16 @@ sources = files(
)
deps = [
daemon_nm_default_dep,
jansson_dep,
libteamdctl_dep,
nm_default_dep,
nm_dep,
]
libnm_device_plugin_team = shared_module(
'nm-device-plugin-team',
sources: sources,
dependencies: deps,
c_args: daemon_c_flags,
link_args: ldflags_linker_script_devices,
link_depends: linker_script_devices,
install: true,

View file

@ -19,15 +19,11 @@ if enable_iwd
)
endif
deps = [
nm_default_dep,
nm_dep,
]
libnm_device_plugin_wifi = shared_module(
'nm-device-plugin-wifi',
sources: sources,
dependencies: deps,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
link_args: ldflags_linker_script_devices,
link_depends: linker_script_devices,
install: true,

View file

@ -6,10 +6,9 @@ sources = files(
)
deps = [
daemon_nm_default_dep,
libsystemd_dep,
mm_glib_dep,
nm_default_dep,
nm_dep,
]
if enable_ofono
@ -22,6 +21,7 @@ libnm_wwan = shared_module(
'nm-wwan',
sources: sources,
dependencies: deps,
c_args: daemon_c_flags,
link_args: [
'-Wl,--version-script,@0@'.format(linker_script),
],
@ -54,6 +54,7 @@ libnm_device_plugin_wwan = shared_module(
'nm-device-plugin-wwan',
sources: sources,
dependencies: deps,
c_args: daemon_c_flags,
link_with: libnm_wwan,
link_args: ldflags_linker_script_devices,
link_depends: linker_script_devices,

View file

@ -4,21 +4,20 @@ sources = files(
'nmi-ibft-reader.c',
)
nm_cflags = ['-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_DAEMON']
libnmi_core = static_library(
'nmi-core',
c_args: nm_cflags,
sources: sources,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
)
name = 'nm-initrd-generator'
executable(
name,
name + '.c',
c_args: nm_cflags,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
link_with: [libnetwork_manager_base, libnmi_core],
link_args: ldflags_linker_script_binary,
link_depends: linker_script_binary,

View file

@ -1,7 +1,7 @@
src_inc = include_directories('.')
daemon_nm_default_dep = declare_dependency(
sources: libnm_core_enum[1],
sources: libnm_core_enum_sources[1],
include_directories: src_inc,
dependencies: libnm_core_nm_default_dep,
)
@ -15,15 +15,7 @@ subdir('systemd')
core_plugins = []
nm_cflags = ['-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_DAEMON']
nm_dep = declare_dependency(
include_directories: src_inc,
dependencies: libnm_core_dep,
compile_args: nm_cflags,
)
cflags = nm_cflags
daemon_c_flags = ['-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_DAEMON']
sources = files(
'dhcp/nm-dhcp-client.c',
@ -59,6 +51,7 @@ deps = [
libsystemd_dep,
libudev_dep,
libn_dhcp4_dep,
libnm_core_dep,
libnm_systemd_shared_dep,
libnm_udev_aux_dep,
]
@ -71,8 +64,7 @@ libnetwork_manager_base = static_library(
nm_name + 'Base',
sources: sources,
dependencies: deps,
c_args: cflags,
link_with: libnm_core,
c_args: daemon_c_flags,
)
sources = files(
@ -187,7 +179,7 @@ libnetwork_manager = static_library(
nm_name,
sources: sources,
dependencies: nm_deps,
c_args: cflags,
c_args: daemon_c_flags,
link_with: [
libnetwork_manager_base,
libnm_systemd_core,
@ -208,7 +200,7 @@ executable(
name,
name + '.c',
dependencies: deps,
c_args: cflags,
c_args: daemon_c_flags,
link_with: [
libnetwork_manager_base,
libnm_systemd_core,
@ -227,7 +219,7 @@ if enable_tests
'platform/nm-fake-platform.c',
)
test_cflags = ['-DNETWORKMANAGER_COMPILATION_TEST']
test_cflags = daemon_c_flags + ['-DNETWORKMANAGER_COMPILATION_TEST']
if require_root_tests
test_cflags += ['-DREQUIRE_ROOT_TESTS=1']
endif
@ -236,12 +228,12 @@ if enable_tests
nm_name + 'Test',
sources: sources,
dependencies: daemon_nm_default_dep,
c_args: cflags + test_cflags,
c_args: test_cflags,
link_with: libnetwork_manager,
)
test_nm_dep = declare_dependency(
dependencies: [daemon_nm_default_dep, nm_dep],
dependencies: daemon_nm_default_dep,
compile_args: test_cflags,
link_with: libnetwork_manager_test,
)
@ -286,9 +278,9 @@ symbol_map_name = 'NetworkManager.ver'
network_manager_sym = executable(
'nm-full-symbols',
'main.c',
c_args: nm_cflags,
link_args: '-Wl,--no-gc-sections',
dependencies: nm_deps,
c_args: daemon_c_flags,
link_args: '-Wl,--no-gc-sections',
link_whole: [libnetwork_manager, libnetwork_manager_base, libnm_core],
install: false,
)
@ -307,7 +299,7 @@ network_manager = executable(
nm_name,
'main.c',
dependencies: nm_deps,
c_args: nm_cflags,
c_args: daemon_c_flags,
link_with: libnetwork_manager,
link_args: ldflags,
link_depends: ver_script,

View file

@ -21,17 +21,13 @@ nm_pppd_plugin = shared_module(
name = 'nm-ppp-plugin'
deps = [
daemon_nm_default_dep,
nm_dep,
]
linker_script = join_paths(meson.current_source_dir(), 'nm-ppp-plugin.ver')
core_plugins += shared_module(
name,
sources: 'nm-ppp-manager.c',
dependencies: deps,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
link_args: [
'-Wl,--version-script,@0@'.format(linker_script),
],

View file

@ -25,15 +25,11 @@ core_sources = files(
'shvar.c',
)
deps = [
nm_default_dep,
nm_dep,
]
libnms_ifcfg_rh_core = static_library(
'nms-ifcfg-rh-core',
sources: core_sources,
dependencies: deps,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
)
sources = [dbus_sources] + core_sources + files('nms-ifcfg-rh-storage.c', 'nms-ifcfg-rh-plugin.c')
@ -41,7 +37,8 @@ sources = [dbus_sources] + core_sources + files('nms-ifcfg-rh-storage.c', 'nms-i
libnm_settings_plugin_ifcfg_rh = shared_module(
'nm-settings-plugin-ifcfg-rh',
sources: sources,
dependencies: deps,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
link_with: [libnms_ifcfg_rh_core],
link_args: ldflags_linker_script_settings,
link_depends: linker_script_settings,

View file

@ -3,16 +3,11 @@ sources = files(
'nms-ifupdown-parser.c',
)
deps = [
nm_default_dep,
libudev_dep,
nm_dep,
]
libnms_ifupdown_core = static_library(
'nms-ifupdown-core',
sources: sources,
dependencies: deps,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
)
sources = files(
@ -22,7 +17,8 @@ sources = files(
libnm_settings_plugin_ifupdown = shared_module(
'nm-settings-plugin-ifupdown',
sources: sources,
dependencies: deps,
dependencies: daemon_nm_default_dep,
c_args: daemon_c_flags,
link_with: libnms_ifupdown_core,
link_args: ldflags_linker_script_settings,
link_depends: linker_script_settings,