blob: 7574f5bcc15ea1181e401b939e5e683f65165612 [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2021 IƱigo Martinez <inigomartinez@gmail.com>
libmbim_glib_inc = include_directories('.')
mbim_errors_header = files('mbim-errors.h')
mbim_enums_headers = files(
'mbim-cid.h',
'mbim-enums.h',
'mbim-message.h',
'mbim-uuid.h',
'mbim-tlv.h',
)
subdir('generated')
headers = mbim_errors_header + mbim_enums_headers + files(
'libmbim-glib.h',
'mbim-compat.h',
'mbim-device.h',
'mbim-proxy.h',
'mbim-utils.h',
)
install_headers(
headers,
install_dir: mbim_glib_pkgincludedir,
)
common_c_flags = [
'-DLIBMBIM_GLIB_COMPILATION',
'-DG_LOG_DOMAIN="Mbim"',
'-DLIBEXEC_PATH="@0@"'.format(mbim_prefix / mbim_libexecdir),
]
sources = files(
'mbim-cid.c',
'mbim-compat.c',
'mbim-device.c',
'mbim-helpers.c',
'mbim-message.c',
'mbim-net-port-manager.c',
'mbim-proxy.c',
'mbim-proxy-helpers.c',
'mbim-utils.c',
'mbim-uuid.c',
'mbim-tlv.c',
)
deps = [
generated_dep,
libmbim_common_dep,
]
libmbim_glib_core = static_library(
'mbim-glib-core',
sources: sources,
include_directories: top_inc,
dependencies: deps + [gio_unix_dep],
c_args: common_c_flags,
link_whole: libmbim_glib_generated,
)
libmbim_glib_core_dep = declare_dependency(
include_directories: libmbim_glib_inc,
dependencies: deps,
link_with: libmbim_glib_core,
)
libname = 'mbim-glib'
version_header = configure_file(
input: 'mbim-version.h.in',
output: '@BASENAME@',
configuration: version_conf,
install_dir: mbim_glib_pkgincludedir,
)
symbol_map = meson.current_source_dir() / 'symbol.map'
ldflags = cc.get_supported_link_arguments('-Wl,--version-script,@0@'.format(symbol_map))
libmbim_glib = library(
libname,
version: mbim_glib_version,
sources: version_header,
include_directories: top_inc,
dependencies: generated_dep,
link_args: ldflags,
link_depends: symbol_map,
link_whole: libmbim_glib_core,
install: true,
)
libmbim_glib_dep = declare_dependency(
sources: [gen_headers, version_header],
include_directories: [libmbim_glib_inc, generated_inc],
dependencies: glib_deps,
link_with: libmbim_glib,
)
pkg.generate(
libraries: libmbim_glib,
version: mbim_version,
name: libname,
description: 'Library to communicate with MBIM-powered modems',
subdirs: mbim_glib_include_subdir,
# FIXME: produced by the inhability of meson to use internal dependencies
requires: ['glib-2.0', 'gobject-2.0', 'gio-2.0'],
variables: 'exec_prefix=${prefix}',
)
# Introspection
if enable_gir and get_option('default_library') != 'static'
incs = [
'Gio-2.0',
'GLib-2.0',
'GObject-2.0',
]
ns = 'Mbim'
libmbim_glib_gir = gnome.generate_gir(
libmbim_glib,
sources: headers + [version_header] + gen_sources + gen_headers,
includes: incs,
dependencies: libmbim_glib_dep,
namespace: ns,
nsversion: mbim_gir_version,
identifier_prefix: ns,
symbol_prefix: ns.to_lower() + '_',
extra_args: common_c_flags + ['--identifier-prefix=' + ns.to_upper()],
header: 'libmbim-glib.h',
export_packages: 'libmbim-glib',
install: true,
)
endif
subdir('test')