diff --git a/config/find_system_library.m4 b/config/find_system_library.m4 index 9a95d6a15033..310b44112aea 100644 --- a/config/find_system_library.m4 +++ b/config/find_system_library.m4 @@ -1,93 +1,98 @@ # find_system_lib.m4 - Macros to search for a system library. -*- Autoconf -*- dnl requires pkg.m4 from pkg-config dnl requires ax_save_flags.m4 from autoconf-archive dnl requires ax_restore_flags.m4 from autoconf-archive dnl ZFS_AC_FIND_SYSTEM_LIBRARY(VARIABLE-PREFIX, MODULE, HEADER, HEADER-PREFIXES, LIBRARY, FUNCTIONS, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) AC_DEFUN([ZFS_AC_FIND_SYSTEM_LIBRARY], [ AC_REQUIRE([PKG_PROG_PKG_CONFIG]) _header_found= _library_found= + _pc_found= AS_IF([test -n "$2"], [PKG_CHECK_MODULES([$1], [$2], [ _header_found=1 _library_found=1 + _pc_found=1 ], [:])]) # set _header_found/_library_found if the user passed in CFLAGS/LIBS AS_IF([test "x$[$1][_CFLAGS]" != x], [_header_found=1]) AS_IF([test "x$[$1][_LIBS]" != x], [_library_found=1]) AX_SAVE_FLAGS orig_CFLAGS="$CFLAGS" for _prefixdir in /usr /usr/local do AS_VAR_PUSHDEF([header_cache], [ac_cv_header_$3]) AS_IF([test "x$_prefixdir" != "x/usr"], [ [$1][_CFLAGS]="-I$lt_sysroot$_prefixdir/include" AS_IF([test "x$_library_found" = x], [ [$1][_LIBS]="-L$lt_sysroot$_prefixdir/lib" ]) ]) CFLAGS="$orig_CFLAGS $[$1][_CFLAGS]" AS_UNSET([header_cache]) AC_CHECK_HEADER([$3], [ _header_found=1 break ], [AS_IF([test "x$_header_found" = "x1"], [ # if pkg-config or the user set CFLAGS, fail if the header is unusable AC_MSG_FAILURE([header [$3] for library [$5] is not usable]) ])], [AC_INCLUDES_DEFAULT]) # search for header under HEADER-PREFIXES m4_foreach_w([prefix], [$4], [ [$1][_CFLAGS]=["-I$lt_sysroot$_prefixdir/include/]prefix["] CFLAGS="$orig_CFLAGS $[$1][_CFLAGS]" AS_UNSET([header_cache]) AC_CHECK_HEADER([$3], [ _header_found=1 break ], [], [AC_INCLUDES_DEFAULT]) ]) AS_VAR_POPDEF([header_cache]) done AS_IF([test "x$_header_found" = "x1"], [ AS_IF([test "x$_library_found" = x], [ [$1][_LIBS]="$[$1]_LIBS -l[$5]" ]) LDFLAGS="$LDFLAGS $[$1][_LIBS]" _libcheck=1 m4_ifval([$6], [m4_foreach_w([func], [$6], [AC_CHECK_LIB([$5], func, [:], [_libcheck=])])], [AC_CHECK_LIB([$5], [main], [:], [_libcheck=])]) AS_IF([test "x$_libcheck" = "x1"], [_library_found=1], [test "x$_library_found" = "x1"], [ # if pkg-config or the user set LIBS, fail if the library is unusable AC_MSG_FAILURE([library [$5] is not usable]) ]) ], [test "x$_library_found" = "x1"], [ # if the user set LIBS, fail if we didn't find the header AC_MSG_FAILURE([cannot find header [$3] for library [$5]]) ]) AX_RESTORE_FLAGS AS_IF([test "x$_header_found" = "x1" && test "x$_library_found" = "x1"], [ AC_SUBST([$1]_CFLAGS) AC_SUBST([$1]_LIBS) + AS_IF([test "x$_pc_found" = "x1"], [ + AC_SUBST([$1]_PC, [$2]) + ]) AC_DEFINE([HAVE_][$1], [1], [Define if you have [$5]]) $7 ],[dnl ELSE AC_SUBST([$1]_CFLAGS, []) AC_SUBST([$1]_LIBS, []) AC_MSG_WARN([cannot find [$5] via pkg-config or in the standard locations]) $8 ]) ]) diff --git a/lib/libzfs/libzfs.pc.in b/lib/libzfs/libzfs.pc.in index 6caf49d221f1..afe5635ae633 100644 --- a/lib/libzfs/libzfs.pc.in +++ b/lib/libzfs/libzfs.pc.in @@ -1,14 +1,14 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: libzfs Description: LibZFS library Version: @VERSION@ -URL: https://zfsonlinux.org +URL: https://github.com/openzfs/zfs Requires: libzfs_core -Requires.private: libcrypto zlib +Requires.private: @LIBCRYPTO_PC@ @ZLIB_PC@ Cflags: -I${includedir}/libzfs -I${includedir}/libspl Libs: -L${libdir} -lzfs -lnvpair Libs.private: -luutil -lm -pthread diff --git a/lib/libzfs_core/libzfs_core.pc.in b/lib/libzfs_core/libzfs_core.pc.in index e14d42d11a5d..bc9582ea33d0 100644 --- a/lib/libzfs_core/libzfs_core.pc.in +++ b/lib/libzfs_core/libzfs_core.pc.in @@ -1,13 +1,13 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: libzfs_core Description: LibZFS core library Version: @VERSION@ -URL: https://zfsonlinux.org -Requires.private: blkid uuid libtirpc zlib +URL: https://github.com/openzfs/zfs +Requires.private: @LIBBLKID_PC@ @LIBUUID_PC@ @LIBTIRPC_PC@ @ZLIB_PC@ Cflags: -I${includedir}/libzfs -I${includedir}/libspl Libs: -L${libdir} -lzfs_core -lnvpair Libs.private: @LIBCLOCK_GETTIME@ @LIBUDEV_LIBS@ -lm -pthread