uringmachine 0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/dependabot.yml +12 -0
- data/.github/workflows/test.yml +35 -0
- data/.gitignore +59 -0
- data/.gitmodules +3 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +3 -0
- data/LICENSE +21 -0
- data/README.md +11 -0
- data/Rakefile +39 -0
- data/TODO.md +0 -0
- data/examples/echo_server.rb +52 -0
- data/examples/event_loop.rb +69 -0
- data/examples/fibers.rb +105 -0
- data/examples/http_server.rb +56 -0
- data/examples/http_server_multishot.rb +57 -0
- data/examples/http_server_simpler.rb +34 -0
- data/ext/um/extconf.rb +71 -0
- data/ext/um/iou.h +101 -0
- data/ext/um/op_ctx.c +138 -0
- data/ext/um/ring.c +755 -0
- data/ext/um/um.c +267 -0
- data/ext/um/um.h +97 -0
- data/ext/um/um_class.c +175 -0
- data/ext/um/um_ext.c +11 -0
- data/ext/um/um_op.c +87 -0
- data/ext/um/um_utils.c +23 -0
- data/lib/uringmachine/version.rb +3 -0
- data/lib/uringmachine.rb +8 -0
- data/test/helper.rb +70 -0
- data/test/test_iou.rb +876 -0
- data/test/test_um.rb +168 -0
- data/uringmachine.gemspec +27 -0
- data/vendor/liburing/.github/actions/codespell/stopwords +7 -0
- data/vendor/liburing/.github/pull_request_template.md +86 -0
- data/vendor/liburing/.github/workflows/build.yml +137 -0
- data/vendor/liburing/.github/workflows/codespell.yml +25 -0
- data/vendor/liburing/.github/workflows/shellcheck.yml +20 -0
- data/vendor/liburing/.gitignore +41 -0
- data/vendor/liburing/CHANGELOG +111 -0
- data/vendor/liburing/CITATION.cff +11 -0
- data/vendor/liburing/COPYING +502 -0
- data/vendor/liburing/COPYING.GPL +339 -0
- data/vendor/liburing/LICENSE +20 -0
- data/vendor/liburing/Makefile +96 -0
- data/vendor/liburing/Makefile.common +7 -0
- data/vendor/liburing/Makefile.quiet +11 -0
- data/vendor/liburing/README +106 -0
- data/vendor/liburing/SECURITY.md +6 -0
- data/vendor/liburing/configure +624 -0
- data/vendor/liburing/debian/README.Debian +7 -0
- data/vendor/liburing/debian/changelog +38 -0
- data/vendor/liburing/debian/control +39 -0
- data/vendor/liburing/debian/copyright +49 -0
- data/vendor/liburing/debian/liburing-dev.install +4 -0
- data/vendor/liburing/debian/liburing-dev.manpages +5 -0
- data/vendor/liburing/debian/liburing2.install +1 -0
- data/vendor/liburing/debian/liburing2.symbols +56 -0
- data/vendor/liburing/debian/patches/series +1 -0
- data/vendor/liburing/debian/rules +29 -0
- data/vendor/liburing/debian/source/format +1 -0
- data/vendor/liburing/debian/source/local-options +2 -0
- data/vendor/liburing/debian/source/options +1 -0
- data/vendor/liburing/debian/watch +3 -0
- data/vendor/liburing/examples/Makefile +53 -0
- data/vendor/liburing/examples/helpers.c +62 -0
- data/vendor/liburing/examples/helpers.h +7 -0
- data/vendor/liburing/examples/io_uring-close-test.c +123 -0
- data/vendor/liburing/examples/io_uring-cp.c +282 -0
- data/vendor/liburing/examples/io_uring-test.c +112 -0
- data/vendor/liburing/examples/io_uring-udp.c +403 -0
- data/vendor/liburing/examples/link-cp.c +193 -0
- data/vendor/liburing/examples/napi-busy-poll-client.c +509 -0
- data/vendor/liburing/examples/napi-busy-poll-server.c +450 -0
- data/vendor/liburing/examples/poll-bench.c +101 -0
- data/vendor/liburing/examples/proxy.c +2461 -0
- data/vendor/liburing/examples/proxy.h +102 -0
- data/vendor/liburing/examples/rsrc-update-bench.c +100 -0
- data/vendor/liburing/examples/send-zerocopy.c +658 -0
- data/vendor/liburing/examples/ucontext-cp.c +258 -0
- data/vendor/liburing/liburing-ffi.pc.in +12 -0
- data/vendor/liburing/liburing.pc.in +12 -0
- data/vendor/liburing/liburing.spec +66 -0
- data/vendor/liburing/make-debs.sh +55 -0
- data/vendor/liburing/src/Makefile +129 -0
- data/vendor/liburing/src/arch/aarch64/lib.h +47 -0
- data/vendor/liburing/src/arch/aarch64/syscall.h +91 -0
- data/vendor/liburing/src/arch/generic/lib.h +17 -0
- data/vendor/liburing/src/arch/generic/syscall.h +100 -0
- data/vendor/liburing/src/arch/riscv64/lib.h +48 -0
- data/vendor/liburing/src/arch/riscv64/syscall.h +100 -0
- data/vendor/liburing/src/arch/syscall-defs.h +94 -0
- data/vendor/liburing/src/arch/x86/lib.h +11 -0
- data/vendor/liburing/src/arch/x86/syscall.h +296 -0
- data/vendor/liburing/src/ffi.c +15 -0
- data/vendor/liburing/src/include/liburing/barrier.h +81 -0
- data/vendor/liburing/src/include/liburing/io_uring.h +818 -0
- data/vendor/liburing/src/include/liburing.h +1602 -0
- data/vendor/liburing/src/int_flags.h +11 -0
- data/vendor/liburing/src/lib.h +52 -0
- data/vendor/liburing/src/liburing-ffi.map +211 -0
- data/vendor/liburing/src/liburing.map +104 -0
- data/vendor/liburing/src/nolibc.c +55 -0
- data/vendor/liburing/src/queue.c +468 -0
- data/vendor/liburing/src/register.c +374 -0
- data/vendor/liburing/src/setup.c +689 -0
- data/vendor/liburing/src/setup.h +9 -0
- data/vendor/liburing/src/syscall.c +29 -0
- data/vendor/liburing/src/syscall.h +53 -0
- data/vendor/liburing/src/version.c +21 -0
- data/vendor/liburing/test/232c93d07b74.c +305 -0
- data/vendor/liburing/test/35fa71a030ca.c +329 -0
- data/vendor/liburing/test/500f9fbadef8.c +91 -0
- data/vendor/liburing/test/7ad0e4b2f83c.c +94 -0
- data/vendor/liburing/test/8a9973408177.c +107 -0
- data/vendor/liburing/test/917257daa0fe.c +54 -0
- data/vendor/liburing/test/Makefile +297 -0
- data/vendor/liburing/test/a0908ae19763.c +59 -0
- data/vendor/liburing/test/a4c0b3decb33.c +181 -0
- data/vendor/liburing/test/accept-link.c +255 -0
- data/vendor/liburing/test/accept-non-empty.c +256 -0
- data/vendor/liburing/test/accept-reuse.c +163 -0
- data/vendor/liburing/test/accept-test.c +83 -0
- data/vendor/liburing/test/accept.c +919 -0
- data/vendor/liburing/test/across-fork.c +284 -0
- data/vendor/liburing/test/b19062a56726.c +54 -0
- data/vendor/liburing/test/b5837bd5311d.c +78 -0
- data/vendor/liburing/test/bind-listen.c +408 -0
- data/vendor/liburing/test/buf-ring-nommap.c +123 -0
- data/vendor/liburing/test/buf-ring-put.c +83 -0
- data/vendor/liburing/test/buf-ring.c +473 -0
- data/vendor/liburing/test/ce593a6c480a.c +139 -0
- data/vendor/liburing/test/close-opath.c +123 -0
- data/vendor/liburing/test/config +14 -0
- data/vendor/liburing/test/connect-rep.c +204 -0
- data/vendor/liburing/test/connect.c +442 -0
- data/vendor/liburing/test/coredump.c +60 -0
- data/vendor/liburing/test/cq-full.c +97 -0
- data/vendor/liburing/test/cq-overflow.c +530 -0
- data/vendor/liburing/test/cq-peek-batch.c +103 -0
- data/vendor/liburing/test/cq-ready.c +95 -0
- data/vendor/liburing/test/cq-size.c +65 -0
- data/vendor/liburing/test/d4ae271dfaae.c +96 -0
- data/vendor/liburing/test/d77a67ed5f27.c +65 -0
- data/vendor/liburing/test/defer-taskrun.c +391 -0
- data/vendor/liburing/test/defer-tw-timeout.c +173 -0
- data/vendor/liburing/test/defer.c +319 -0
- data/vendor/liburing/test/double-poll-crash.c +195 -0
- data/vendor/liburing/test/drop-submit.c +94 -0
- data/vendor/liburing/test/eeed8b54e0df.c +120 -0
- data/vendor/liburing/test/empty-eownerdead.c +45 -0
- data/vendor/liburing/test/eploop.c +74 -0
- data/vendor/liburing/test/eventfd-disable.c +179 -0
- data/vendor/liburing/test/eventfd-reg.c +77 -0
- data/vendor/liburing/test/eventfd-ring.c +98 -0
- data/vendor/liburing/test/eventfd.c +113 -0
- data/vendor/liburing/test/evloop.c +73 -0
- data/vendor/liburing/test/exec-target.c +6 -0
- data/vendor/liburing/test/exit-no-cleanup.c +117 -0
- data/vendor/liburing/test/fadvise.c +202 -0
- data/vendor/liburing/test/fallocate.c +265 -0
- data/vendor/liburing/test/fc2a85cb02ef.c +132 -0
- data/vendor/liburing/test/fd-install.c +500 -0
- data/vendor/liburing/test/fd-pass.c +237 -0
- data/vendor/liburing/test/fdinfo.c +419 -0
- data/vendor/liburing/test/file-register.c +1189 -0
- data/vendor/liburing/test/file-update.c +231 -0
- data/vendor/liburing/test/file-verify.c +654 -0
- data/vendor/liburing/test/files-exit-hang-poll.c +114 -0
- data/vendor/liburing/test/files-exit-hang-timeout.c +137 -0
- data/vendor/liburing/test/fixed-buf-iter.c +115 -0
- data/vendor/liburing/test/fixed-buf-merge.c +101 -0
- data/vendor/liburing/test/fixed-hugepage.c +411 -0
- data/vendor/liburing/test/fixed-link.c +90 -0
- data/vendor/liburing/test/fixed-reuse.c +160 -0
- data/vendor/liburing/test/fpos.c +255 -0
- data/vendor/liburing/test/fsnotify.c +118 -0
- data/vendor/liburing/test/fsync.c +224 -0
- data/vendor/liburing/test/futex.c +571 -0
- data/vendor/liburing/test/hardlink.c +170 -0
- data/vendor/liburing/test/helpers.c +318 -0
- data/vendor/liburing/test/helpers.h +108 -0
- data/vendor/liburing/test/ignore-single-mmap.c +48 -0
- data/vendor/liburing/test/init-mem.c +164 -0
- data/vendor/liburing/test/io-cancel.c +561 -0
- data/vendor/liburing/test/io_uring_enter.c +264 -0
- data/vendor/liburing/test/io_uring_passthrough.c +482 -0
- data/vendor/liburing/test/io_uring_register.c +503 -0
- data/vendor/liburing/test/io_uring_setup.c +110 -0
- data/vendor/liburing/test/iopoll-leak.c +85 -0
- data/vendor/liburing/test/iopoll-overflow.c +118 -0
- data/vendor/liburing/test/iopoll.c +465 -0
- data/vendor/liburing/test/lfs-openat-write.c +119 -0
- data/vendor/liburing/test/lfs-openat.c +273 -0
- data/vendor/liburing/test/link-timeout.c +1108 -0
- data/vendor/liburing/test/link.c +497 -0
- data/vendor/liburing/test/link_drain.c +255 -0
- data/vendor/liburing/test/madvise.c +195 -0
- data/vendor/liburing/test/min-timeout-wait.c +354 -0
- data/vendor/liburing/test/min-timeout.c +233 -0
- data/vendor/liburing/test/mkdir.c +112 -0
- data/vendor/liburing/test/msg-ring-fd.c +331 -0
- data/vendor/liburing/test/msg-ring-flags.c +212 -0
- data/vendor/liburing/test/msg-ring-overflow.c +159 -0
- data/vendor/liburing/test/msg-ring.c +467 -0
- data/vendor/liburing/test/multicqes_drain.c +429 -0
- data/vendor/liburing/test/napi-test.c +215 -0
- data/vendor/liburing/test/napi-test.sh +48 -0
- data/vendor/liburing/test/no-mmap-inval.c +42 -0
- data/vendor/liburing/test/nolibc.c +62 -0
- data/vendor/liburing/test/nop-all-sizes.c +99 -0
- data/vendor/liburing/test/nop.c +177 -0
- data/vendor/liburing/test/nvme.h +169 -0
- data/vendor/liburing/test/ooo-file-unreg.c +82 -0
- data/vendor/liburing/test/open-close.c +261 -0
- data/vendor/liburing/test/open-direct-link.c +188 -0
- data/vendor/liburing/test/open-direct-pick.c +180 -0
- data/vendor/liburing/test/openat2.c +312 -0
- data/vendor/liburing/test/personality.c +204 -0
- data/vendor/liburing/test/pipe-bug.c +95 -0
- data/vendor/liburing/test/pipe-eof.c +83 -0
- data/vendor/liburing/test/pipe-reuse.c +105 -0
- data/vendor/liburing/test/poll-cancel-all.c +496 -0
- data/vendor/liburing/test/poll-cancel-ton.c +135 -0
- data/vendor/liburing/test/poll-cancel.c +228 -0
- data/vendor/liburing/test/poll-link.c +221 -0
- data/vendor/liburing/test/poll-many.c +230 -0
- data/vendor/liburing/test/poll-mshot-overflow.c +265 -0
- data/vendor/liburing/test/poll-mshot-update.c +323 -0
- data/vendor/liburing/test/poll-race-mshot.c +276 -0
- data/vendor/liburing/test/poll-race.c +105 -0
- data/vendor/liburing/test/poll-ring.c +48 -0
- data/vendor/liburing/test/poll-v-poll.c +353 -0
- data/vendor/liburing/test/poll.c +327 -0
- data/vendor/liburing/test/probe.c +135 -0
- data/vendor/liburing/test/read-before-exit.c +129 -0
- data/vendor/liburing/test/read-mshot-empty.c +153 -0
- data/vendor/liburing/test/read-mshot.c +404 -0
- data/vendor/liburing/test/read-write.c +1013 -0
- data/vendor/liburing/test/recv-msgall-stream.c +398 -0
- data/vendor/liburing/test/recv-msgall.c +263 -0
- data/vendor/liburing/test/recv-multishot.c +602 -0
- data/vendor/liburing/test/recvsend_bundle.c +691 -0
- data/vendor/liburing/test/reg-fd-only.c +131 -0
- data/vendor/liburing/test/reg-hint.c +56 -0
- data/vendor/liburing/test/reg-reg-ring.c +90 -0
- data/vendor/liburing/test/regbuf-merge.c +91 -0
- data/vendor/liburing/test/register-restrictions.c +633 -0
- data/vendor/liburing/test/rename.c +132 -0
- data/vendor/liburing/test/ring-leak.c +283 -0
- data/vendor/liburing/test/ring-leak2.c +249 -0
- data/vendor/liburing/test/ringbuf-read.c +196 -0
- data/vendor/liburing/test/ringbuf-status.c +242 -0
- data/vendor/liburing/test/rsrc_tags.c +461 -0
- data/vendor/liburing/test/runtests-loop.sh +16 -0
- data/vendor/liburing/test/runtests-quiet.sh +11 -0
- data/vendor/liburing/test/runtests.sh +168 -0
- data/vendor/liburing/test/rw_merge_test.c +98 -0
- data/vendor/liburing/test/self.c +91 -0
- data/vendor/liburing/test/send-zerocopy.c +971 -0
- data/vendor/liburing/test/send_recv.c +412 -0
- data/vendor/liburing/test/send_recvmsg.c +444 -0
- data/vendor/liburing/test/shared-wq.c +84 -0
- data/vendor/liburing/test/short-read.c +75 -0
- data/vendor/liburing/test/shutdown.c +165 -0
- data/vendor/liburing/test/sigfd-deadlock.c +88 -0
- data/vendor/liburing/test/single-issuer.c +169 -0
- data/vendor/liburing/test/skip-cqe.c +428 -0
- data/vendor/liburing/test/socket-getsetsock-cmd.c +346 -0
- data/vendor/liburing/test/socket-io-cmd.c +237 -0
- data/vendor/liburing/test/socket-rw-eagain.c +149 -0
- data/vendor/liburing/test/socket-rw-offset.c +149 -0
- data/vendor/liburing/test/socket-rw.c +137 -0
- data/vendor/liburing/test/socket.c +408 -0
- data/vendor/liburing/test/splice.c +512 -0
- data/vendor/liburing/test/sq-full-cpp.cc +45 -0
- data/vendor/liburing/test/sq-full.c +45 -0
- data/vendor/liburing/test/sq-poll-dup.c +211 -0
- data/vendor/liburing/test/sq-poll-kthread.c +169 -0
- data/vendor/liburing/test/sq-poll-share.c +138 -0
- data/vendor/liburing/test/sq-space_left.c +159 -0
- data/vendor/liburing/test/sqpoll-disable-exit.c +196 -0
- data/vendor/liburing/test/sqpoll-exec.c +132 -0
- data/vendor/liburing/test/sqpoll-exit-hang.c +78 -0
- data/vendor/liburing/test/sqpoll-sleep.c +69 -0
- data/vendor/liburing/test/statx.c +172 -0
- data/vendor/liburing/test/stdout.c +232 -0
- data/vendor/liburing/test/submit-and-wait.c +108 -0
- data/vendor/liburing/test/submit-link-fail.c +156 -0
- data/vendor/liburing/test/submit-reuse.c +237 -0
- data/vendor/liburing/test/symlink.c +117 -0
- data/vendor/liburing/test/sync-cancel.c +235 -0
- data/vendor/liburing/test/teardowns.c +58 -0
- data/vendor/liburing/test/test.h +36 -0
- data/vendor/liburing/test/thread-exit.c +143 -0
- data/vendor/liburing/test/timeout-new.c +256 -0
- data/vendor/liburing/test/timeout.c +1798 -0
- data/vendor/liburing/test/truncate.c +186 -0
- data/vendor/liburing/test/tty-write-dpoll.c +60 -0
- data/vendor/liburing/test/unlink.c +112 -0
- data/vendor/liburing/test/version.c +25 -0
- data/vendor/liburing/test/wait-timeout.c +287 -0
- data/vendor/liburing/test/waitid.c +373 -0
- data/vendor/liburing/test/wakeup-hang.c +162 -0
- data/vendor/liburing/test/wq-aff.c +146 -0
- data/vendor/liburing/test/xattr.c +442 -0
- metadata +412 -0
|
@@ -0,0 +1,624 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
cc=${CC:-gcc}
|
|
6
|
+
cxx=${CXX:-g++}
|
|
7
|
+
|
|
8
|
+
for opt do
|
|
9
|
+
optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)' || true)
|
|
10
|
+
case "$opt" in
|
|
11
|
+
--help|-h) show_help=yes
|
|
12
|
+
;;
|
|
13
|
+
--prefix=*) prefix="$(realpath -s $optarg)"
|
|
14
|
+
;;
|
|
15
|
+
--includedir=*) includedir="$optarg"
|
|
16
|
+
;;
|
|
17
|
+
--libdir=*) libdir="$optarg"
|
|
18
|
+
;;
|
|
19
|
+
--libdevdir=*) libdevdir="$optarg"
|
|
20
|
+
;;
|
|
21
|
+
--mandir=*) mandir="$optarg"
|
|
22
|
+
;;
|
|
23
|
+
--datadir=*) datadir="$optarg"
|
|
24
|
+
;;
|
|
25
|
+
--cc=*) cc="$optarg"
|
|
26
|
+
;;
|
|
27
|
+
--cxx=*) cxx="$optarg"
|
|
28
|
+
;;
|
|
29
|
+
--use-libc) use_libc=yes
|
|
30
|
+
;;
|
|
31
|
+
*)
|
|
32
|
+
echo "ERROR: unknown option $opt"
|
|
33
|
+
echo "Try '$0 --help' for more information"
|
|
34
|
+
exit 1
|
|
35
|
+
;;
|
|
36
|
+
esac
|
|
37
|
+
done
|
|
38
|
+
|
|
39
|
+
if test -z "$prefix"; then
|
|
40
|
+
prefix=/usr
|
|
41
|
+
fi
|
|
42
|
+
if test -z "$includedir"; then
|
|
43
|
+
includedir="$prefix/include"
|
|
44
|
+
fi
|
|
45
|
+
if test -z "$libdir"; then
|
|
46
|
+
libdir="$prefix/lib"
|
|
47
|
+
fi
|
|
48
|
+
if test -z "$libdevdir"; then
|
|
49
|
+
libdevdir="$prefix/lib"
|
|
50
|
+
fi
|
|
51
|
+
if test -z "$mandir"; then
|
|
52
|
+
mandir="$prefix/man"
|
|
53
|
+
fi
|
|
54
|
+
if test -z "$datadir"; then
|
|
55
|
+
datadir="$prefix/share"
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
if test x"$libdir" = x"$libdevdir"; then
|
|
59
|
+
relativelibdir=""
|
|
60
|
+
else
|
|
61
|
+
relativelibdir="$libdir/"
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
if test "$show_help" = "yes"; then
|
|
65
|
+
cat <<EOF
|
|
66
|
+
|
|
67
|
+
Usage: configure [options]
|
|
68
|
+
Options: [defaults in brackets after descriptions]
|
|
69
|
+
--help print this message
|
|
70
|
+
--prefix=PATH install in PATH [$prefix]
|
|
71
|
+
--includedir=PATH install headers in PATH [$includedir]
|
|
72
|
+
--libdir=PATH install runtime libraries in PATH [$libdir]
|
|
73
|
+
--libdevdir=PATH install development libraries in PATH [$libdevdir]
|
|
74
|
+
--mandir=PATH install man pages in PATH [$mandir]
|
|
75
|
+
--datadir=PATH install shared data in PATH [$datadir]
|
|
76
|
+
--cc=CMD use CMD as the C compiler
|
|
77
|
+
--cxx=CMD use CMD as the C++ compiler
|
|
78
|
+
--use-libc use libc for liburing (useful for hardening)
|
|
79
|
+
EOF
|
|
80
|
+
exit 0
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
TMP_DIRECTORY="$(mktemp -d)"
|
|
84
|
+
TMPC="$TMP_DIRECTORY/liburing-conf.c"
|
|
85
|
+
TMPC2="$TMP_DIRECTORY/liburing-conf-2.c"
|
|
86
|
+
TMPCXX="$TMP_DIRECTORY/liburing-conf-2.cpp"
|
|
87
|
+
TMPO="$TMP_DIRECTORY/liburing-conf.o"
|
|
88
|
+
TMPE="$TMP_DIRECTORY/liburing-conf.exe"
|
|
89
|
+
|
|
90
|
+
touch $TMPC $TMPC2 $TMPCXX $TMPO $TMPE
|
|
91
|
+
|
|
92
|
+
# NB: do not call "exit" in the trap handler; this is buggy with some shells;
|
|
93
|
+
# see <1285349658-3122-1-git-send-email-loic.minier@linaro.org>
|
|
94
|
+
trap "rm -rf $TMP_DIRECTORY" EXIT INT QUIT TERM
|
|
95
|
+
|
|
96
|
+
rm -rf config.log
|
|
97
|
+
|
|
98
|
+
config_host_mak="config-host.mak"
|
|
99
|
+
config_host_h="config-host.h"
|
|
100
|
+
|
|
101
|
+
rm -rf $config_host_mak
|
|
102
|
+
rm -rf $config_host_h
|
|
103
|
+
|
|
104
|
+
fatal() {
|
|
105
|
+
echo $@
|
|
106
|
+
echo "Configure failed, check config.log and/or the above output"
|
|
107
|
+
rm -rf $config_host_mak
|
|
108
|
+
rm -rf $config_host_h
|
|
109
|
+
exit 1
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
# Print result for each configuration test
|
|
113
|
+
print_config() {
|
|
114
|
+
printf "%-30s%s\n" "$1" "$2"
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
# Default CFLAGS
|
|
118
|
+
CFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -include config-host.h"
|
|
119
|
+
BUILD_CFLAGS=""
|
|
120
|
+
|
|
121
|
+
# Print configure header at the top of $config_host_h
|
|
122
|
+
echo "/*" > $config_host_h
|
|
123
|
+
echo " * Automatically generated by configure - do not modify" >> $config_host_h
|
|
124
|
+
printf " * Configured with:" >> $config_host_h
|
|
125
|
+
printf " * '%s'" "$0" "$@" >> $config_host_h
|
|
126
|
+
echo "" >> $config_host_h
|
|
127
|
+
echo " */" >> $config_host_h
|
|
128
|
+
|
|
129
|
+
echo "# Automatically generated by configure - do not modify" > $config_host_mak
|
|
130
|
+
printf "# Configured with:" >> $config_host_mak
|
|
131
|
+
printf " '%s'" "$0" "$@" >> $config_host_mak
|
|
132
|
+
echo >> $config_host_mak
|
|
133
|
+
|
|
134
|
+
do_cxx() {
|
|
135
|
+
# Run the compiler, capturing its output to the log.
|
|
136
|
+
echo $cxx "$@" >> config.log
|
|
137
|
+
$cxx "$@" >> config.log 2>&1 || return $?
|
|
138
|
+
return 0
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
do_cc() {
|
|
142
|
+
# Run the compiler, capturing its output to the log.
|
|
143
|
+
echo $cc "$@" >> config.log
|
|
144
|
+
$cc "$@" >> config.log 2>&1 || return $?
|
|
145
|
+
# Test passed. If this is an --enable-werror build, rerun
|
|
146
|
+
# the test with -Werror and bail out if it fails. This
|
|
147
|
+
# makes warning-generating-errors in configure test code
|
|
148
|
+
# obvious to developers.
|
|
149
|
+
if test "$werror" != "yes"; then
|
|
150
|
+
return 0
|
|
151
|
+
fi
|
|
152
|
+
# Don't bother rerunning the compile if we were already using -Werror
|
|
153
|
+
case "$*" in
|
|
154
|
+
*-Werror*)
|
|
155
|
+
return 0
|
|
156
|
+
;;
|
|
157
|
+
esac
|
|
158
|
+
echo $cc -Werror "$@" >> config.log
|
|
159
|
+
$cc -Werror "$@" >> config.log 2>&1 && return $?
|
|
160
|
+
echo "ERROR: configure test passed without -Werror but failed with -Werror."
|
|
161
|
+
echo "This is probably a bug in the configure script. The failing command"
|
|
162
|
+
echo "will be at the bottom of config.log."
|
|
163
|
+
fatal "You can run configure with --disable-werror to bypass this check."
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
compile_prog() {
|
|
167
|
+
local_cflags="$1"
|
|
168
|
+
local_ldflags="$2 $LIBS"
|
|
169
|
+
echo "Compiling test case $3" >> config.log
|
|
170
|
+
do_cc $CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
compile_prog_cxx() {
|
|
174
|
+
local_cflags="$1"
|
|
175
|
+
local_ldflags="$2 $LIBS"
|
|
176
|
+
echo "Compiling test case $3" >> config.log
|
|
177
|
+
do_cxx $CFLAGS $local_cflags -o $TMPE $TMPCXX $LDFLAGS $local_ldflags
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
has() {
|
|
181
|
+
type "$1" >/dev/null 2>&1
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
output_mak() {
|
|
185
|
+
echo "$1=$2" >> $config_host_mak
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
output_sym() {
|
|
189
|
+
output_mak "$1" "y"
|
|
190
|
+
echo "#define $1" >> $config_host_h
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
print_and_output_mak() {
|
|
194
|
+
print_config "$1" "$2"
|
|
195
|
+
output_mak "$1" "$2"
|
|
196
|
+
}
|
|
197
|
+
print_and_output_mak "prefix" "$prefix"
|
|
198
|
+
print_and_output_mak "includedir" "$includedir"
|
|
199
|
+
print_and_output_mak "libdir" "$libdir"
|
|
200
|
+
print_and_output_mak "libdevdir" "$libdevdir"
|
|
201
|
+
print_and_output_mak "relativelibdir" "$relativelibdir"
|
|
202
|
+
print_and_output_mak "mandir" "$mandir"
|
|
203
|
+
print_and_output_mak "datadir" "$datadir"
|
|
204
|
+
|
|
205
|
+
####################################################
|
|
206
|
+
# Check for correct compiler runtime library to link with
|
|
207
|
+
libgcc_link_flag="-lgcc"
|
|
208
|
+
if $cc -print-libgcc-file-name >/dev/null 2>&1; then
|
|
209
|
+
libgcc_link_flag="$($cc $CFLAGS $LDFLAGS -print-libgcc-file-name)"
|
|
210
|
+
fi
|
|
211
|
+
print_and_output_mak "libgcc_link_flag" "$libgcc_link_flag"
|
|
212
|
+
####################################################
|
|
213
|
+
|
|
214
|
+
##########################################
|
|
215
|
+
# check for compiler -Wstringop-overflow
|
|
216
|
+
stringop_overflow="no"
|
|
217
|
+
cat > $TMPC << EOF
|
|
218
|
+
#include <linux/fs.h>
|
|
219
|
+
int main(int argc, char **argv)
|
|
220
|
+
{
|
|
221
|
+
return 0;
|
|
222
|
+
}
|
|
223
|
+
EOF
|
|
224
|
+
if compile_prog "-Werror -Wstringop-overflow=0" "" "stringop_overflow"; then
|
|
225
|
+
stringop_overflow="yes"
|
|
226
|
+
fi
|
|
227
|
+
print_config "stringop_overflow" "$stringop_overflow"
|
|
228
|
+
|
|
229
|
+
##########################################
|
|
230
|
+
# check for compiler -Warryr-bounds
|
|
231
|
+
array_bounds="no"
|
|
232
|
+
cat > $TMPC << EOF
|
|
233
|
+
#include <linux/fs.h>
|
|
234
|
+
int main(int argc, char **argv)
|
|
235
|
+
{
|
|
236
|
+
return 0;
|
|
237
|
+
}
|
|
238
|
+
EOF
|
|
239
|
+
if compile_prog "-Werror -Warray-bounds=0" "" "array_bounds"; then
|
|
240
|
+
array_bounds="yes"
|
|
241
|
+
fi
|
|
242
|
+
print_config "array_bounds" "$array_bounds"
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
##########################################
|
|
246
|
+
# check for __kernel_rwf_t
|
|
247
|
+
__kernel_rwf_t="no"
|
|
248
|
+
cat > $TMPC << EOF
|
|
249
|
+
#include <linux/fs.h>
|
|
250
|
+
int main(int argc, char **argv)
|
|
251
|
+
{
|
|
252
|
+
__kernel_rwf_t x;
|
|
253
|
+
x = 0;
|
|
254
|
+
return x;
|
|
255
|
+
}
|
|
256
|
+
EOF
|
|
257
|
+
if compile_prog "" "" "__kernel_rwf_t"; then
|
|
258
|
+
__kernel_rwf_t="yes"
|
|
259
|
+
fi
|
|
260
|
+
print_config "__kernel_rwf_t" "$__kernel_rwf_t"
|
|
261
|
+
|
|
262
|
+
##########################################
|
|
263
|
+
# check for __kernel_timespec
|
|
264
|
+
__kernel_timespec="no"
|
|
265
|
+
cat > $TMPC << EOF
|
|
266
|
+
#include <linux/time.h>
|
|
267
|
+
#include <linux/time_types.h>
|
|
268
|
+
int main(int argc, char **argv)
|
|
269
|
+
{
|
|
270
|
+
struct __kernel_timespec ts;
|
|
271
|
+
ts.tv_sec = 0;
|
|
272
|
+
ts.tv_nsec = 1;
|
|
273
|
+
return 0;
|
|
274
|
+
}
|
|
275
|
+
EOF
|
|
276
|
+
if compile_prog "" "" "__kernel_timespec"; then
|
|
277
|
+
__kernel_timespec="yes"
|
|
278
|
+
fi
|
|
279
|
+
print_config "__kernel_timespec" "$__kernel_timespec"
|
|
280
|
+
|
|
281
|
+
##########################################
|
|
282
|
+
# check for open_how
|
|
283
|
+
open_how="no"
|
|
284
|
+
cat > $TMPC << EOF
|
|
285
|
+
#include <sys/types.h>
|
|
286
|
+
#include <fcntl.h>
|
|
287
|
+
#include <string.h>
|
|
288
|
+
#include <linux/openat2.h>
|
|
289
|
+
int main(int argc, char **argv)
|
|
290
|
+
{
|
|
291
|
+
struct open_how how;
|
|
292
|
+
how.flags = 0;
|
|
293
|
+
how.mode = 0;
|
|
294
|
+
how.resolve = 0;
|
|
295
|
+
return 0;
|
|
296
|
+
}
|
|
297
|
+
EOF
|
|
298
|
+
if compile_prog "" "" "open_how"; then
|
|
299
|
+
open_how="yes"
|
|
300
|
+
fi
|
|
301
|
+
print_config "open_how" "$open_how"
|
|
302
|
+
|
|
303
|
+
##########################################
|
|
304
|
+
# check for statx
|
|
305
|
+
statx="no"
|
|
306
|
+
cat > $TMPC << EOF
|
|
307
|
+
#include <sys/types.h>
|
|
308
|
+
#include <sys/stat.h>
|
|
309
|
+
#include <unistd.h>
|
|
310
|
+
#include <fcntl.h>
|
|
311
|
+
#include <string.h>
|
|
312
|
+
int main(int argc, char **argv)
|
|
313
|
+
{
|
|
314
|
+
struct statx x;
|
|
315
|
+
|
|
316
|
+
return memset(&x, 0, sizeof(x)) != NULL;
|
|
317
|
+
}
|
|
318
|
+
EOF
|
|
319
|
+
if compile_prog "" "" "statx"; then
|
|
320
|
+
statx="yes"
|
|
321
|
+
fi
|
|
322
|
+
print_config "statx" "$statx"
|
|
323
|
+
|
|
324
|
+
##########################################
|
|
325
|
+
# check for glibc statx
|
|
326
|
+
glibc_statx="no"
|
|
327
|
+
cat > $TMPC << EOF
|
|
328
|
+
#include <sys/types.h>
|
|
329
|
+
#include <unistd.h>
|
|
330
|
+
#include <fcntl.h>
|
|
331
|
+
#include <string.h>
|
|
332
|
+
#include <sys/stat.h>
|
|
333
|
+
int main(int argc, char **argv)
|
|
334
|
+
{
|
|
335
|
+
struct statx x;
|
|
336
|
+
|
|
337
|
+
return memset(&x, 0, sizeof(x)) != NULL;
|
|
338
|
+
}
|
|
339
|
+
EOF
|
|
340
|
+
if compile_prog "" "" "glibc_statx"; then
|
|
341
|
+
glibc_statx="yes"
|
|
342
|
+
fi
|
|
343
|
+
print_config "glibc_statx" "$glibc_statx"
|
|
344
|
+
|
|
345
|
+
##########################################
|
|
346
|
+
# check for C++
|
|
347
|
+
has_cxx="no"
|
|
348
|
+
cat > $TMPCXX << EOF
|
|
349
|
+
#include <iostream>
|
|
350
|
+
int main(int argc, char **argv)
|
|
351
|
+
{
|
|
352
|
+
std::cout << "Test";
|
|
353
|
+
return 0;
|
|
354
|
+
}
|
|
355
|
+
EOF
|
|
356
|
+
if compile_prog_cxx "" "" "C++"; then
|
|
357
|
+
has_cxx="yes"
|
|
358
|
+
fi
|
|
359
|
+
print_config "C++" "$has_cxx"
|
|
360
|
+
|
|
361
|
+
##########################################
|
|
362
|
+
# check for ucontext support
|
|
363
|
+
has_ucontext="no"
|
|
364
|
+
cat > $TMPC << EOF
|
|
365
|
+
#include <ucontext.h>
|
|
366
|
+
int main(int argc, char **argv)
|
|
367
|
+
{
|
|
368
|
+
ucontext_t ctx;
|
|
369
|
+
getcontext(&ctx);
|
|
370
|
+
makecontext(&ctx, 0, 0);
|
|
371
|
+
return 0;
|
|
372
|
+
}
|
|
373
|
+
EOF
|
|
374
|
+
if compile_prog "" "" "has_ucontext"; then
|
|
375
|
+
has_ucontext="yes"
|
|
376
|
+
fi
|
|
377
|
+
print_config "has_ucontext" "$has_ucontext"
|
|
378
|
+
|
|
379
|
+
##########################################
|
|
380
|
+
# Check NVME_URING_CMD support
|
|
381
|
+
nvme_uring_cmd="no"
|
|
382
|
+
cat > $TMPC << EOF
|
|
383
|
+
#include <linux/nvme_ioctl.h>
|
|
384
|
+
int main(void)
|
|
385
|
+
{
|
|
386
|
+
struct nvme_uring_cmd *cmd;
|
|
387
|
+
|
|
388
|
+
return sizeof(struct nvme_uring_cmd);
|
|
389
|
+
}
|
|
390
|
+
EOF
|
|
391
|
+
if compile_prog "" "" "nvme uring cmd"; then
|
|
392
|
+
nvme_uring_cmd="yes"
|
|
393
|
+
fi
|
|
394
|
+
print_config "NVMe uring command support" "$nvme_uring_cmd"
|
|
395
|
+
|
|
396
|
+
##########################################
|
|
397
|
+
# Check futexv support
|
|
398
|
+
futexv="no"
|
|
399
|
+
cat > $TMPC << EOF
|
|
400
|
+
#include <linux/futex.h>
|
|
401
|
+
#include <unistd.h>
|
|
402
|
+
#include <string.h>
|
|
403
|
+
int main(void)
|
|
404
|
+
{
|
|
405
|
+
struct futex_waitv fw;
|
|
406
|
+
|
|
407
|
+
memset(&fw, FUTEX_32, sizeof(fw));
|
|
408
|
+
|
|
409
|
+
return sizeof(struct futex_waitv);
|
|
410
|
+
}
|
|
411
|
+
EOF
|
|
412
|
+
if compile_prog "" "" "futexv"; then
|
|
413
|
+
futexv="yes"
|
|
414
|
+
fi
|
|
415
|
+
print_config "futex waitv support" "$futexv"
|
|
416
|
+
|
|
417
|
+
##########################################
|
|
418
|
+
# Check idtype_t support
|
|
419
|
+
has_idtype_t="no"
|
|
420
|
+
cat > $TMPC << EOF
|
|
421
|
+
#include <sys/wait.h>
|
|
422
|
+
int main(void)
|
|
423
|
+
{
|
|
424
|
+
idtype_t v;
|
|
425
|
+
return 0;
|
|
426
|
+
}
|
|
427
|
+
EOF
|
|
428
|
+
if compile_prog "" "" "idtype_t"; then
|
|
429
|
+
has_idtype_t="yes"
|
|
430
|
+
fi
|
|
431
|
+
print_config "has_idtype_t" "$has_idtype_t"
|
|
432
|
+
|
|
433
|
+
#############################################################################
|
|
434
|
+
liburing_nolibc="no"
|
|
435
|
+
if test "$use_libc" != "yes"; then
|
|
436
|
+
|
|
437
|
+
#
|
|
438
|
+
# Currently, CONFIG_NOLIBC only supports x86-64, x86 (32-bit), aarch64 and riscv64.
|
|
439
|
+
#
|
|
440
|
+
cat > $TMPC << EOF
|
|
441
|
+
int main(void){
|
|
442
|
+
#if defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) || (defined(__riscv) && __riscv_xlen == 64)
|
|
443
|
+
return 0;
|
|
444
|
+
#else
|
|
445
|
+
#error libc is needed
|
|
446
|
+
#endif
|
|
447
|
+
}
|
|
448
|
+
EOF
|
|
449
|
+
|
|
450
|
+
if compile_prog "" "" "nolibc"; then
|
|
451
|
+
liburing_nolibc="yes"
|
|
452
|
+
fi
|
|
453
|
+
fi
|
|
454
|
+
|
|
455
|
+
print_config "nolibc" "$liburing_nolibc";
|
|
456
|
+
#############################################################################
|
|
457
|
+
|
|
458
|
+
####################################################
|
|
459
|
+
# Most Android devices don't have sys/fanotify.h
|
|
460
|
+
has_fanotify="no"
|
|
461
|
+
cat > $TMPC << EOF
|
|
462
|
+
#include <sys/fanotify.h>
|
|
463
|
+
int main(void)
|
|
464
|
+
{
|
|
465
|
+
return 0;
|
|
466
|
+
}
|
|
467
|
+
EOF
|
|
468
|
+
if compile_prog "" "" "fanotify"; then
|
|
469
|
+
has_fanotify="yes"
|
|
470
|
+
fi
|
|
471
|
+
print_config "has_fanotify" "$has_fanotify"
|
|
472
|
+
####################################################
|
|
473
|
+
|
|
474
|
+
if test "$liburing_nolibc" = "yes"; then
|
|
475
|
+
output_sym "CONFIG_NOLIBC"
|
|
476
|
+
fi
|
|
477
|
+
if test "$__kernel_rwf_t" = "yes"; then
|
|
478
|
+
output_sym "CONFIG_HAVE_KERNEL_RWF_T"
|
|
479
|
+
fi
|
|
480
|
+
if test "$__kernel_timespec" = "yes"; then
|
|
481
|
+
output_sym "CONFIG_HAVE_KERNEL_TIMESPEC"
|
|
482
|
+
fi
|
|
483
|
+
if test "$open_how" = "yes"; then
|
|
484
|
+
output_sym "CONFIG_HAVE_OPEN_HOW"
|
|
485
|
+
fi
|
|
486
|
+
if test "$statx" = "yes"; then
|
|
487
|
+
output_sym "CONFIG_HAVE_STATX"
|
|
488
|
+
fi
|
|
489
|
+
if test "$glibc_statx" = "yes"; then
|
|
490
|
+
output_sym "CONFIG_HAVE_GLIBC_STATX"
|
|
491
|
+
fi
|
|
492
|
+
if test "$has_cxx" = "yes"; then
|
|
493
|
+
output_sym "CONFIG_HAVE_CXX"
|
|
494
|
+
fi
|
|
495
|
+
if test "$has_ucontext" = "yes"; then
|
|
496
|
+
output_sym "CONFIG_HAVE_UCONTEXT"
|
|
497
|
+
fi
|
|
498
|
+
if test "$stringop_overflow" = "yes"; then
|
|
499
|
+
output_sym "CONFIG_HAVE_STRINGOP_OVERFLOW"
|
|
500
|
+
fi
|
|
501
|
+
if test "$array_bounds" = "yes"; then
|
|
502
|
+
output_sym "CONFIG_HAVE_ARRAY_BOUNDS"
|
|
503
|
+
fi
|
|
504
|
+
if test "$nvme_uring_cmd" = "yes"; then
|
|
505
|
+
output_sym "CONFIG_HAVE_NVME_URING"
|
|
506
|
+
fi
|
|
507
|
+
if test "$has_fanotify" = "yes"; then
|
|
508
|
+
output_sym "CONFIG_HAVE_FANOTIFY"
|
|
509
|
+
fi
|
|
510
|
+
if test "$futexv" = "yes"; then
|
|
511
|
+
output_sym "CONFIG_HAVE_FUTEXV"
|
|
512
|
+
fi
|
|
513
|
+
|
|
514
|
+
echo "CC=$cc" >> $config_host_mak
|
|
515
|
+
print_config "CC" "$cc"
|
|
516
|
+
echo "CXX=$cxx" >> $config_host_mak
|
|
517
|
+
print_config "CXX" "$cxx"
|
|
518
|
+
|
|
519
|
+
# generate io_uring_version.h
|
|
520
|
+
# Reset MAKEFLAGS
|
|
521
|
+
MAKEFLAGS=
|
|
522
|
+
MAKE_PRINT_VARS="include Makefile.common\nprint-%%: ; @echo \$(\$*)\n"
|
|
523
|
+
VERSION_MAJOR=$(printf "$MAKE_PRINT_VARS" | make -s --no-print-directory -f - print-VERSION_MAJOR)
|
|
524
|
+
VERSION_MINOR=$(printf "$MAKE_PRINT_VARS" | make -s --no-print-directory -f - print-VERSION_MINOR)
|
|
525
|
+
io_uring_version_h="src/include/liburing/io_uring_version.h"
|
|
526
|
+
cat > $io_uring_version_h << EOF
|
|
527
|
+
/* SPDX-License-Identifier: MIT */
|
|
528
|
+
#ifndef LIBURING_VERSION_H
|
|
529
|
+
#define LIBURING_VERSION_H
|
|
530
|
+
|
|
531
|
+
#define IO_URING_VERSION_MAJOR $VERSION_MAJOR
|
|
532
|
+
#define IO_URING_VERSION_MINOR $VERSION_MINOR
|
|
533
|
+
|
|
534
|
+
#endif
|
|
535
|
+
EOF
|
|
536
|
+
|
|
537
|
+
# generate compat.h
|
|
538
|
+
compat_h="src/include/liburing/compat.h"
|
|
539
|
+
cat > $compat_h << EOF
|
|
540
|
+
/* SPDX-License-Identifier: MIT */
|
|
541
|
+
#ifndef LIBURING_COMPAT_H
|
|
542
|
+
#define LIBURING_COMPAT_H
|
|
543
|
+
|
|
544
|
+
EOF
|
|
545
|
+
|
|
546
|
+
if test "$__kernel_rwf_t" != "yes"; then
|
|
547
|
+
cat >> $compat_h << EOF
|
|
548
|
+
typedef int __kernel_rwf_t;
|
|
549
|
+
|
|
550
|
+
EOF
|
|
551
|
+
fi
|
|
552
|
+
if test "$__kernel_timespec" != "yes"; then
|
|
553
|
+
cat >> $compat_h << EOF
|
|
554
|
+
#include <stdint.h>
|
|
555
|
+
|
|
556
|
+
struct __kernel_timespec {
|
|
557
|
+
int64_t tv_sec;
|
|
558
|
+
long long tv_nsec;
|
|
559
|
+
};
|
|
560
|
+
|
|
561
|
+
/* <linux/time_types.h> is not available, so it can't be included */
|
|
562
|
+
#define UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H 1
|
|
563
|
+
|
|
564
|
+
EOF
|
|
565
|
+
else
|
|
566
|
+
cat >> $compat_h << EOF
|
|
567
|
+
#include <linux/time_types.h>
|
|
568
|
+
/* <linux/time_types.h> is included above and not needed again */
|
|
569
|
+
#define UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H 1
|
|
570
|
+
|
|
571
|
+
EOF
|
|
572
|
+
fi
|
|
573
|
+
if test "$open_how" != "yes"; then
|
|
574
|
+
cat >> $compat_h << EOF
|
|
575
|
+
#include <inttypes.h>
|
|
576
|
+
|
|
577
|
+
struct open_how {
|
|
578
|
+
uint64_t flags;
|
|
579
|
+
uint64_t mode;
|
|
580
|
+
uint64_t resolve;
|
|
581
|
+
};
|
|
582
|
+
|
|
583
|
+
EOF
|
|
584
|
+
else cat >> $compat_h << EOF
|
|
585
|
+
#include <linux/openat2.h>
|
|
586
|
+
|
|
587
|
+
EOF
|
|
588
|
+
fi
|
|
589
|
+
if [ "$glibc_statx" = "no" ] && [ "$statx" = "yes" ]; then
|
|
590
|
+
cat >> $compat_h << EOF
|
|
591
|
+
#include <sys/stat.h>
|
|
592
|
+
|
|
593
|
+
EOF
|
|
594
|
+
fi
|
|
595
|
+
if test "$futexv" != "yes"; then
|
|
596
|
+
cat >> $compat_h << EOF
|
|
597
|
+
#include <inttypes.h>
|
|
598
|
+
|
|
599
|
+
#define FUTEX_32 2
|
|
600
|
+
#define FUTEX_WAITV_MAX 128
|
|
601
|
+
|
|
602
|
+
struct futex_waitv {
|
|
603
|
+
uint64_t val;
|
|
604
|
+
uint64_t uaddr;
|
|
605
|
+
uint32_t flags;
|
|
606
|
+
uint32_t __reserved;
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
EOF
|
|
610
|
+
fi
|
|
611
|
+
|
|
612
|
+
if test "$has_idtype_t" != "yes"; then
|
|
613
|
+
cat >> $compat_h << EOF
|
|
614
|
+
typedef enum
|
|
615
|
+
{
|
|
616
|
+
P_ALL, /* Wait for any child. */
|
|
617
|
+
P_PID, /* Wait for specified process. */
|
|
618
|
+
P_PGID /* Wait for members of process group. */
|
|
619
|
+
} idtype_t;
|
|
620
|
+
EOF
|
|
621
|
+
fi
|
|
622
|
+
cat >> $compat_h << EOF
|
|
623
|
+
#endif
|
|
624
|
+
EOF
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
liburing (2.2-1) stable; urgency=low
|
|
2
|
+
|
|
3
|
+
* Update to 2.2
|
|
4
|
+
* Bump up so version to 2
|
|
5
|
+
* Drop liburing1-udeb
|
|
6
|
+
* Package using dh instead of using dh_* helpers manually
|
|
7
|
+
* Add linux header dependency to liburing-dev
|
|
8
|
+
* Bump up debhelper-compact level to 13
|
|
9
|
+
|
|
10
|
+
-- Kefu Chai <tchaikov@gmail.com> Sun, 16 Oct 2022 16:30:48 +0800
|
|
11
|
+
|
|
12
|
+
liburing (0.7-1) stable; urgency=low
|
|
13
|
+
|
|
14
|
+
* Update to 0.7
|
|
15
|
+
* Fix library symlinks
|
|
16
|
+
|
|
17
|
+
-- Stefan Metzmacher <metze@samba.org> Thu, 23 Jul 2020 00:23:00 +0200
|
|
18
|
+
|
|
19
|
+
liburing (0.4-2) stable; urgency=low
|
|
20
|
+
|
|
21
|
+
* Fix /usr/lib/*/liburing.so symlink to /lib/*/liburing.so.1.0.4
|
|
22
|
+
|
|
23
|
+
-- Stefan Metzmacher <metze@samba.org> Fri, 07 Feb 2020 15:30:00 +0100
|
|
24
|
+
|
|
25
|
+
liburing (0.4-1) stable; urgency=low
|
|
26
|
+
|
|
27
|
+
* Package liburing-0.4 using a packaging layout similar to libaio1
|
|
28
|
+
|
|
29
|
+
-- Stefan Metzmacher <metze@samba.org> Thu, 06 Feb 2020 11:30:00 +0100
|
|
30
|
+
|
|
31
|
+
liburing (0.2-1ubuntu1) stable; urgency=low
|
|
32
|
+
|
|
33
|
+
* Initial release.
|
|
34
|
+
* commit 4bce856d43ab1f9a64477aa5a8f9f02f53e64b74
|
|
35
|
+
* Author: Jens Axboe <axboe@kernel.dk>
|
|
36
|
+
* Date: Mon Nov 11 16:00:58 2019 -0700
|
|
37
|
+
|
|
38
|
+
-- Liu Changcheng <changcheng.liu@aliyun.com> Fri, 15 Nov 2019 00:06:46 +0800
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Source: liburing
|
|
2
|
+
Section: libs
|
|
3
|
+
Priority: optional
|
|
4
|
+
Maintainer: Liu Changcheng <changcheng.liu@intel.com>
|
|
5
|
+
Build-Depends:
|
|
6
|
+
debhelper-compat (= 13)
|
|
7
|
+
Standards-Version: 4.1.4
|
|
8
|
+
Homepage: https://git.kernel.dk/cgit/liburing/tree/README
|
|
9
|
+
Vcs-Git: https://git.kernel.dk/liburing
|
|
10
|
+
Vcs-Browser: https://git.kernel.dk/cgit/liburing/
|
|
11
|
+
|
|
12
|
+
Package: liburing2
|
|
13
|
+
Architecture: linux-any
|
|
14
|
+
Multi-Arch: same
|
|
15
|
+
Pre-Depends: ${misc:Pre-Depends}
|
|
16
|
+
Depends: ${misc:Depends}, ${shlibs:Depends}
|
|
17
|
+
Description: userspace library for using io_uring
|
|
18
|
+
io_uring is kernel feature to improve development
|
|
19
|
+
The newese Linux IO interface, io_uring could improve
|
|
20
|
+
system performance a lot. liburing is the userspace
|
|
21
|
+
library to use io_uring feature.
|
|
22
|
+
.
|
|
23
|
+
This package contains the shared library.
|
|
24
|
+
|
|
25
|
+
Package: liburing-dev
|
|
26
|
+
Section: libdevel
|
|
27
|
+
Architecture: linux-any
|
|
28
|
+
Multi-Arch: same
|
|
29
|
+
Depends:
|
|
30
|
+
${misc:Depends},
|
|
31
|
+
liburing2 (= ${binary:Version}),
|
|
32
|
+
linux-libc-dev (>= 5.1)
|
|
33
|
+
Description: userspace library for using io_uring
|
|
34
|
+
io_uring is kernel feature to improve development
|
|
35
|
+
The newese Linux IO interface, io_uring could improve
|
|
36
|
+
system performance a lot. liburing is the userspace
|
|
37
|
+
library to use io_uring feature.
|
|
38
|
+
.
|
|
39
|
+
This package contains the static library and the header files.
|