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 ,
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-01-07 15:39:42 +01: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 ,
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 ,
command : [ xsltproc , '--output' , '@OUTPUT@' , join_paths ( meson . current_source_dir ( ) , 'settings-docs.xsl' ) , '@INPUT@' ]
)
# FIXME: if enabled the check happens even if the settings_docs_source is not set
'' '
if get_option ( 'check_settings_docs' )
res = run_command ( find_program ( 'cmp' ) , '-s' , settings_docs + '.in' , settings_docs_source . full_path ( ) )
if res . returncode ( ) != 0
message ( 'The generated file ' + settings_docs_source . full_path ( ) + ' differs from the source file ' + settings_docs + '.in' + '. You probably should copy the generated file over to the source file. You can skip this test by setting -Dcheck_settings_docs=false' )
endif
endif
'' '
else
settings_docs_source = configure_file (
input : settings_docs + '.in' ,
output : settings_docs ,
configuration : configuration_data ( )
)
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' ,
'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 ,
link_depends : settings_docs_source
)
libnmc_dep = declare_dependency (
2018-01-07 15:39:42 +01:00
include_directories : common_inc ,
link_with : libnmc
2017-11-25 11:39:06 +01:00
)
if ( enable_introspection or enable_nmtui ) and enable_tests
subdir ( 'tests' )
endif