]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
meson: Skip static library when using sanitizer
authorStéphane Graber <stgraber@ubuntu.com>
Mon, 6 Jun 2022 22:06:09 +0000 (18:06 -0400)
committerStéphane Graber <stgraber@ubuntu.com>
Tue, 7 Jun 2022 21:18:04 +0000 (17:18 -0400)
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
meson.build
src/lxc/cmd/meson.build
src/lxc/meson.build

index 32bd460305165fe39ee34882cf08d939bd914c3e..58736f17ca83a77b67e19aeeeb4bdca54681dcfe 100644 (file)
@@ -130,6 +130,7 @@ endif
 cgrouppattern = get_option('cgroup-pattern')
 coverity = get_option('coverity-build')
 init_script = get_option('init-script')
+sanitize = get_option('b_sanitize')
 want_examples = get_option('examples')
 want_io_uring = get_option('io-uring-event-loop')
 want_pam_cgroup = get_option('pam-cgroup')
@@ -624,13 +625,18 @@ if want_io_uring
     liblxc_dependencies += [liburing]
 endif
 
+liblxc_link_whole = []
+if sanitize == 'none'
+    liblxc_link_whole = [liblxc_static]
+endif
+
 liblxc = shared_library(
     'lxc',
     version: liblxc_version,
     include_directories: liblxc_includes,
     link_args: ['-DPIC'],
     c_args: ['-DPIC'],
-    link_whole: [liblxc_static],
+    link_whole: liblxc_link_whole,
     dependencies: liblxc_dependencies,
     install: true)
 
index 8bbda8395b2d29019b88835e76c270f05edf07cd..123d238adf162353e4eeae8477b4fb9058724d71 100644 (file)
@@ -156,16 +156,18 @@ cmd_lxc_update_config = configure_file(
     output: 'lxc-update-config')
 install_data(join_paths(project_build_root, 'src/lxc/cmd/lxc-update-config'), install_dir: bindir)
 
-cmd_programs += executable(
-    'init.lxc.static',
-    cmd_lxc_init_sources,
-    include_directories: liblxc_includes,
-    link_with: [liblxc_static],
-    link_args: ['-static'],
-    c_args: ['-DNO_LXC_CONF'],
-    dependencies: [libcap_static],
-    install_dir: sbindir,
-    install: true)
+if sanitize == 'none'
+    cmd_programs += executable(
+        'init.lxc.static',
+        cmd_lxc_init_sources,
+        include_directories: liblxc_includes,
+        link_with: [liblxc_static],
+        link_args: ['-static'],
+        c_args: ['-DNO_LXC_CONF'],
+        dependencies: [libcap_static],
+        install_dir: sbindir,
+        install: true)
+endif
 
 cmd_programs += executable(
     'init.lxc',
index 2f47b76b11302277267da5c76bbacb6c52928a52..29d640ff94c2ff5959e72cf9f5940e362e85184d 100644 (file)
@@ -141,13 +141,15 @@ liblxc_sources = files(
     'uuid.c',
     'uuid.h')
 
-liblxc_static = static_library(
-    'lxc_static',
-    liblxc_sources + include_sources + netns_ifaddrs_sources,
-    install: false,
-    include_directories: liblxc_includes,
-    dependencies: [threads],
-    c_args: '-fvisibility=default')
+if sanitize == 'none'
+    liblxc_static = static_library(
+        'lxc_static',
+        liblxc_sources + include_sources + netns_ifaddrs_sources,
+        install: true,
+        include_directories: liblxc_includes,
+        dependencies: [threads],
+        c_args: '-fvisibility=default')
+endif
 
 lxc_functions = configure_file(
     configuration: conf,