On 4/28/21 7:48 AM, Philippe Mathieu-Daudé wrote:
  seccomp = not_found
-if not get_option('seccomp').auto() or have_system or have_tools
+if not get_option('seccomp').auto() or have_system or have_tools or not 
get_option('virtiofsd').auto()
    seccomp = dependency('libseccomp', version: '>=2.3.0',
                         required: get_option('seccomp'),
                         method: 'pkg-config', kwargs: static_kwargs)

This construct is wrong, both before and after, as I read it.

not get_option(foo).auto() is true for both enabled and disabled. If disabled, why are we examining the dependency? If auto, if we have all of the dependencies we want to enable the feature -- if we don't probe for the dependency, how can we enable it?

This error seems to be offset by the OR have_* tests, for which the logic also seems off.

I think the test should have been

  if (have_system or have_tools) and
     (not get_option('seccomp').disabled() or
      not get_option('virtiofsd').disabled())

Then we need to combine the required: argument, probably like

  required: get_option('seccomp').enabled() or
            get_option('virtiofsd').enabled()


r~

Reply via email to