From 1b049c1265977ba13f20797848859a46ade1b75b Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Sat, 25 May 2019 09:58:29 +0100 Subject: 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 Signed-off-by: Jens Axboe --- .gitignore | 2 ++ Makefile | 13 +++++++++++-- liburing.pc.in | 12 ++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 liburing.pc.in diff --git a/.gitignore b/.gitignore index e292825..08ba0e0 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ config-host.h config-host.mak config.log + +liburing.pc diff --git a/Makefile b/Makefile index d42dd45..6755713 100644 --- a/Makefile +++ b/Makefile @@ -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} -- cgit