From 9a79bcb678a3b26c8fa4a8231d9b7e51b0cf0b2c Mon Sep 17 00:00:00 2001 From: Alex Chernyakhovsky Date: Sun, 2 Jun 2013 00:32:17 -0400 Subject: Provide a pkg-config file for zephyr Previously, it was difficult to detect the presence of the zephyr library in autoconf, and required custom macros. However, the world has since developed pkg-config, which is a simple tool for detecting the presence of a package, its compile-time flags, and its link-time flags, even in the presence of recursive dependencies. This adds "zephyr.pc" as a file generated by the build process, and installs it into the appropriate directory, allowing the target system to use PKG_CHECK_MODULES([ZEPHYR], [zephyr]) AC_SUBST([ZEPHYR_CFLAGS]) AC_SUBST([ZEPHYR_LIBS]) to detect all necessary information to incorporate the zephyr library. --- Makefile.in | 2 ++ configure.ac | 1 + zephyr.pc.in | 12 ++++++++++++ 3 files changed, 15 insertions(+) create mode 100644 zephyr.pc.in diff --git a/Makefile.in b/Makefile.in index b424dc5..a21ce15 100644 --- a/Makefile.in +++ b/Makefile.in @@ -39,6 +39,7 @@ install: ${INSTALL} -d ${DESTDIR}${exec_prefix} ${INSTALL} -d ${DESTDIR}${bindir} ${INSTALL} -d ${DESTDIR}${libdir} + ${INSTALL} -d ${DESTDIR}${libdir}/pkgconfig ${INSTALL} -d ${DESTDIR}${datadir} ${INSTALL} -d ${DESTDIR}${datadir}/zephyr ${INSTALL} -d ${DESTDIR}${sysconfdir} @@ -54,6 +55,7 @@ install: ${DESTDIR}${includedir}/zephyr ${INSTALL} -m 644 ${srcdir}/h/zephyr/zephyr.h \ ${DESTDIR}${includedir}/zephyr + ${INSTALL} -m 644 zephyr.pc ${DESTDIR}${libdir}/pkgconfig ${INSTALL} -m 644 h/zephyr/zephyr_err.h ${DESTDIR}${includedir}/zephyr for i in ${SUBDIRS}; do (cd $$i; ${MAKE} $@) || exit 1; done diff --git a/configure.ac b/configure.ac index 7278b41..647107e 100644 --- a/configure.ac +++ b/configure.ac @@ -398,4 +398,5 @@ AC_OUTPUT(Makefile clients/Makefile clients/zaway/Makefile clients/zshutdown_notify/Makefile clients/zstat/Makefile clients/zwrite/Makefile lib/Makefile server/Makefile zhm/Makefile zwgc/Makefile + zephyr.pc ) diff --git a/zephyr.pc.in b/zephyr.pc.in new file mode 100644 index 0000000..00782f4 --- /dev/null +++ b/zephyr.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: @PACKAGE_NAME@ +Description: Project Athena's notification service +Version: @PACKAGE_VERSION@ +Requires: +Libs: -L${libdir} -l@PACKAGE_NAME@ +Libs.private: @HESIOD_LIBS@ @KRB4_LIBS@ @KRB5_LIBS@ @REGEX_LIBS@ +Cflags: -I${includedir} -- cgit v1.2.3