1
0
mirror of git://sigrok.org/libserialport synced 2023-08-10 21:13:24 +03:00

pkg-config file: Use Requires.private to fix static build.

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).
This commit is contained in:
Uwe Hermann 2013-11-14 22:09:14 +01:00
parent baba075903
commit e4bffe06c2
2 changed files with 16 additions and 5 deletions

View File

@ -76,16 +76,19 @@ AC_SUBST(SP_LIB_VERSION_AGE)
AC_SUBST(SP_LIB_VERSION) AC_SUBST(SP_LIB_VERSION)
AC_SUBST(SP_LIB_LDFLAGS) AC_SUBST(SP_LIB_LDFLAGS)
# Checks for header files. # Checks for libraries.
# 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 # This variable collects the pkg-config names of all detected libs.
AC_CHECK_HEADERS([errno.h fcntl.h stddef.h sys/ioctl.h termios.h]) # It is then used to construct the "Requires.private:" field in the
# libserialport.pc file.
SP_PKGLIBS=""
case $target_os in case $target_os in
*linux*) *linux*)
# On Linux libudev is currently a hard requirement. # On Linux libudev is currently a hard requirement.
PKG_CHECK_MODULES([libudev], [libudev >= 0], 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*) *darwin*)
LDFLAGS="$LDFLAGS -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation" LDFLAGS="$LDFLAGS -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation"
@ -93,6 +96,13 @@ case $target_os in
;; ;;
esac 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. # Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE AC_C_INLINE
AC_TYPE_SIZE_T AC_TYPE_SIZE_T

View File

@ -6,6 +6,7 @@ includedir=@includedir@
Name: libserialport Name: libserialport
Description: Cross-platform serial port access library. Description: Cross-platform serial port access library.
URL: http://github.com/martinling/libserialport URL: http://github.com/martinling/libserialport
Requires.private: @SP_PKGLIBS@
Version: @VERSION@ Version: @VERSION@
Libs: -L${libdir} -lserialport Libs: -L${libdir} -lserialport
Cflags: -I${includedir} Cflags: -I${includedir}