From: Christian Brauner Date: Thu, 28 Oct 2021 15:07:27 +0000 (+0200) Subject: build: add io-uring-event-loop option X-Git-Tag: lxc-4.0.12~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9219277cc6627654adf03628b84d15eb0a545138;p=thirdparty%2Flxc.git build: add io-uring-event-loop option Signed-off-by: Christian Brauner --- diff --git a/meson.build b/meson.build index bef89f452..a4125962f 100644 --- a/meson.build +++ b/meson.build @@ -59,6 +59,7 @@ logpath = get_option('log-path') lxcpathprefix = get_option('config-path') rootfsmount = get_option('rootfs-mount-dir') runtimepath = join_paths(prefixdir, get_option('runtime-path')) +wants_io_uring = get_option('io-uring-event-loop') conf.set_quoted('BINDIR', bindir) conf.set_quoted('DATADIR', datadir) @@ -279,6 +280,11 @@ foreach ident : [ conf.set10('HAVE_' + ident[0].to_upper(), have) endforeach +if wants_io_uring == true + liburing = dependency('liburing') + conf.set10('HAVE_LIBURING', liburing.found()) +endif + sh = find_program('sh') git = find_program('git', required : false) time_epoch = run_command(sh, '-c', 'echo "$SOURCE_DATE_EPOCH"').stdout().strip() @@ -383,6 +389,17 @@ subdir('src/include') subdir('src/lxc/tools/include') subdir('src/lxc') +liblxc_dependencies = [threads, + libseccomp, + libcap, + libopenssl, + libselinux, + libapparmor] + +if wants_io_uring == true + liblxc_dependencies += [liburing] +endif + liblxc = shared_library( 'lxc', version : liblxc_version, @@ -390,22 +407,12 @@ liblxc = shared_library( link_args : ['-DPIC'], c_args : ['-DPIC'], link_whole : [liblxc_static], - dependencies : [threads, - libseccomp, - libcap, - libopenssl, - libselinux, - libapparmor], + dependencies: liblxc_dependencies, install : true) liblxc_dep = declare_dependency( link_with: liblxc, - dependencies : [threads, - libseccomp, - libcap, - libopenssl, - libselinux, - libapparmor]) + dependencies: liblxc_dependencies) dummy_config_data = configuration_data() dummy_config_data.set_quoted('DUMMY_VARIABLE', '1') @@ -543,6 +550,7 @@ foreach tuple : [ ['libcap'], ['static libcap'], ['openssl'], + ['liburing'], ] if tuple.length() >= 2 diff --git a/meson_options.txt b/meson_options.txt index 0989055df..ac1e05032 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -36,3 +36,6 @@ option('user-network-conf', type : 'string', value : 'lxc/lxc-usernet', option('user-network-db', type : 'string', value : 'lxc/nics', description : 'user network database') + +option('io-uring-event-loop', type : 'boolean', value: 'false', + description : 'enable io-uring based event loop')