From fc0a97a801377fb5d9666d81a18b2c93c4c37f61 Mon Sep 17 00:00:00 2001
From: Daniel Drake <dsd@cs.manchester.ac.uk>
Date: Wed, 31 Oct 2007 13:18:30 +0000
Subject: [PATCH] Build system tweaks

Install fprint.h header
Include headers in distribution
distcheck fixes
Include and install pkgconfig file
---
 Makefile.am           |  6 +++++-
 TODO                  | 15 ++++++++-------
 configure.ac          |  2 +-
 libfprint.pc.in       | 11 +++++++++++
 libfprint/Makefile.am | 11 ++++++++++-
 5 files changed, 35 insertions(+), 10 deletions(-)
 create mode 100644 libfprint.pc.in

diff --git a/Makefile.am b/Makefile.am
index 9d5938a..3a0c745 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-EXTRA_DIST = THANKS TODO HACKING
+EXTRA_DIST = THANKS TODO HACKING libfprint.pc.in
 
 SUBDIRS = libfprint
 
@@ -6,3 +6,7 @@ if BUILD_EXAMPLES
 SUBDIRS += examples
 endif
 
+pkgconfigdir=$(libdir)/pkgconfig
+pkgconfig_DATA=libfprint.pc
+DISTCLEANFILES=libfprint.pc
+
diff --git a/TODO b/TODO
index d417f75..338ad91 100644
--- a/TODO
+++ b/TODO
@@ -3,9 +3,13 @@ LIBRARY
 identification
 external API documentation
 test suite against NFIQ compliance set
+make library optionally asynchronous and maybe thread-safe
+nbis cleanups
+track open devices, so we can close them during libfprint close
+free memory during libfprint close
 
-DRIVERS
-=======
+NEW DRIVERS
+===========
 Sunplus 895 driver
 AES1610 driver
 AES2501 driver
@@ -20,12 +24,9 @@ aes4000 doesn't work very well, maybe due to small minutia count?
 PPMM parameter to get_minutiae seems to have no effect
 nbis minutiae should be stored in endian-independent format
 return images with standard enroll/verify calls
+upekts reverify problems
 
 MISC
 ====
 upekts/thinkfinger relicensing (GPL --> LGPL)
-make library optionally asynchronous and maybe thread-safe
-pkg-config file
-nbis cleanups
-track open devices, so we can close them during libfprint close
-free memory during libfprint close
+
diff --git a/configure.ac b/configure.ac
index d6a0c4a..8434439 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,6 +85,6 @@ AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default vis
 AM_CFLAGS="-Werror-implicit-function-declaration -Wimplicit-int -Wunreachable-code -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wnonnull -Wreturn-type -Wextra -Wshadow"
 AC_SUBST(AM_CFLAGS)
 
-AC_CONFIG_FILES([Makefile] [libfprint/Makefile] [examples/Makefile])
+AC_CONFIG_FILES([libfprint.pc] [Makefile] [libfprint/Makefile] [examples/Makefile])
 AC_OUTPUT
 
diff --git a/libfprint.pc.in b/libfprint.pc.in
new file mode 100644
index 0000000..30687d1
--- /dev/null
+++ b/libfprint.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libfprint
+Description: Generic C API for fingerprint reader access
+Version: @VERSION@
+Libs: -L${libdir} -lfprint
+Cflags: -I${includedir}/libfprint
+
diff --git a/libfprint/Makefile.am b/libfprint/Makefile.am
index f6e7e07..ea07a41 100644
--- a/libfprint/Makefile.am
+++ b/libfprint/Makefile.am
@@ -7,6 +7,13 @@ AES4000_SRC = drivers/aes4000.c
 DRIVER_SRC = $(UPEKTS_SRC) $(URU4000_SRC) $(AES4000_SRC)
 
 NBIS_SRC = \
+	nbis/include/bozorth.h \
+	nbis/include/bz_array.h \
+	nbis/include/defs.h \
+	nbis/include/lfs.h \
+	nbis/include/log.h \
+	nbis/include/morph.h \
+	nbis/include/sunrast.h \
 	nbis/bozorth3/bozorth3.c \
 	nbis/bozorth3/bz_alloc.c \
 	nbis/bozorth3/bz_drvrs.c \
@@ -36,11 +43,12 @@ NBIS_SRC = \
 	nbis/mindtct/sort.c \
 	nbis/mindtct/util.c
 
-libfprint_la_CFLAGS = -fvisibility=hidden -Inbis/include $(LIBUSB_CFLAGS) $(GLIB_CFLAGS) $(AM_CFLAGS)
+libfprint_la_CFLAGS = -fvisibility=hidden -I$(srcdir)/nbis/include $(LIBUSB_CFLAGS) $(GLIB_CFLAGS) $(AM_CFLAGS)
 libfprint_la_LDFLAGS = -version-info @lt_major@:@lt_revision@:@lt_age@
 libfprint_la_LIBADD = -lm $(LIBUSB_LIBS) $(GLIB_LIBS)
 
 libfprint_la_SOURCES =	\
+	fp_internal.h	\
 	core.c		\
 	data.c		\
 	img.c		\
@@ -48,3 +56,4 @@ libfprint_la_SOURCES =	\
 	$(DRIVER_SRC)	\
 	$(NBIS_SRC)
 
+pkginclude_HEADERS = fprint.h