All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Aarushi Mehta <mehta.aaru20@gmail.com>,
	Julia Suvorova <jusual@mail.ru>, Jeff Moyer <jmoyer@redhat.com>,
	linux-block@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: [PATCH liburing 4/4] src/Makefile: keep private headers in <liburing/*.h>
Date: Wed, 24 Jul 2019 09:24:50 +0100	[thread overview]
Message-ID: <20190724082450.12135-5-stefanha@redhat.com> (raw)
In-Reply-To: <20190724082450.12135-1-stefanha@redhat.com>

It is not possible to install barrier.h and compat.h into the top-level
/usr/include directly since they are likely to conflict with other
software.  io_uring.h could be confused with the system's kernel header
file.

Put liburing headers into <liburing/*.h> so there is no chance of
conflicts or confusion.

Existing applications continue to build successfully since the location
of <liburing.h> is unchanged.  In-tree examples and tests require
modification because src/liburing.h is moved to src/include/liburing.h.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 examples/Makefile                     |  2 +-
 src/Makefile                          | 14 +++++++-------
 test/Makefile                         |  2 +-
 src/{ => include}/liburing.h          |  6 +++---
 src/{ => include/liburing}/barrier.h  |  0
 src/{ => include/liburing}/compat.h   |  0
 src/{ => include/liburing}/io_uring.h |  0
 examples/io_uring-cp.c                |  2 +-
 examples/io_uring-test.c              |  2 +-
 examples/link-cp.c                    |  2 +-
 src/queue.c                           |  6 +++---
 src/register.c                        |  4 ++--
 src/setup.c                           |  4 ++--
 src/syscall.c                         |  4 ++--
 test/cq-full.c                        |  2 +-
 test/eeed8b54e0df-test.c              |  2 +-
 test/fsync.c                          |  2 +-
 test/io_uring_enter.c                 |  4 ++--
 test/io_uring_register.c              |  2 +-
 test/io_uring_setup.c                 |  2 +-
 test/link.c                           |  2 +-
 test/nop.c                            |  2 +-
 test/poll-cancel.c                    |  2 +-
 test/poll.c                           |  2 +-
 test/ring-leak.c                      |  2 +-
 test/send_recvmsg.c                   |  2 +-
 test/sq-full.c                        |  2 +-
 liburing.spec                         |  3 ++-
 28 files changed, 40 insertions(+), 39 deletions(-)
 rename src/{ => include}/liburing.h (98%)
 rename src/{ => include/liburing}/barrier.h (100%)
 rename src/{ => include/liburing}/compat.h (100%)
 rename src/{ => include/liburing}/io_uring.h (100%)

diff --git a/examples/Makefile b/examples/Makefile
index ed73fcd..1539ecc 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -1,5 +1,5 @@
 CFLAGS ?= -g -O2
-override CFLAGS += -Wall -D_GNU_SOURCE -L../src/
+override CFLAGS += -Wall -D_GNU_SOURCE -L../src/ -I../src/include/
 
 all_targets += io_uring-test io_uring-cp link-cp
 
diff --git a/src/Makefile b/src/Makefile
index aa93199..cbd3fda 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -3,7 +3,7 @@ includedir ?= $(prefix)/include
 libdir ?= $(prefix)/lib
 
 CFLAGS ?= -g -fomit-frame-pointer -O2
-override CFLAGS += -Wall -I.
+override CFLAGS += -Wall -Iinclude/
 SO_CFLAGS=-shared -fPIC $(CFLAGS)
 L_CFLAGS=$(CFLAGS)
 LINK_FLAGS=
@@ -27,7 +27,7 @@ liburing_srcs := setup.c queue.c syscall.c register.c
 liburing_objs := $(patsubst %.c,%.ol,$(liburing_srcs))
 liburing_sobjs := $(patsubst %.c,%.os,$(liburing_srcs))
 
-$(liburing_objs) $(liburing_sobjs): io_uring.h
+$(liburing_objs) $(liburing_sobjs): include/liburing/io_uring.h
 
 %.os: %.c
 	$(CC) $(SO_CFLAGS) -c -o $@ $<
@@ -46,10 +46,10 @@ $(libname): $(liburing_sobjs) liburing.map
 	$(CC) $(SO_CFLAGS) -Wl,--version-script=liburing.map -Wl,-soname=$(soname) -o $@ $(liburing_sobjs) $(LINK_FLAGS)
 
 install: $(all_targets)
-	install -D -m 644 io_uring.h $(includedir)/io_uring.h
-	install -D -m 644 liburing.h $(includedir)/liburing.h
-	install -D -m 644 compat.h $(includedir)/compat.h
-	install -D -m 644 barrier.h $(includedir)/barrier.h
+	install -D -m 644 include/liburing/io_uring.h $(includedir)/liburing/io_uring.h
+	install -D -m 644 include/liburing.h $(includedir)/liburing.h
+	install -D -m 644 include/liburing/compat.h $(includedir)/liburing/compat.h
+	install -D -m 644 include/liburing/barrier.h $(includedir)/liburing/barrier.h
 	install -D -m 644 liburing.a $(libdir)/liburing.a
 ifeq ($(ENABLE_SHARED),1)
 	install -D -m 755 $(libname) $(libdir)/$(libname)
@@ -57,7 +57,7 @@ ifeq ($(ENABLE_SHARED),1)
 	ln -sf $(libname) $(libdir)/liburing.so
 endif
 
-$(liburing_objs): liburing.h
+$(liburing_objs): include/liburing.h
 
 clean:
 	rm -f $(all_targets) $(liburing_objs) $(liburing_sobjs) $(soname).new
diff --git a/test/Makefile b/test/Makefile
index 98f863c..4d056f8 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,5 +1,5 @@
 CFLAGS ?= -g -O2
-override CFLAGS += -Wall -D_GNU_SOURCE -L../src/
+override CFLAGS += -Wall -D_GNU_SOURCE -L../src/ -I../src/include/
 
 all_targets += poll poll-cancel ring-leak fsync io_uring_setup io_uring_register \
 	       io_uring_enter nop sq-full cq-full 35fa71a030ca-test \
diff --git a/src/liburing.h b/src/include/liburing.h
similarity index 98%
rename from src/liburing.h
rename to src/include/liburing.h
index a350a01..fb78cd3 100644
--- a/src/liburing.h
+++ b/src/include/liburing.h
@@ -9,9 +9,9 @@ extern "C" {
 #include <signal.h>
 #include <string.h>
 #include <inttypes.h>
-#include "compat.h"
-#include "io_uring.h"
-#include "barrier.h"
+#include "liburing/compat.h"
+#include "liburing/io_uring.h"
+#include "liburing/barrier.h"
 
 /*
  * Library interface to io_uring
diff --git a/src/barrier.h b/src/include/liburing/barrier.h
similarity index 100%
rename from src/barrier.h
rename to src/include/liburing/barrier.h
diff --git a/src/compat.h b/src/include/liburing/compat.h
similarity index 100%
rename from src/compat.h
rename to src/include/liburing/compat.h
diff --git a/src/io_uring.h b/src/include/liburing/io_uring.h
similarity index 100%
rename from src/io_uring.h
rename to src/include/liburing/io_uring.h
diff --git a/examples/io_uring-cp.c b/examples/io_uring-cp.c
index 97f61aa..adb7b29 100644
--- a/examples/io_uring-cp.c
+++ b/examples/io_uring-cp.c
@@ -12,7 +12,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/ioctl.h>
-#include "../src/liburing.h"
+#include "liburing.h"
 
 #define QD	64
 #define BS	(32*1024)
diff --git a/examples/io_uring-test.c b/examples/io_uring-test.c
index 0b975ad..4f5ebf6 100644
--- a/examples/io_uring-test.c
+++ b/examples/io_uring-test.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include "../src/liburing.h"
+#include "liburing.h"
 
 #define QD	4
 
diff --git a/examples/link-cp.c b/examples/link-cp.c
index a4c02e5..af80a2e 100644
--- a/examples/link-cp.c
+++ b/examples/link-cp.c
@@ -13,7 +13,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/ioctl.h>
-#include "../src/liburing.h"
+#include "liburing.h"
 
 #define QD	64
 #define BS	(32*1024)
diff --git a/src/queue.c b/src/queue.c
index 72b2293..74a077f 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -6,10 +6,10 @@
 #include <string.h>
 #include <stdbool.h>
 
-#include "compat.h"
-#include "io_uring.h"
+#include "liburing/compat.h"
+#include "liburing/io_uring.h"
 #include "liburing.h"
-#include "barrier.h"
+#include "liburing/barrier.h"
 
 static int __io_uring_get_cqe(struct io_uring *ring,
 			      struct io_uring_cqe **cqe_ptr, int wait)
diff --git a/src/register.c b/src/register.c
index 7561575..f5fc196 100644
--- a/src/register.c
+++ b/src/register.c
@@ -5,8 +5,8 @@
 #include <errno.h>
 #include <string.h>
 
-#include "compat.h"
-#include "io_uring.h"
+#include "liburing/compat.h"
+#include "liburing/io_uring.h"
 #include "liburing.h"
 
 int io_uring_register_buffers(struct io_uring *ring, const struct iovec *iovecs,
diff --git a/src/setup.c b/src/setup.c
index 343a317..47b0deb 100644
--- a/src/setup.c
+++ b/src/setup.c
@@ -5,8 +5,8 @@
 #include <errno.h>
 #include <string.h>
 
-#include "compat.h"
-#include "io_uring.h"
+#include "liburing/compat.h"
+#include "liburing/io_uring.h"
 #include "liburing.h"
 
 static int io_uring_mmap(int fd, struct io_uring_params *p,
diff --git a/src/syscall.c b/src/syscall.c
index d0c58cf..3fd8713 100644
--- a/src/syscall.c
+++ b/src/syscall.c
@@ -5,8 +5,8 @@
 #include <sys/syscall.h>
 #include <sys/uio.h>
 #include <signal.h>
-#include "compat.h"
-#include "io_uring.h"
+#include "liburing/compat.h"
+#include "liburing/io_uring.h"
 
 #ifdef __alpha__
 /*
diff --git a/test/cq-full.c b/test/cq-full.c
index 82c5a65..25fa42c 100644
--- a/test/cq-full.c
+++ b/test/cq-full.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <fcntl.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 static int queue_n_nops(struct io_uring *ring, int n)
 {
diff --git a/test/eeed8b54e0df-test.c b/test/eeed8b54e0df-test.c
index 9083d3e..84237d5 100644
--- a/test/eeed8b54e0df-test.c
+++ b/test/eeed8b54e0df-test.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <fcntl.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 #define BLOCK	4096
 
diff --git a/test/fsync.c b/test/fsync.c
index 44264f4..e6e0898 100644
--- a/test/fsync.c
+++ b/test/fsync.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <fcntl.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 static int test_single_fsync(struct io_uring *ring)
 {
diff --git a/test/io_uring_enter.c b/test/io_uring_enter.c
index b25afd5..c2030c1 100644
--- a/test/io_uring_enter.c
+++ b/test/io_uring_enter.c
@@ -22,8 +22,8 @@
 #include <sys/resource.h>
 #include <limits.h>
 #include <sys/time.h>
-#include "../src/liburing.h"
-#include "../src/barrier.h"
+#include "liburing.h"
+#include "liburing/barrier.h"
 
 #define IORING_MAX_ENTRIES 4096
 
diff --git a/test/io_uring_register.c b/test/io_uring_register.c
index 32e5217..59c8a86 100644
--- a/test/io_uring_register.c
+++ b/test/io_uring_register.c
@@ -21,7 +21,7 @@
 #include <sys/time.h>
 #include <sys/resource.h>
 #include <limits.h>
-#include "../src/liburing.h"
+#include "liburing.h"
 
 static int pagesize;
 static rlim_t mlock_limit;
diff --git a/test/io_uring_setup.c b/test/io_uring_setup.c
index 09e16e5..2dd3763 100644
--- a/test/io_uring_setup.c
+++ b/test/io_uring_setup.c
@@ -13,7 +13,7 @@
 #include <unistd.h>
 #include <errno.h>
 #include <sys/sysinfo.h>
-#include "../src/liburing.h"
+#include "liburing.h"
 
 /*
  * Attempt the call with the given args.  Return 0 when expect matches
diff --git a/test/link.c b/test/link.c
index e7ca3e3..603b507 100644
--- a/test/link.c
+++ b/test/link.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <fcntl.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 /*
  * Test failing head of chain, and dependent getting -ECANCELED
diff --git a/test/nop.c b/test/nop.c
index 8e6bfb0..1373695 100644
--- a/test/nop.c
+++ b/test/nop.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <fcntl.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 static int test_single_nop(struct io_uring *ring)
 {
diff --git a/test/poll-cancel.c b/test/poll-cancel.c
index 19efc5f..4761569 100644
--- a/test/poll-cancel.c
+++ b/test/poll-cancel.c
@@ -12,7 +12,7 @@
 #include <sys/wait.h>
 #include <sys/signal.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 struct poll_data {
 	unsigned is_poll;
diff --git a/test/poll.c b/test/poll.c
index d22d9c5..ed424fc 100644
--- a/test/poll.c
+++ b/test/poll.c
@@ -11,7 +11,7 @@
 #include <sys/poll.h>
 #include <sys/wait.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 static void sig_alrm(int sig)
 {
diff --git a/test/ring-leak.c b/test/ring-leak.c
index 99466e4..02b06f9 100644
--- a/test/ring-leak.c
+++ b/test/ring-leak.c
@@ -21,7 +21,7 @@
 #include <string.h>
 #include <linux/fs.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 static int __io_uring_register_files(int ring_fd, int fd1, int fd2)
 {
diff --git a/test/send_recvmsg.c b/test/send_recvmsg.c
index 9187906..ada6559 100644
--- a/test/send_recvmsg.c
+++ b/test/send_recvmsg.c
@@ -9,7 +9,7 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 static char str[] = "This is a test of sendmsg and recvmsg over io_uring!";
 
diff --git a/test/sq-full.c b/test/sq-full.c
index 5bf7f72..3fbe0a5 100644
--- a/test/sq-full.c
+++ b/test/sq-full.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <fcntl.h>
 
-#include "../src/liburing.h"
+#include "liburing.h"
 
 int main(int argc, char *argv[])
 {
diff --git a/liburing.spec b/liburing.spec
index 189a16a..e577a8f 100644
--- a/liburing.spec
+++ b/liburing.spec
@@ -47,7 +47,8 @@ make install DESTDIR=$RPM_BUILD_ROOT
 
 %files devel
 %defattr(-,root,root)
-%attr(0644,root,root) %{_includedir}/*
+%attr(0755,root,root) %{_includedir}/liburing/*
+%attr(0644,root,root) %{_includedir}/liburing.h
 %attr(0755,root,root) %{_libdir}/liburing.so
 %attr(0644,root,root) %{_libdir}/liburing.a
 %attr(0644,root,root) %{_libdir}/pkgconfig/*
-- 
2.21.0


  parent reply	other threads:[~2019-07-24  8:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-24  8:24 [PATCH liburing 0/4] Fedora packaging preparation Stefan Hajnoczi
2019-07-24  8:24 ` [PATCH liburing 1/4] pkgconfig: add missing config-host.mak dependency Stefan Hajnoczi
2019-07-24  8:24 ` [PATCH liburing 2/4] spec: invoke ./configure with arguments Stefan Hajnoczi
2019-07-24  8:24 ` [PATCH liburing 3/4] src/Makefile: honor the caller's includedir and libdir Stefan Hajnoczi
2019-07-24  8:24 ` Stefan Hajnoczi [this message]
2019-07-24 15:12 ` [PATCH liburing 0/4] Fedora packaging preparation Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190724082450.12135-5-stefanha@redhat.com \
    --to=stefanha@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=jmoyer@redhat.com \
    --cc=jusual@mail.ru \
    --cc=linux-block@vger.kernel.org \
    --cc=mehta.aaru20@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.