]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: libfido2 requires openssl
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 24 Sep 2022 22:33:52 +0000 (07:33 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 24 Sep 2022 22:53:06 +0000 (07:53 +0900)
Fixes compile error with -Dopenssl=false.
```
In file included from ../../home/watanabe/git/systemd/src/shared/pkcs11-util.h:12,
                 from ../../home/watanabe/git/systemd/src/cryptenroll/cryptenroll.c:24:
../../home/watanabe/git/systemd/src/shared/openssl-util.h:56:21: error: conflicting types for ‘X509’; have ‘struct X509’
   56 | typedef struct X509 X509;
      |                     ^~~~
In file included from /usr/include/openssl/crypto.h:25,
                 from /usr/include/openssl/bio.h:20,
                 from /usr/include/openssl/asn1.h:16,
                 from /usr/include/openssl/ec.h:17,
                 from /usr/include/fido.h:10,
                 from ../../home/watanabe/git/systemd/src/shared/libfido2-util.h:18,
                 from ../../home/watanabe/git/systemd/src/cryptenroll/cryptenroll-fido2.h:7,
                 from ../../home/watanabe/git/systemd/src/cryptenroll/cryptenroll.c:6:
/usr/include/openssl/ossl_typ.h:123:24: note: previous declaration of ‘X509’ with type ‘X509’ {aka ‘struct x509_st’}
  123 | typedef struct x509_st X509;
      |                        ^~~~
```

meson.build

index a20e94c55a53417c4fa26ab2f32c77baa782cbc4..4f193ce17b54cadc1e97d8554953ec6bc8e47251 100644 (file)
@@ -1440,9 +1440,16 @@ conf.set10('HAVE_P11KIT', have)
 
 want_libfido2 = get_option('libfido2')
 if want_libfido2 != 'false' and not skip_deps
-        libfido2 = dependency('libfido2',
-                              required : want_libfido2 == 'true')
-        have = libfido2.found()
+        if conf.get('HAVE_OPENSSL') == 1
+                libfido2 = dependency('libfido2',
+                                      required : want_libfido2 == 'true')
+                have = libfido2.found()
+        elif want_libfido2 == 'true'
+                error('libfido2=true requires openssl')
+        else
+                have = false
+                libfido2 = []
+        endif
 else
         have = false
         libfido2 = []