chiark / gitweb /
fuzz: disable all deps when building with oss-fuzz
authorJonathan Rudenberg <jonathan@titanous.com>
Mon, 15 Jan 2018 23:27:37 +0000 (18:27 -0500)
committerSven Eden <yamakuzure@gmx.net>
Wed, 30 May 2018 05:50:11 +0000 (07:50 +0200)
The fuzz targets are intended to be fast and only target systemd
code, so they don't need to call out to any dependencies. They also
shouldn't depend on shared libraries outside of libc, so we disable
every dependency when compiling against oss-fuzz. This also
simplifies the upstream build environment significantly.

meson.build

index 748438fdb1b9dd9235c6ebb785d9917f728a6b04..df23804190179041779aa1139af300d2f780c467 100644 (file)
@@ -901,10 +901,11 @@ endif
 
 #if 0 /// UNNEEDED by elogind
 # libmount = dependency('mount',
-#                       version : '>= 2.30')
+#                       version : '>= 2.30',
+#                       required : not ossfuzz)
 # 
 # want_seccomp = get_option('seccomp')
-# if want_seccomp != 'false'
+# if want_seccomp != 'false' and not ossfuzz
 #         libseccomp = dependency('libseccomp',
 #                                 version : '>= 2.3.1',
 #                                 required : want_seccomp == 'true')
@@ -920,7 +921,7 @@ conf.set10('HAVE_SECCOMP', have)
 m4_defines += have ? ['-DHAVE_SECCOMP'] : []
 
 want_selinux = get_option('selinux')
-if want_selinux != 'false'
+if want_selinux != 'false' and not ossfuzz
         libselinux = dependency('libselinux',
                                 version : '>= 2.1.9',
                                 required : want_selinux == 'true')
@@ -934,7 +935,7 @@ m4_defines += have ? ['-DHAVE_SELINUX'] : []
 
 #if 0 /// UNNEEDED by elogind
 # want_apparmor = get_option('apparmor')
-# if want_apparmor != 'false'
+# if want_apparmor != 'false' and not ossfuzz
 #         libapparmor = dependency('libapparmor',
 #                                  required : want_apparmor == 'true')
 #         have = libapparmor.found()
@@ -957,7 +958,7 @@ endif
 want_polkit = get_option('polkit')
 install_polkit = false
 install_polkit_pkla = false
-if want_polkit != 'false'
+if want_polkit != 'false' and not ossfuzz
         install_polkit = true
 
         libpolkit = dependency('polkit-gobject-1',
@@ -970,7 +971,7 @@ endif
 conf.set10('ENABLE_POLKIT', install_polkit)
 
 want_acl = get_option('acl')
-if want_acl != 'false'
+if want_acl != 'false' and not ossfuzz
         libacl = cc.find_library('acl', required : want_acl == 'true')
         have = libacl.found()
 else
@@ -981,7 +982,7 @@ conf.set10('HAVE_ACL', have)
 m4_defines += have ? ['-DHAVE_ACL'] : []
 
 want_audit = get_option('audit')
-if want_audit != 'false'
+if want_audit != 'false' and not ossfuzz
         libaudit = dependency('audit', required : want_audit == 'true')
         have = libaudit.found()
 else
@@ -992,7 +993,7 @@ conf.set10('HAVE_AUDIT', have)
 
 #if 0 /// UNNEEDED by elogind
 # want_blkid = get_option('blkid')
-# if want_blkid != 'false'
+# if want_blkid != 'false' and not ossfuzz
 #         libblkid = dependency('blkid', required : want_blkid == 'true')
 #         have = libblkid.found()
 # else
@@ -1002,7 +1003,7 @@ conf.set10('HAVE_AUDIT', have)
 # conf.set10('HAVE_BLKID', have)
 # 
 # want_kmod = get_option('kmod')
-# if want_kmod != 'false'
+# if want_kmod != 'false' and not ossfuzz
 #         libkmod = dependency('libkmod',
 #                              version : '>= 15',
 #                              required : want_kmod == 'true')
@@ -1018,7 +1019,7 @@ libkmod = []
 #endif // 0
 
 want_pam = get_option('pam')
-if want_pam != 'false'
+if want_pam != 'false' and not ossfuzz
         libpam = cc.find_library('pam', required : want_pam == 'true')
         libpam_misc = cc.find_library('pam_misc', required : want_pam == 'true')
         have = libpam.found() and libpam_misc.found()
@@ -1032,7 +1033,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 
 #if 0 /// UNNEEDED by elogind
 # want_microhttpd = get_option('microhttpd')
-# if want_microhttpd != 'false'
+# if want_microhttpd != 'false' and not ossfuzz
 #         libmicrohttpd = dependency('libmicrohttpd',
 #                                    version : '>= 0.9.33',
 #                                    required : want_microhttpd == 'true')
@@ -1045,7 +1046,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # m4_defines += have ? ['-DHAVE_MICROHTTPD'] : []
 # 
 # want_libcryptsetup = get_option('libcryptsetup')
-# if want_libcryptsetup != 'false'
+# if want_libcryptsetup != 'false' and not ossfuzz
 #         libcryptsetup = dependency('libcryptsetup',
 #                                    version : '>= 1.6.0',
 #                                    required : want_libcryptsetup == 'true')
@@ -1057,7 +1058,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_LIBCRYPTSETUP', have)
 # 
 # want_libcurl = get_option('libcurl')
-# if want_libcurl != 'false'
+# if want_libcurl != 'false' and not ossfuzz
 #         libcurl = dependency('libcurl',
 #                              version : '>= 7.32.0',
 #                              required : want_libcurl == 'true')
@@ -1075,7 +1076,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 #         error('libidn and libidn2 cannot be requested simultaneously')
 # endif
 # 
-# if want_libidn != 'false' and want_libidn2 != 'true'
+# if want_libidn != 'false' and want_libidn2 != 'true' and not ossfuzz
 #         libidn = dependency('libidn',
 #                             required : want_libidn == 'true')
 #         have = libidn.found()
@@ -1085,7 +1086,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # endif
 # conf.set10('HAVE_LIBIDN', have)
 # m4_defines += have ? ['-DHAVE_LIBIDN'] : []
-# if not have and want_libidn2 != 'false'
+# if not have and want_libidn2 != 'false' and not ossfuzz
 #         # libidn is used for both libidn and libidn2 objects
 #         libidn = dependency('libidn2',
 #                             required : want_libidn2 == 'true')
@@ -1097,7 +1098,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # m4_defines += have ? ['-DHAVE_LIBIDN2'] : []
 # 
 # want_libiptc = get_option('libiptc')
-# if want_libiptc != 'false'
+# if want_libiptc != 'false' and not ossfuzz
 #         libiptc = dependency('libiptc',
 #                              required : want_libiptc == 'true')
 #         have = libiptc.found()
@@ -1109,7 +1110,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # m4_defines += have ? ['-DHAVE_LIBIPTC'] : []
 # 
 # want_qrencode = get_option('qrencode')
-# if want_qrencode != 'false'
+# if want_qrencode != 'false' and not ossfuzz
 #         libqrencode = dependency('libqrencode',
 #                                  required : want_qrencode == 'true')
 #         have = libqrencode.found()
@@ -1120,7 +1121,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_QRENCODE', have)
 # 
 # want_gcrypt = get_option('gcrypt')
-# if want_gcrypt != 'false'
+# if want_gcrypt != 'false' and not ossfuzz
 #         libgcrypt = cc.find_library('gcrypt', required : want_gcrypt == 'true')
 #         libgpg_error = cc.find_library('gpg-error', required : want_gcrypt == 'true')
 #         have = libgcrypt.found() and libgpg_error.found()
@@ -1135,7 +1136,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_GCRYPT', have)
 # 
 # want_gnutls = get_option('gnutls')
-# if want_gnutls != 'false'
+# if want_gnutls != 'false' and not ossfuzz
 #         libgnutls = dependency('gnutls',
 #                                version : '>= 3.1.4',
 #                                required : want_gnutls == 'true')
@@ -1147,7 +1148,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_GNUTLS', have)
 # 
 # want_elfutils = get_option('elfutils')
-# if want_elfutils != 'false'
+# if want_elfutils != 'false' and not ossfuzz
 #         libdw = dependency('libdw',
 #                            required : want_elfutils == 'true')
 #         have = libdw.found()
@@ -1158,7 +1159,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_ELFUTILS', have)
 # 
 # want_zlib = get_option('zlib')
-# if want_zlib != 'false'
+# if want_zlib != 'false' and not ossfuzz
 #         libz = dependency('zlib',
 #                           required : want_zlib == 'true')
 #         have = libz.found()
@@ -1169,7 +1170,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_ZLIB', have)
 # 
 # want_bzip2 = get_option('bzip2')
-# if want_bzip2 != 'false'
+# if want_bzip2 != 'false' and not ossfuzz
 #         libbzip2 = cc.find_library('bz2',
 #                                    required : want_bzip2 == 'true')
 #         have = libbzip2.found()
@@ -1180,7 +1181,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_BZIP2', have)
 # 
 # want_xz = get_option('xz')
-# if want_xz != 'false'
+# if want_xz != 'false' and not ossfuzz
 #         libxz = dependency('liblzma',
 #                            required : want_xz == 'true')
 #         have = libxz.found()
@@ -1191,7 +1192,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_XZ', have)
 # 
 # want_lz4 = get_option('lz4')
-# if want_lz4 != 'false'
+# if want_lz4 != 'false' and not ossfuzz
 #         liblz4 = dependency('liblz4',
 #                             required : want_lz4 == 'true')
 #         have = liblz4.found()
@@ -1202,7 +1203,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : []
 # conf.set10('HAVE_LZ4', have)
 # 
 # want_xkbcommon = get_option('xkbcommon')
-# if want_xkbcommon != 'false'
+# if want_xkbcommon != 'false' and not ossfuzz
 #         libxkbcommon = dependency('xkbcommon',
 #                                   version : '>= 0.3.0',
 #                                   required : want_xkbcommon == 'true')
@@ -1231,7 +1232,7 @@ libxkbcommon = []
 conf.set10('HAVE_XKBCOMMON', have)
 
 want_glib = get_option('glib')
-if want_glib != 'false'
+if want_glib != 'false' and not ossfuzz
         libglib =    dependency('glib-2.0',
                                 version : '>= 2.22.0',
                                 required : want_glib == 'true')
@@ -1250,7 +1251,7 @@ endif
 conf.set10('HAVE_GLIB', have)
 
 want_dbus = get_option('dbus')
-if want_dbus != 'false'
+if want_dbus != 'false' and not ossfuzz
         libdbus = dependency('dbus-1',
                              version : '>= 1.3.2',
                              required : want_dbus == 'true')
@@ -1263,6 +1264,9 @@ conf.set10('HAVE_DBUS', have)
 
 #if 0 /// UNNEEDED by elogind
 # default_dnssec = get_option('default-dnssec')
+# if ossfuzz
+#         default_dnssec = 'no'
+# endif
 # if default_dnssec != 'no' and conf.get('HAVE_GCRYPT') == 0
 #         message('default-dnssec cannot be set to yes or allow-downgrade when gcrypt is disabled. Setting default-dnssec to no.')
 #         default_dnssec = 'no'