2017-11-25 11:39:06 +01:00
|
|
|
common_inc = include_directories('.')
|
|
|
|
|
|
|
|
|
|
nm_polkit_listener = files('nm-polkit-listener.c')
|
|
|
|
|
|
|
|
|
|
deps = [
|
2018-01-07 15:39:42 +01:00
|
|
|
libnm_dep,
|
2018-10-18 12:50:20 +02:00
|
|
|
nm_core_dep,
|
2017-11-25 11:39:06 +01:00
|
|
|
]
|
|
|
|
|
|
2018-01-02 13:37:06 +01:00
|
|
|
cflags = clients_cflags + [
|
2017-11-25 11:39:06 +01:00
|
|
|
'-DG_LOG_DOMAIN="libnmc"',
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
libnmc_base = static_library(
|
|
|
|
|
'nmc-base',
|
build/meson: fix meson build for shared files
The files in shared/nm-utils are not compiled as one static library,
instead each subproject that needs (parts of) them, re-compiles the
files individually.
The major reason for that is, because we might have different compile
flags, depending on whether we build libnm-core or
libnm-util/libnm-glib. Actually, I think that is not really the case,
and maybe this should be refactored, to indeed build them all as a
static library first.
Anyway, libnm-util, libnm-glib, clients' common lib, they all need a
different set of shared files that they should compile. Refactor
"shared/meson.build" to account for that and handle it like autotools
does.
Another change is, that "shared_c_siphash_dep" no longer advertises
"include_directories: include_directories('c-siphash/src')". We don't
put c-siphash.h into the include search path. Users who need it, should
include it via "#include <c-siphash/src/c-siphash.h>". The only exception
is when building shared_n_acd library, which is not under our control.
2018-05-30 15:16:01 +02:00
|
|
|
sources: shared_files_clients_common + files(
|
|
|
|
|
'nm-client-utils.c',
|
|
|
|
|
'nm-secret-agent-simple.c',
|
|
|
|
|
'nm-vpn-helpers.c',
|
|
|
|
|
),
|
2017-11-25 11:39:06 +01:00
|
|
|
dependencies: deps,
|
2018-10-18 12:50:20 +02:00
|
|
|
c_args: cflags,
|
2017-11-25 11:39:06 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
libnmc_base_dep = declare_dependency(
|
2018-01-07 15:39:42 +01:00
|
|
|
include_directories: common_inc,
|
2018-10-18 12:50:20 +02:00
|
|
|
link_with: libnmc_base,
|
2017-11-25 11:39:06 +01:00
|
|
|
)
|
|
|
|
|
|
2018-01-11 17:02:13 +01:00
|
|
|
settings_docs = 'settings-docs.h'
|
2017-11-25 11:39:06 +01:00
|
|
|
|
2017-12-18 20:33:13 +01:00
|
|
|
if enable_introspection
|
2017-11-25 11:39:06 +01:00
|
|
|
settings_docs_source = custom_target(
|
|
|
|
|
settings_docs,
|
|
|
|
|
input: nm_property_docs,
|
|
|
|
|
output: settings_docs,
|
2018-10-18 12:50:20 +02:00
|
|
|
command: [xsltproc, '--output', '@OUTPUT@', join_paths(meson.current_source_dir(), 'settings-docs.xsl'), '@INPUT@'],
|
2017-11-25 11:39:06 +01:00
|
|
|
)
|
|
|
|
|
|
2018-12-06 15:36:55 +01:00
|
|
|
test(
|
|
|
|
|
'check-settings-docs',
|
|
|
|
|
find_program(join_paths(meson.source_root(), 'tools', 'check-settings-docs.sh')),
|
|
|
|
|
args: [meson.source_root(), meson.build_root(), 'clients/common/' + settings_docs]
|
|
|
|
|
)
|
2017-11-25 11:39:06 +01:00
|
|
|
else
|
|
|
|
|
settings_docs_source = configure_file(
|
|
|
|
|
input: settings_docs + '.in',
|
|
|
|
|
output: settings_docs,
|
2018-10-18 12:50:20 +02:00
|
|
|
configuration: configuration_data(),
|
2017-11-25 11:39:06 +01:00
|
|
|
)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
libnmc = static_library(
|
|
|
|
|
'nmc',
|
build/meson: fix meson build for shared files
The files in shared/nm-utils are not compiled as one static library,
instead each subproject that needs (parts of) them, re-compiles the
files individually.
The major reason for that is, because we might have different compile
flags, depending on whether we build libnm-core or
libnm-util/libnm-glib. Actually, I think that is not really the case,
and maybe this should be refactored, to indeed build them all as a
static library first.
Anyway, libnm-util, libnm-glib, clients' common lib, they all need a
different set of shared files that they should compile. Refactor
"shared/meson.build" to account for that and handle it like autotools
does.
Another change is, that "shared_c_siphash_dep" no longer advertises
"include_directories: include_directories('c-siphash/src')". We don't
put c-siphash.h into the include search path. Users who need it, should
include it via "#include <c-siphash/src/c-siphash.h>". The only exception
is when building shared_n_acd library, which is not under our control.
2018-05-30 15:16:01 +02:00
|
|
|
sources: files(
|
|
|
|
|
'nm-meta-setting-access.c',
|
2018-10-18 12:50:20 +02:00
|
|
|
'nm-meta-setting-desc.c',
|
libnm, cli, ifcfg-rh: add NMSettingEthtool setting
Note that in NetworkManager API (D-Bus, libnm, and nmcli),
the features are called "feature-xyz". The "feature-" prefix
is used, because NMSettingEthtool possibly will gain support
for options that are not only -K|--offload|--features, for
example -C|--coalesce.
The "xzy" suffix is either how ethtool utility calls the feature
("tso", "rx"). Or, if ethtool utility specifies no alias for that
feature, it's the name from kernel's ETH_SS_FEATURES ("tx-tcp6-segmentation").
If possible, we prefer ethtool utility's naming.
Also note, how the features "feature-sg", "feature-tso", and
"feature-tx" actually refer to multiple underlying kernel features
at once. This too follows what ethtool utility does.
The functionality is not yet implemented server-side.
2018-07-16 23:37:55 +02:00
|
|
|
) + shared_nm_meta_setting_c + shared_nm_ethtool_utils_c + [settings_docs_source],
|
2017-11-25 11:39:06 +01:00
|
|
|
dependencies: deps,
|
2018-01-02 13:37:06 +01:00
|
|
|
c_args: cflags,
|
2017-11-25 11:39:06 +01:00
|
|
|
link_with: libnmc_base,
|
2018-10-18 12:50:20 +02:00
|
|
|
link_depends: settings_docs_source,
|
2017-11-25 11:39:06 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
libnmc_dep = declare_dependency(
|
2018-01-07 15:39:42 +01:00
|
|
|
include_directories: common_inc,
|
2018-10-18 12:50:20 +02:00
|
|
|
link_with: libnmc,
|
2017-11-25 11:39:06 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (enable_introspection or enable_nmtui) and enable_tests
|
|
|
|
|
subdir('tests')
|
|
|
|
|
endif
|