Skip to content

Commit

Permalink
Add a pkgconfig file
Browse files Browse the repository at this point in the history
Providing a pkg-config file makes is easy for 3rd party applications
to link against the libzfs libraries.  It also allows the libzfs
developers to modify the list of required libraries and cflags
without breaking existing applications.

The following example illustrates how pkg-config can be used:

cc `pkg-config --cflags --libs libzfs` -o myapp myapp.c

/*
 * myapp.c
 */
void main()
{
	libzfs_handle_t *hdl;

	hdl = libzfs_init();
	if (hdl)
		libzfs_fini(hdl);
}

Signed-off-by: Turbo Fredriksson <turbo@bayour.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes: #585
  • Loading branch information
FransUrbo authored and behlendorf committed Aug 28, 2014
1 parent 9ad656b commit c3f8dc2
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 0 deletions.
2 changes: 2 additions & 0 deletions configure.ac
Expand Up @@ -90,6 +90,8 @@ AC_CONFIG_FILES([
lib/libunicode/Makefile
lib/libuutil/Makefile
lib/libzpool/Makefile
lib/libzfs/libzfs.pc
lib/libzfs/libzfs_core.pc
lib/libzfs/Makefile
lib/libzfs_core/Makefile
lib/libshare/Makefile
Expand Down
2 changes: 2 additions & 0 deletions lib/libzfs/.gitignore
@@ -0,0 +1,2 @@
/libzfs.pc
/libzfs_core.pc
4 changes: 4 additions & 0 deletions lib/libzfs/Makefile.am
@@ -1,5 +1,9 @@
include $(top_srcdir)/config/Rules.am

libzfs_pcdir = $(datarootdir)/pkgconfig
libzfs_pc_DATA = $(top_srcdir)/lib/libzfs/libzfs.pc $(top_srcdir)/lib/libzfs/libzfs_core.pc
EXTRA_DIST = $(top_srcdir)/lib/libzfs/libzfs.pc $(top_srcdir)/lib/libzfs/libzfs_core.pc

DEFAULT_INCLUDES += \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib/libspl/include
Expand Down
12 changes: 12 additions & 0 deletions lib/libzfs/libzfs.pc.in
@@ -0,0 +1,12 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

Name: libzfs
Description: LibZFS library
Version: @VERSION@
URL: http://zfsonlinux.org
Requires: libzfs_core
Cflags: -I${includedir}/libzfs -I${includedir}/libspl
Libs: -L${libdir} -lzfs
11 changes: 11 additions & 0 deletions lib/libzfs/libzfs_core.pc.in
@@ -0,0 +1,11 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

Name: libzfs_core
Description: LibZFS core library
Version: @VERSION@
URL: http://zfsonlinux.org
Cflags: -I${includedir}/libzfs -I${includedir}/libspl
Libs: -L${libdir} -lzfs_core
2 changes: 2 additions & 0 deletions rpm/generic/zfs.spec.in
Expand Up @@ -280,6 +280,8 @@ exit 0
%{_libdir}/libzfs*.so.*

%files -n libzfs2-devel
%{_datadir}/pkgconfig/libzfs.pc
%{_datadir}/pkgconfig/libzfs_core.pc
%{_libdir}/*.so
%{_includedir}/*
%doc AUTHORS COPYRIGHT DISCLAIMER
Expand Down

0 comments on commit c3f8dc2

Please sign in to comment.