From caf470f788f69e91f09985313f61ced414514b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1igo=20Mart=C3=ADnez?= Date: Tue, 10 Sep 2019 09:17:23 +0200 Subject: [PATCH] meson: Improve targets involving libnm library The targets that involve the use of the `libnm` library have been improved by applying a set of changes: - Generated enum sources variable `libnm_enum` has been renamed to `libnm_enum_sources` to clearly specify what it is holding. - Indentation in the `libnm` build and test files has been fixed. - Set of objects used in targets have been grouped together. --- clients/tui/newt/meson.build | 2 +- examples/C/glib/meson.build | 4 +- libnm/meson.build | 77 ++++++++++++++++++------------------ libnm/tests/meson.build | 20 ++++------ 4 files changed, 49 insertions(+), 54 deletions(-) diff --git a/clients/tui/newt/meson.build b/clients/tui/newt/meson.build index 5bb713d313..0b7fde9428 100644 --- a/clients/tui/newt/meson.build +++ b/clients/tui/newt/meson.build @@ -23,7 +23,7 @@ sources = files( libnmt_newt = static_library( 'nmt-newt', - sources: sources + [libnm_enum[1]], + sources: sources + [libnm_enum_sources[1]], include_directories: libnm_inc, dependencies: deps, c_args: cflags, diff --git a/examples/C/glib/meson.build b/examples/C/glib/meson.build index b095718099..7471ecad22 100644 --- a/examples/C/glib/meson.build +++ b/examples/C/glib/meson.build @@ -1,7 +1,7 @@ examples = [ - ['add-connection-gdbus', [libnm_enum[1]], [uuid_dep]], + ['add-connection-gdbus', [libnm_enum_sources[1]], [uuid_dep]], ['add-connection-libnm', [], [libnm_dep]], - ['get-active-connections-gdbus', [libnm_enum[1]], []], + ['get-active-connections-gdbus', [libnm_enum_sources[1]], []], ['get-ap-info-libnm', [], [libnm_dep]], ['list-connections-gdbus', [], []], ['list-connections-libnm', [], [libnm_dep]], diff --git a/libnm/meson.build b/libnm/meson.build index 76cadc71e3..acf2284bee 100644 --- a/libnm/meson.build +++ b/libnm/meson.build @@ -6,7 +6,7 @@ libnm_nm_default_dep = declare_dependency( dependencies: libnm_core_nm_default_dep, ) -cflags = [ +c_flags = [ '-DG_LOG_DOMAIN="@0@"'.format(libnm_name), '-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM', ] @@ -65,12 +65,11 @@ install_headers( subdir: libnm_name, ) -enum_headers = libnm_headers + [nm_version_macro_header] enum_types = 'nm-enum-types' -libnm_enum = gnome.mkenums( +libnm_enum_sources = gnome.mkenums( enum_types, - sources: enum_headers, + sources: libnm_headers + [nm_version_macro_header], identifier_prefix: nm_id_prefix, c_template: enum_types + '.c.template', h_template: enum_types + '.h.template', @@ -133,48 +132,50 @@ libnm_sources = files( 'nm-wimax-nsp.c', ) -linker_script = join_paths(meson.current_source_dir(), 'libnm.ver') +deps = [ + libnmdbus_dep, + libnm_nm_default_dep, + libnm_udev_aux_dep, + libudev_dep, +] + +links = [ + libnm_libnm_core_intern, + libnm_systemd_logging_stub, +] liblibnm = static_library( 'libnm', - sources: libnm_sources + libnm_enum, + sources: libnm_sources + libnm_enum_sources, include_directories: libnm_core_inc, - dependencies: [ - libnmdbus_dep, - dl_dep, - libudev_dep, - libnm_nm_default_dep, - libnm_udev_aux_dep, - uuid_dep, - ], - c_args: cflags, - link_with: [libnm_systemd_logging_stub, libnm_libnm_core_intern], + dependencies: deps, + c_args: c_flags, + link_with: links, ) +links = [ + liblibnm, + libnm_core, + libnmdbus, + libnm_systemd_logging_stub, + libnm_utils_base, +] + +linker_script = join_paths(meson.current_source_dir(), 'libnm.ver') + libnm = shared_library( 'nm', version: libnm_version, dependencies: libnm_nm_default_dep, - link_whole: [ - liblibnm, - libnm_core, - libnm_systemd_logging_stub, - libnmdbus, - libnm_utils_base, - ], - link_args: [ - '-Wl,--version-script,@0@'.format(linker_script), - ], + link_whole: links, + link_args: '-Wl,--version-script,@0@'.format(linker_script), link_depends: linker_script, install: true, ) libnm_dep = declare_dependency( - sources: libnm_enum[1], - include_directories: [ - libnm_inc, - libnm_core_inc, - ], + sources: libnm_enum_sources[1], + include_directories: libnm_inc, link_with: libnm, ) @@ -199,21 +200,19 @@ test( ) if enable_introspection - 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, - sources: gir_sources, + sources: libnm_core_sources + libnm_core_headers + libnm_core_enum_sources + libnm_sources + libnm_headers + libnm_enum_sources + [nm_version_macro_header], + includes: 'Gio-2.0', nsversion: nm_gir_version, namespace: 'NM', identifier_prefix: nm_id_prefix, symbol_prefix: nm_id_prefix.to_lower(), - export_packages: libnm_name, - includes: 'Gio-2.0', - extra_args: cflags, header: 'NetworkManager.h', + export_packages: libnm_name, + extra_args: c_flags, install: true, - dependencies: libnm_dep, ) generate_plugin_docs = join_paths(meson.current_source_dir(), 'generate-plugin-docs.pl') @@ -276,9 +275,9 @@ if enable_introspection name = 'nm-settings-docs.xml' nm_settings_docs = custom_target( name, - input: libnm_gir[0], + input: [libnm_gir[0], nm_settings_docs_overrides], output: name, - command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT@', '--overrides', nm_settings_docs_overrides, '--output', '@OUTPUT@'], + command: [generate_setting_docs_env, python.path(), generate_setting_docs, '--lib-path', meson.current_build_dir(), '--gir', '@INPUT0@', '--overrides', '@INPUT1@', '--output', '@OUTPUT@'], depends: libnm_gir, ) endif diff --git a/libnm/tests/meson.build b/libnm/tests/meson.build index bfa126e2ec..76c3b2876d 100644 --- a/libnm/tests/meson.build +++ b/libnm/tests/meson.build @@ -1,8 +1,8 @@ test_units = [ - ['test-libnm', 30], - ['test-nm-client', 90], + ['test-libnm', 30], + ['test-nm-client', 90], ['test-remote-settings-client', 90], - ['test-secret-agent', 90], + ['test-secret-agent', 90], ] deps = [ @@ -10,7 +10,7 @@ deps = [ libnm_nm_default_dep, ] -cflags = [ +c_flags = [ '-DNETWORKMANAGER_COMPILATION_TEST', '-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM', ] @@ -18,13 +18,9 @@ cflags = [ foreach test_unit: test_units exe = executable( test_unit[0], - [ - test_unit[0] + '.c', - nm_test_utils_impl_source, - libnm_enum[1], - ], + [test_unit[0] + '.c', nm_test_utils_impl_source, libnm_enum_sources[1]], dependencies: deps, - c_args: cflags, + c_args: c_flags, link_with: liblibnm, ) @@ -39,8 +35,8 @@ endforeach # just test, that we can build "nm-vpn-plugin-utils.c" libnm_vpn_plugin_utils_test = static_library( 'nm-vpn-plugin-utils-test', - sources: nm_vpn_plugin_utils_source + [libnm_enum[1]], + sources: nm_vpn_plugin_utils_source + [libnm_enum_sources[1]], include_directories: libnm_inc, dependencies: libnm_nm_default_dep, - c_args: cflags, + c_args: c_flags, )