diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2019-05-25 09:58:29 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-05-25 06:36:21 -0600 |
commit | 1b049c1265977ba13f20797848859a46ade1b75b (patch) | |
tree | 7d56e53bd013d95acdf27643c82643185dc1ba43 | |
parent | d672969583c3226828392771b4a949452c9ef578 (diff) |
pkgconfig: install a liburing.pc file
pkg-config (https://pkgconfig.freedesktop.org/) makes it easier to build
applications that have library dependencies. Libraries ship .pc files
containing the compiler and linker flags needed to build successfully.
This saves applications from hardcoding these details into their build
scripts, especially when these details can change between operating
systems or distributions.
To build a liburing application:
gcc $(pkg-config --cflags --libs liburing) -o myapp myapp.c
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | liburing.pc.in | 12 |
3 files changed, 25 insertions, 2 deletions
@@ -12,3 +12,5 @@ config-host.h config-host.mak config.log + +liburing.pc @@ -33,13 +33,22 @@ ifneq ($(MAKECMDGOALS),clean) include config-host.mak endif -install: +%.pc: %.pc.in + sed -e "s%@prefix@%$(prefix)%g" \ + -e "s%@libdir@%$(libdir)%g" \ + -e "s%@includedir@%$(includedir)%g" \ + -e "s%@NAME@%$(NAME)%g" \ + -e "s%@VERSION@%$(VERSION)%g" \ + $< >$@ + +install: $(NAME).pc @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(DESTDIR)$(includedir) libdir=$(DESTDIR)$(libdir) + $(INSTALL) -D -m 644 $(NAME).pc $(DESTDIR)$(libdir)/pkgconfig/$(NAME).pc $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man2 $(INSTALL) -m 644 man/*.2 $(DESTDIR)$(mandir)/man2 clean: - @rm -f config-host.mak config-host.h cscope.out + @rm -f config-host.mak config-host.h cscope.out $(NAME).pc @$(MAKE) -C src clean @$(MAKE) -C test clean @$(MAKE) -C examples clean diff --git a/liburing.pc.in b/liburing.pc.in new file mode 100644 index 0000000..e621939 --- /dev/null +++ b/liburing.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=${prefix} +libdir=@libdir@ +includedir=@includedir@ + +Name: @NAME@ +Version: @VERSION@ +Description: io_uring library +URL: http://git.kernel.dk/cgit/liburing/ + +Libs: -L${libdir} -luring +Cflags: -I${includedir} |