io/uring: basic Linux io_uring support

This commit is contained in:
Max Kellermann
2020-05-05 14:28:15 +02:00
parent 935e622915
commit 62d0ceabcc
11 changed files with 638 additions and 0 deletions

36
src/io/uring/meson.build Normal file
View File

@@ -0,0 +1,36 @@
uring_features = configuration_data()
if host_machine.system() != 'linux'
uring_dep = dependency('', required: false)
uring_features.set('HAVE_URING', false)
configure_file(output: 'Features.h', configuration: uring_features)
subdir_done()
endif
liburing = dependency('liburing', required: get_option('io_uring'))
uring_features.set('HAVE_URING', liburing.found())
configure_file(output: 'Features.h', configuration: uring_features)
if not liburing.found()
uring_dep = dependency('', required: false)
subdir_done()
endif
uring = static_library(
'uring',
'Ring.cxx',
'Queue.cxx',
'Operation.cxx',
include_directories: inc,
dependencies: [
liburing,
],
)
uring_dep = declare_dependency(
link_with: uring,
dependencies: [
liburing,
io_dep,
],
)