libfprint/SOURCES/0110-fprint-Move-drivers-to-private-internal-library.patch
2021-09-09 20:12:48 +00:00

92 lines
2.8 KiB
Diff

From f159a65f302abd333c89081b41f10387b85652f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Wed, 11 Dec 2019 20:21:01 +0100
Subject: [PATCH 110/181] fprint: Move drivers to private internal library
This allows us to finally remove fpi_get_driver_types from the exported list
of symbols.
---
libfprint/libfprint.ver | 3 ---
libfprint/meson.build | 25 ++++++++++++++++++++-----
2 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/libfprint/libfprint.ver b/libfprint/libfprint.ver
index 7b484f6..d99a456 100644
--- a/libfprint/libfprint.ver
+++ b/libfprint/libfprint.ver
@@ -1,9 +1,6 @@
LIBFPRINT_2.0.0 {
global:
fp_*;
-
- /* Needs to be public for the listing commands. */
- fpi_get_driver_types;
local:
*;
};
diff --git a/libfprint/meson.build b/libfprint/meson.build
index d3d0fd6..06668b3 100644
--- a/libfprint/meson.build
+++ b/libfprint/meson.build
@@ -207,19 +207,26 @@ libnbis = static_library('nbis',
libfprint_private = static_library('fprint-private',
sources: libfprint_private_sources + fpi_enums,
dependencies: deps,
+ link_with: libnbis,
+ install: false)
+
+libfprint_drivers = static_library('fprint-drivers',
+ sources: drivers_sources + [ fp_enums_h ],
+ c_args: drivers_cflags,
+ dependencies: deps,
+ link_with: libfprint_private,
install: false)
mapfile = files('libfprint.ver')
vflag = '-Wl,--version-script,@0@/@1@'.format(meson.source_root(), mapfile[0])
libfprint = library('fprint',
- sources: libfprint_sources + fp_enums + drivers_sources + other_sources,
+ sources: libfprint_sources + fp_enums + other_sources,
soversion: soversion,
version: libversion,
- c_args: drivers_cflags,
link_args : vflag,
link_depends : mapfile,
- link_with: [libnbis, libfprint_private],
+ link_with: [libfprint_private, libfprint_drivers],
dependencies: deps,
install: true)
@@ -230,9 +237,16 @@ libfprint_dep = declare_dependency(link_with: libfprint,
install_headers(['fprint.h'] + libfprint_public_headers, subdir: 'libfprint')
+libfprint_private_dep = declare_dependency(
+ include_directories: include_directories('.'),
+ link_with: libfprint_private,
+ dependencies: [ deps, libfprint_dep ]
+)
+
udev_rules = executable('fprint-list-udev-rules',
'fprint-list-udev-rules.c',
- dependencies: [ deps, libfprint_dep ],
+ dependencies: libfprint_private_dep,
+ link_with: libfprint_drivers,
install: false)
if get_option('udev_rules')
@@ -246,7 +260,8 @@ endif
supported_devices = executable('fprint-list-supported-devices',
'fprint-list-supported-devices.c',
- dependencies: [ deps, libfprint_dep ],
+ dependencies: libfprint_private_dep,
+ link_with: libfprint_drivers,
install: false)
--
2.24.1