]> sigrok.org Git - libserialport.git/commitdiff
pkg-config file: Use Requires.private to fix static build.
authorUwe Hermann <redacted>
Thu, 14 Nov 2013 21:09:14 +0000 (22:09 +0100)
committerUwe Hermann <redacted>
Fri, 15 Nov 2013 08:28:34 +0000 (09:28 +0100)
Any libs needed when building static binaries must be listed in the
'Requires.private' field of the installed pkg-config file libserialport.pc.

Currently, this is libudev (but only when building on/for Linux).

configure.ac
libserialport.pc.in

index 488e2834a6ace09f3df2cbb4a627a2e0f44089dd..3c7af883504eea1067b295d19bcc357d0546aa76 100644 (file)
@@ -76,16 +76,19 @@ AC_SUBST(SP_LIB_VERSION_AGE)
 AC_SUBST(SP_LIB_VERSION)
 AC_SUBST(SP_LIB_LDFLAGS)
 
-# Checks for header files.
-# These are already checked: inttypes.h dlfcn.h memory.h stdint.h stdlib.h
-# string.h strings.h sys/types.h sys/stat.h unistd.h
-AC_CHECK_HEADERS([errno.h fcntl.h stddef.h sys/ioctl.h termios.h])
+# Checks for libraries.
+
+# This variable collects the pkg-config names of all detected libs.
+# It is then used to construct the "Requires.private:" field in the
+# libserialport.pc file.
+SP_PKGLIBS=""
 
 case $target_os in
 *linux*)
        # On Linux libudev is currently a hard requirement.
        PKG_CHECK_MODULES([libudev], [libudev >= 0],
-               [CFLAGS="$CFLAGS $libudev_CFLAGS"; LIBS="$LIBS $libudev_LIBS"])
+               [CFLAGS="$CFLAGS $libudev_CFLAGS"; LIBS="$LIBS $libudev_LIBS";
+               SP_PKGLIBS="$SP_PKGLIBS libudev"])
        ;;
 *darwin*)
        LDFLAGS="$LDFLAGS -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation"
@@ -93,6 +96,13 @@ case $target_os in
        ;;
 esac
 
+AC_SUBST(SP_PKGLIBS)
+
+# Checks for header files.
+# These are already checked: inttypes.h dlfcn.h memory.h stdint.h stdlib.h
+# string.h strings.h sys/types.h sys/stat.h unistd.h
+AC_CHECK_HEADERS([errno.h fcntl.h stddef.h sys/ioctl.h termios.h])
+
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_INLINE
 AC_TYPE_SIZE_T
index 2fcb53eb3fe3c72f849b60d67983b7c33f10aaa0..b6ecdefcb219cd0a0754eb91cc79b771f7732fa0 100644 (file)
@@ -6,6 +6,7 @@ includedir=@includedir@
 Name: libserialport
 Description: Cross-platform serial port access library.
 URL: http://github.com/martinling/libserialport
+Requires.private: @SP_PKGLIBS@
 Version: @VERSION@
 Libs: -L${libdir} -lserialport
 Cflags: -I${includedir}