Blame SOURCES/0110-fprint-Move-drivers-to-private-internal-library.patch

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