From 19f87790bb88ebbc011e711983110085c5cff0a8 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Tue, 1 Mar 2016 15:34:46 +0100 Subject: [PATCH] Add liblur versioning and pkg-config Signed-off-by: Benjamin Tissoires --- configure.ac | 9 ++++++--- src/Makefile.am | 10 +++++++--- src/liblur.pc.in | 13 +++++++++++++ src/liblur.sym | 25 +++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 src/liblur.pc.in create mode 100644 src/liblur.sym diff --git a/configure.ac b/configure.ac index 87e3f00b..f85689ef 100644 --- a/configure.ac +++ b/configure.ac @@ -22,16 +22,18 @@ AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz]) -# Before making a release, the LIBRATBAG_LT_VERSION string should be -# modified. -# The string is of the form C:R:A. +# Before making a release, the LIBRATBAG_LT_VERSION and LIBLUR_LT_VERSION +# strings should be modified. +# The strings are of the form C:R:A. # a) If binary compatibility has been broken (eg removed or changed interfaces) # change to C+1:0:0. # b) If interfaces have been changed or added, but binary compatibility has # been preserved, change to C+1:0:A+1 # c) If the interface is the same as the previous version, change to C:R+1:A LIBRATBAG_LT_VERSION=1:0:0 +LIBLUR_LT_VERSION=1:0:0 AC_SUBST(LIBRATBAG_LT_VERSION) +AC_SUBST(LIBLUR_LT_VERSION) AM_SILENT_RULES([yes]) AC_USE_SYSTEM_EXTENSIONS @@ -145,6 +147,7 @@ AC_CONFIG_FILES([Makefile src/Makefile src/libratbag.pc src/libratbag-version.h + src/liblur.pc test/Makefile tools/Makefile]) AC_CONFIG_FILES([test/symbols-leak-test], diff --git a/src/Makefile.am b/src/Makefile.am index de0fbbfb..56640e2a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,15 +44,19 @@ liblur_la_LIBADD = \ liblur_la_CFLAGS = \ -I$(top_srcdir)/include \ $(GCC_CFLAGS) -liblur_la_LDFLAGS = -shared +EXTRA_liblur_la_DEPENDENCIES = $(srcdir)/liblur.sym + +liblur_la_LDFLAGS = -version-info $(LIBLUR_LT_VERSION) -shared \ + -Wl,--version-script=$(srcdir)/liblur.sym pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libratbag.pc +pkgconfig_DATA = libratbag.pc \ + liblur.pc AM_CFLAGS = $(GCC_CFLAGS) DISTCLEANFILES = libratbag-version.h -EXTRA_DIST = libratbag-version.h.in libratbag.sym +EXTRA_DIST = libratbag-version.h.in libratbag.sym liblur.sym # The hidpp libraries are static libraries only for in-tree tools. No API # stability is guaranteed here. diff --git a/src/liblur.pc.in b/src/liblur.pc.in new file mode 100644 index 00000000..fc7c9bab --- /dev/null +++ b/src/liblur.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +datarootdir=@datarootdir@ +pkgdatadir=@datadir@/@PACKAGE@ +libdir=@libdir@ +includedir=@includedir@ + +Name: Liblur +Description: Logitech Unifying Receiver configuration library +Version: @LIBRATBAG_VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -llur +Libs.private: -lm -lrt diff --git a/src/liblur.sym b/src/liblur.sym new file mode 100644 index 00000000..0210a030 --- /dev/null +++ b/src/liblur.sym @@ -0,0 +1,25 @@ +/* in alphabetical order! */ + +LIBLUR_0.3.0 { +global: + lur_device_disconnect; + lur_device_get_name; + lur_device_get_product_id; + lur_device_get_serial; + lur_device_get_type; + lur_device_get_vendor_id; + lur_device_ref; + lur_device_unref; + lur_is_receiver; + lur_receiver_close; + lur_receiver_enumerate; + lur_receiver_get_fd; + lur_receiver_get_user_data; + lur_receiver_new_from_hidraw; + lur_receiver_open; + lur_receiver_ref; + lur_receiver_set_user_data; + lur_receiver_unref; +local: + *; +};