From: Jan Engelhardt Date: Sat, 24 Dec 2011 03:45:22 +0000 (+0100) Subject: build: use pkgconfig to detect zlib X-Git-Tag: v3~82^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b3a74fc67993e6fb85918ec8c2f71c90903a4d4;p=thirdparty%2Fkmod.git build: use pkgconfig to detect zlib build: explicitly call PKG_PROG_PKG_CONFIG Per the manual page, PKG_PROG_PKG_CONFIG needs to be invoked explicitly if PKG_CHECK_MODULES might not happen (it is indeed stowed in an AS_IF in kmod). Without this, funny failures can occur. (As it did.) --- diff --git a/Makefile.am b/Makefile.am index 9523d71b..109638c5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,7 +8,8 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/libkmod \ -DROOTPREFIX=\""$(rootprefix)"\" \ -DSYSCONFDIR=\""$(sysconfdir)"\" \ - -DLIBEXECDIR=\""$(libexecdir)"\" + -DLIBEXECDIR=\""$(libexecdir)"\" \ + ${zlib_CFLAGS} AM_CFLAGS = \ -fvisibility=hidden \ @@ -26,7 +27,8 @@ SED_PROCESS = \ -e 's,@exec_prefix\@,$(exec_prefix),g' \ -e 's,@libdir\@,$(libdir),g' \ -e 's,@includedir\@,$(includedir),g' \ - -e 's,@required_private_libs\@,$(required_private_libs),g' \ + -e 's,@zlib_CFLAGS\@,${zlib_CFLAGS},g' \ + -e 's,@zlib_LIBS\@,${zlib_LIBS},g' \ < $< > $@ || rm $@ %.pc: %.pc.in Makefile @@ -61,7 +63,7 @@ libkmod_libkmod_la_LDFLAGS = $(AM_LDFLAGS) \ -version-info $(LIBKMOD_CURRENT):$(LIBKMOD_REVISION):$(LIBKMOD_AGE) \ -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym libkmod_libkmod_la_DEPENDENCIES = ${top_srcdir}/libkmod/libkmod.sym -libkmod_libkmod_la_LIBADD = @zlib_libs@ +libkmod_libkmod_la_LIBADD = ${zlib_LIBS} pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libkmod/libkmod.pc diff --git a/configure.ac b/configure.ac index d17d6116..21a63b73 100644 --- a/configure.ac +++ b/configure.ac @@ -27,8 +27,7 @@ AC_C_BIGENDIAN AC_PROG_SED AC_PROG_MKDIR_P - -required_private_libs="" +PKG_PROG_PKG_CONFIG AC_ARG_WITH([rootprefix], AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), @@ -56,17 +55,10 @@ AC_ARG_ENABLE([zlib], AS_HELP_STRING([--enable-zlib], [handle gzipped modules @<:@default=disabled@:>@]), [], enable_zlib=no) AS_IF([test "x$enable_zlib" != "xno"], [ - AC_CHECK_LIB([z], [gzopen], [ - zlib_libs="-lz" - required_private_libs="${required_private_libs} ${zlib_libs}" - AC_DEFINE(ENABLE_ZLIB, [1], [Enable zlib for modules.]) - AC_SUBST(zlib_libs) - ], - [AC_MSG_ERROR([zlib is not present]) - ]) + PKG_CHECK_MODULES([zlib], [zlib]) + AC_DEFINE([ENABLE_ZLIB], [1], [Enable zlib for modules.]) ], [ AC_MSG_NOTICE([zlib support not requested]) - zlib_libs="" ]) AC_ARG_ENABLE([debug], @@ -123,8 +115,6 @@ CC_CHECK_CFLAGS_APPEND([ \ -Wl,--gc-sections]) -AC_SUBST(required_private_libs) - AC_CONFIG_HEADERS(config.h) AC_CONFIG_FILES([ Makefile diff --git a/libkmod/libkmod.pc.in b/libkmod/libkmod.pc.in index b28b7c5c..202ebe93 100644 --- a/libkmod/libkmod.pc.in +++ b/libkmod/libkmod.pc.in @@ -7,5 +7,5 @@ Name: libkmod Description: Library to deal with kernel modules Version: @VERSION@ Libs: -L${libdir} -lkmod -Libs.private: @required_private_libs@ -Cflags: -I${includedir} +Libs.private: @zlib_LIBS@ +Cflags: -I${includedir} @zlib_CFLAGS@