diff options
Diffstat (limited to 'libnm-util/meson.build')
-rw-r--r-- | libnm-util/meson.build | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/libnm-util/meson.build b/libnm-util/meson.build new file mode 100644 index 0000000000..bca88a91e9 --- /dev/null +++ b/libnm-util/meson.build @@ -0,0 +1,220 @@ +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 |