NetworkManager/shared/meson.build
Thomas Haller f445128af4 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-31 15:59:38 +02:00

78 lines
1.9 KiB
Meson

shared_inc = include_directories('.')
shared_c_siphash = static_library(
'c-siphash',
sources: 'c-siphash/src/c-siphash.c',
)
shared_c_siphash_dep = declare_dependency(
include_directories: shared_inc,
link_with: shared_c_siphash,
)
shared_n_acd = static_library(
'n-acd',
sources: 'n-acd/src/n-acd.c',
include_directories: [
include_directories('c-siphash/src'),
include_directories('c-list/src'),
],
dependencies: shared_c_siphash_dep,
)
shared_n_acd_dep = declare_dependency(
include_directories: shared_inc,
link_with: shared_n_acd,
)
version_conf = configuration_data()
version_conf.set('NM_MAJOR_VERSION', nm_major_version)
version_conf.set('NM_MINOR_VERSION', nm_minor_version)
version_conf.set('NM_MICRO_VERSION', nm_micro_version)
version_header = configure_file(
input: 'nm-version-macros.h.in',
output: 'nm-version-macros.h',
configuration: version_conf,
)
shared_nm_utils_nm_meta_setting_c = files('nm-meta-setting.c')
shared_nm_test_utils_impl_c = files('nm-test-utils-impl.c')
shared_nm_utils_nm_vpn_plugin_utils_c = files('nm-utils/nm-vpn-plugin-utils.c')
shared_files_libnm_core = files('''
c-siphash/src/c-siphash.c
nm-utils/c-list-util.c
nm-utils/nm-dedup-multi.c
nm-utils/nm-enum-utils.c
nm-utils/nm-hash-utils.c
nm-utils/nm-random-utils.c
nm-utils/nm-shared-utils.c
nm-utils/nm-udev-utils.c
'''.split())
shared_files_clients_common = files('''
c-siphash/src/c-siphash.c
nm-utils/nm-enum-utils.c
nm-utils/nm-hash-utils.c
nm-utils/nm-random-utils.c
nm-utils/nm-shared-utils.c
'''.split())
shared_files_libnm_util = files('''
nm-utils/nm-shared-utils.c
'''.split())
shared_files_libnm_glib = files('''
nm-utils/nm-udev-utils.c
'''.split())
shared_dep = declare_dependency(
include_directories: [
top_inc,
shared_inc,
],
dependencies: glib_dep,
)