mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-24 10:10:07 +01:00
221 lines
6.5 KiB
Meson
221 lines
6.5 KiB
Meson
|
|
libnm_util_inc = include_directories('.')
|
||
|
|
|
||
|
|
enums_headers = [version_header] + files(
|
||
|
|
'nm-connection.h',
|
||
|
|
'nm-setting-8021x.h',
|
||
|
|
'nm-setting-adsl.h',
|
||
|
|
'nm-setting-bluetooth.h',
|
||
|
|
'nm-setting-bond.h',
|
||
|
|
'nm-setting-bridge.h',
|
||
|
|
'nm-setting-bridge-port.h',
|
||
|
|
'nm-setting-cdma.h',
|
||
|
|
'nm-setting-connection.h',
|
||
|
|
'nm-setting-dcb.h',
|
||
|
|
'nm-setting-generic.h',
|
||
|
|
'nm-setting-gsm.h',
|
||
|
|
'nm-setting.h',
|
||
|
|
'nm-setting-infiniband.h',
|
||
|
|
'nm-setting-ip4-config.h',
|
||
|
|
'nm-setting-ip6-config.h',
|
||
|
|
'nm-setting-olpc-mesh.h',
|
||
|
|
'nm-setting-ppp.h',
|
||
|
|
'nm-setting-pppoe.h',
|
||
|
|
'nm-setting-serial.h',
|
||
|
|
'nm-setting-team.h',
|
||
|
|
'nm-setting-team-port.h',
|
||
|
|
'nm-setting-vlan.h',
|
||
|
|
'nm-setting-vpn.h',
|
||
|
|
'nm-setting-wimax.h',
|
||
|
|
'nm-setting-wired.h',
|
||
|
|
'nm-setting-wireless.h',
|
||
|
|
'nm-setting-wireless-security.h',
|
||
|
|
'nm-utils.h',
|
||
|
|
'nm-version.h'
|
||
|
|
)
|
||
|
|
|
||
|
|
headers = enums_headers + files(
|
||
|
|
'NetworkManager.h',
|
||
|
|
'NetworkManagerVPN.h'
|
||
|
|
)
|
||
|
|
|
||
|
|
install_headers(
|
||
|
|
headers,
|
||
|
|
subdir: nm_name
|
||
|
|
)
|
||
|
|
|
||
|
|
enums = 'nm-utils-enum-types'
|
||
|
|
|
||
|
|
libnm_utils_enums_h = gnome.mkenums(
|
||
|
|
enums + '.h',
|
||
|
|
sources: enums_headers,
|
||
|
|
identifier_prefix: nm_id_prefix,
|
||
|
|
fhead: '/* Generated by glib-mkenums. Do not edit */\n\n#ifndef __NM_UTILS_ENUM_TYPES_H__\n#define __NM_UTILS_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n',
|
||
|
|
vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ())\n',
|
||
|
|
ftail: 'G_END_DECLS\n\n#endif /* __NM_UTILS_ENUM_TYPES_H__ */',
|
||
|
|
install_header: true,
|
||
|
|
install_dir: nm_pkgincludedir
|
||
|
|
)
|
||
|
|
|
||
|
|
libnm_utils_enums_c = gnome.mkenums(
|
||
|
|
enums + '.c',
|
||
|
|
sources: enums_headers,
|
||
|
|
identifier_prefix: nm_id_prefix,
|
||
|
|
fhead: '/* Generated by glib-mkenums. Do not edit */\n\n#include "config.h"\n\n#include "nm-utils-enum-types.h"\n\n#include "nm-version-macros.h" \n#include "nm-connection.h" \n#include "nm-setting.h" \n#include "nm-setting-8021x.h" \n#include "nm-setting-adsl.h" \n#include "nm-setting-bluetooth.h" \n#include "nm-setting-bond.h" \n#include "nm-setting-team.h" \n#include "nm-setting-team-port.h" \n#include "nm-setting-bridge.h" \n#include "nm-setting-bridge-port.h" \n#include "nm-setting-connection.h" \n#include "nm-setting-dcb.h" \n#include "nm-setting-infiniband.h" \n#include "nm-setting-ip4-config.h" \n#include "nm-setting-vlan.h" \n#include "nm-setting-ip6-config.h" \n#include "nm-setting-ppp.h" \n#include "nm-setting-pppoe.h" \n#include "nm-setting-serial.h" \n#include "nm-setting-generic.h" \n#include "nm-setting-gsm.h" \n#include "nm-setting-cdma.h" \n#include "nm-setting-olpc-mesh.h" \n#include "nm-setting-wimax.h" \n#include "nm-setting-wired.h" \n#include "nm-setting-wireless.h" \n#include "nm-setting-wireless-security.h" \n#include "nm-setting-vpn.h" \n#include "nm-utils.h" \n#include "nm-version.h"\n\n',
|
||
|
|
vhead: 'GType\n@enum_name@_get_type (void)\n{\n static volatile gsize g_define_type_id__volatile = 0;\n\n if (g_once_init_enter (&g_define_type_id__volatile))\n {\n static const G@Type@Value values[] = {\n',
|
||
|
|
vprod: ' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },\n',
|
||
|
|
vtail: ' { 0, NULL, NULL }\n };\n GType g_define_type_id =\n g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);\n g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);\n }\n\n return g_define_type_id__volatile;\n}\n'
|
||
|
|
)
|
||
|
|
|
||
|
|
libnm_utils_enums = [libnm_utils_enums_c, libnm_utils_enums_h]
|
||
|
|
|
||
|
|
sources = shared_utils + files(
|
||
|
|
'crypto.c',
|
||
|
|
'crypto_' + crypto + '.c',
|
||
|
|
'nm-connection.c',
|
||
|
|
'nm-param-spec-specialized.c',
|
||
|
|
'nm-setting-8021x.c',
|
||
|
|
'nm-setting-adsl.c',
|
||
|
|
'nm-setting-bluetooth.c',
|
||
|
|
'nm-setting-bridge.c',
|
||
|
|
'nm-setting-bridge-port.c',
|
||
|
|
'nm-setting-bond.c',
|
||
|
|
'nm-setting.c',
|
||
|
|
'nm-setting-cdma.c',
|
||
|
|
'nm-setting-connection.c',
|
||
|
|
'nm-setting-dcb.c',
|
||
|
|
'nm-setting-generic.c',
|
||
|
|
'nm-setting-gsm.c',
|
||
|
|
'nm-setting-infiniband.c',
|
||
|
|
'nm-setting-ip4-config.c',
|
||
|
|
'nm-setting-ip6-config.c',
|
||
|
|
'nm-setting-olpc-mesh.c',
|
||
|
|
'nm-setting-ppp.c',
|
||
|
|
'nm-setting-pppoe.c',
|
||
|
|
'nm-setting-serial.c',
|
||
|
|
'nm-setting-team.c',
|
||
|
|
'nm-setting-team-port.c',
|
||
|
|
'nm-setting-wimax.c',
|
||
|
|
'nm-setting-wired.c',
|
||
|
|
'nm-setting-wireless.c',
|
||
|
|
'nm-setting-wireless-security.c',
|
||
|
|
'nm-setting-vlan.c',
|
||
|
|
'nm-setting-vpn.c',
|
||
|
|
'nm-utils.c',
|
||
|
|
'nm-value-transforms.c'
|
||
|
|
)
|
||
|
|
|
||
|
|
incs = [
|
||
|
|
top_inc,
|
||
|
|
shared_inc
|
||
|
|
]
|
||
|
|
|
||
|
|
deps = [
|
||
|
|
crypto_dep,
|
||
|
|
dbus_dep,
|
||
|
|
dbus_glib_dep,
|
||
|
|
glib_dep,
|
||
|
|
uuid_dep
|
||
|
|
]
|
||
|
|
|
||
|
|
cflags = [
|
||
|
|
'-DG_LOG_DOMAIN="libnm-util"',
|
||
|
|
'-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB_LEGACY',
|
||
|
|
'-DLOCALEDIR="@0@"'.format(nm_localedir)
|
||
|
|
]
|
||
|
|
|
||
|
|
symbol_map = join_paths(meson.current_source_dir(), 'libnm-util.ver')
|
||
|
|
|
||
|
|
ldflags = []
|
||
|
|
if have_version_script
|
||
|
|
ldflags += '-Wl,--version-script,@0@'.format(symbol_map)
|
||
|
|
endif
|
||
|
|
|
||
|
|
libnm_util = shared_library(
|
||
|
|
'nm-util',
|
||
|
|
sources: sources + libnm_utils_enums,
|
||
|
|
version: libnm_util_version,
|
||
|
|
include_directories: incs,
|
||
|
|
dependencies: deps,
|
||
|
|
c_args: cflags,
|
||
|
|
link_args: ldflags,
|
||
|
|
link_depends: symbol_map,
|
||
|
|
install: true,
|
||
|
|
install_dir: get_option('libdir')
|
||
|
|
)
|
||
|
|
|
||
|
|
libnm_util_dep = declare_dependency(
|
||
|
|
link_with: libnm_util,
|
||
|
|
include_directories: libnm_util_inc
|
||
|
|
)
|
||
|
|
|
||
|
|
pkg.generate(
|
||
|
|
libraries: libnm_util,
|
||
|
|
version: nm_version,
|
||
|
|
name: 'libnm-util',
|
||
|
|
description: 'Convenience library for clients of NetworkManager',
|
||
|
|
filebase: 'libnm-util',
|
||
|
|
subdirs: nm_name,
|
||
|
|
requires: 'NetworkManager >= ' + nm_version + ' glib-2.0 dbus-glib-1',
|
||
|
|
variables: 'exec_prefix=${prefix}',
|
||
|
|
install_dir: join_paths(nm_libdir, 'pkgconfig')
|
||
|
|
)
|
||
|
|
|
||
|
|
if enable_introspection
|
||
|
|
gir_sources = sources + headers + libnm_utils_enums
|
||
|
|
|
||
|
|
gir_includes = [
|
||
|
|
'DBusGLib-1.0',
|
||
|
|
'GObject-2.0'
|
||
|
|
]
|
||
|
|
|
||
|
|
gir_dir = join_paths(nm_datadir, 'gir-' + nm_gir_version)
|
||
|
|
typelib_dir = join_paths(nm_libdir, 'girepository-' + nm_gir_version)
|
||
|
|
|
||
|
|
libnm_util_gir = gnome.generate_gir(
|
||
|
|
libnm_util,
|
||
|
|
sources: gir_sources,
|
||
|
|
nsversion: nm_gir_version,
|
||
|
|
namespace: nm_name,
|
||
|
|
identifier_prefix: nm_id_prefix,
|
||
|
|
symbol_prefix: nm_id_prefix.to_lower(),
|
||
|
|
export_packages: 'libnm-util',
|
||
|
|
includes: gir_includes,
|
||
|
|
install: true,
|
||
|
|
install_dir_gir: gir_dir,
|
||
|
|
install_dir_typelib: typelib_dir
|
||
|
|
)
|
||
|
|
|
||
|
|
libnm_util_gir_dep = declare_dependency(
|
||
|
|
link_with: libnm_util,
|
||
|
|
sources: libnm_util_gir
|
||
|
|
)
|
||
|
|
endif
|
||
|
|
|
||
|
|
run_target(
|
||
|
|
'check-local-exports-libnm-util',
|
||
|
|
command: [check_exports, libnm_util.full_path(), symbol_map],
|
||
|
|
depends: libnm_util
|
||
|
|
)
|
||
|
|
|
||
|
|
sources = files(
|
||
|
|
'crypto.c',
|
||
|
|
'crypto_' + crypto + '.c'
|
||
|
|
)
|
||
|
|
|
||
|
|
deps = [
|
||
|
|
crypto_dep,
|
||
|
|
glib_dep
|
||
|
|
]
|
||
|
|
|
||
|
|
libtest_crypto = static_library(
|
||
|
|
'test-crypto',
|
||
|
|
sources: sources,
|
||
|
|
include_directories: incs,
|
||
|
|
dependencies: deps,
|
||
|
|
c_args: cflags
|
||
|
|
)
|
||
|
|
|
||
|
|
if enable_tests
|
||
|
|
subdir('tests')
|
||
|
|
endif
|