-# This does not build a driver, but instead holds common files for
-# the crypto and compression drivers.
-build = false
-reason = '' # sentinal value to suppress printout
-qat_deps = ['bus_pci']
-qat_sources = files('qat_common.c',
+config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
+
+qat_crypto = true
+qat_crypto_path = 'crypto/qat'
+qat_crypto_relpath = '../../' + qat_crypto_path
+qat_compress = true
+qat_compress_path = 'compress/qat'
+qat_compress_relpath = '../../' + qat_compress_path
+
+if disabled_drivers.contains(qat_crypto_path)
+ qat_crypto = false
+ dpdk_drvs_disabled += qat_crypto_path
+ set_variable(qat_crypto_path.underscorify() + '_disable_reason',
+ 'Explicitly disabled via build config')
+endif
+if disabled_drivers.contains(qat_compress_path)
+ qat_compress = false
+ dpdk_drvs_disabled += qat_compress_path
+ set_variable(qat_compress_path.underscorify() + '_disable_reason',
+ 'Explicitly disabled via build config')
+endif
+
+libcrypto = dependency('libcrypto', required: false)
+if qat_crypto and not libcrypto.found()
+ qat_crypto = false
+ dpdk_drvs_disabled += qat_crypto_path
+ set_variable(qat_crypto_path.underscorify() + '_disable_reason',
+ 'missing dependency, libcrypto')
+endif
+
+# The driver should not build if both compression and crypto are disabled
+#FIXME common code depends on compression files so check only compress!
+if not qat_compress # and not qat_crypto
+ build = false
+ reason = '' # rely on reason for compress/crypto above
+ subdir_done()
+endif
+
+deps += ['bus_pci', 'cryptodev', 'net', 'compressdev']
+sources += files('qat_common.c',