mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
Since we can't depend on newer GLib yet, we patch the generated sources to generate some new ones with fixed flags.
94 lines
2.4 KiB
Meson
94 lines
2.4 KiB
Meson
bash = find_program('bash')
|
|
dbus_interfaces = ['Manager', 'Device']
|
|
dbus_interfaces_files = []
|
|
|
|
foreach interface_name: dbus_interfaces
|
|
interface = interface_name.to_lower()
|
|
interface_file = interface + '.xml'
|
|
dbus_interfaces_files += custom_target('dbus_interface_' + interface,
|
|
input: interface_file,
|
|
output: 'net.reactivated.Fprint.@0@.xml'.format(interface_name),
|
|
command: ['cp', '@INPUT@', '@OUTPUT@'],
|
|
install: true,
|
|
install_dir: dbus_interfaces_dir,
|
|
)
|
|
endforeach
|
|
|
|
# NOTE: We should pass "--glib-min-required 2.64" but cannot
|
|
fprintd_dbus_sources_base = gnome.gdbus_codegen('fprintd-dbus',
|
|
sources: dbus_interfaces_files,
|
|
autocleanup: 'all',
|
|
interface_prefix: 'net.reactivated.Fprint.',
|
|
namespace: 'FprintDBus',
|
|
object_manager: true,
|
|
)
|
|
|
|
# FIXME: remove this and just use fprintd_dbus_sources when we're on glib 2.64
|
|
fprintd_dbus_sources = [
|
|
fprintd_dbus_sources_base[1] # header file
|
|
]
|
|
|
|
fprintd_dbus_sources += custom_target('fprintd-dbus-interactive',
|
|
input: fprintd_dbus_sources_base[0], # c file,
|
|
output: 'fprintd-dbus-interactive.c',
|
|
command: [
|
|
find_program('patch'),
|
|
'-p1',
|
|
'--merge',
|
|
'@INPUT@',
|
|
files('dbus-interactive-auth.patch'),
|
|
'-o', '@OUTPUT@',
|
|
])
|
|
|
|
fprintd_enum_files = gnome.mkenums_simple('fprintd-enums',
|
|
sources: 'fprintd.h',
|
|
)
|
|
|
|
fprintd_deps = declare_dependency(
|
|
include_directories: [
|
|
include_directories('..'),
|
|
],
|
|
sources: [
|
|
fprintd_enum_files,
|
|
fprintd_dbus_sources,
|
|
],
|
|
dependencies: [
|
|
glib_dep,
|
|
gio_dep,
|
|
gio_unix_dep,
|
|
gmodule_dep,
|
|
libfprint_dep,
|
|
polkit_gobject_dep,
|
|
],
|
|
compile_args: [
|
|
'-DG_LOG_DOMAIN="@0@"'.format(meson.project_name()),
|
|
'-DLOCALEDIR="@0@"'.format(localedir),
|
|
'-DPLUGINDIR="@0@"'.format(fprintd_plugindir),
|
|
],
|
|
)
|
|
|
|
libfprintd_private = static_library('fprintd-private',
|
|
sources: [
|
|
'device.c',
|
|
'fprintd.h',
|
|
'manager.c',
|
|
],
|
|
dependencies: fprintd_deps,
|
|
gnu_symbol_visibility: 'hidden',
|
|
)
|
|
|
|
fprintd = executable('fprintd',
|
|
sources: [
|
|
'file_storage.c',
|
|
'file_storage.h',
|
|
'fprintd.h',
|
|
'main.c',
|
|
'storage.h',
|
|
],
|
|
dependencies: fprintd_deps,
|
|
link_with: libfprintd_private,
|
|
gnu_symbol_visibility: 'hidden',
|
|
install: true,
|
|
install_dir: fprintd_installdir,
|
|
)
|