diff --git a/drivers/common/mvep/meson.build b/drivers/common/mvep/meson.build
index 8df4bc6e0..863a20ab9 100644
--- a/drivers/common/mvep/meson.build
+++ b/drivers/common/mvep/meson.build
@@ -3,18 +3,14 @@
 # Copyright(c) 2018 Semihalf.
 # All rights reserved.
 #
-path = get_option('lib_musdk_dir')
-lib_dir = path + '/lib'
-inc_dir = path + '/include'
 
-lib = cc.find_library('libmusdk', dirs: [lib_dir], required: false)
-if not lib.found()
+dep = dependency('libmusdk', required: false)
+if not dep.found()
 	build = false
 	reason = 'missing dependency, "libmusdk"'
-else
-	ext_deps += lib
-	includes += include_directories(inc_dir)
-	cflags += ['-DMVCONF_TYPES_PUBLIC', '-DMVCONF_DMA_PHYS_ADDR_T_PUBLIC']
+	subdir_done()
 endif
 
+ext_deps += dep
+
 sources = files('mvep_common.c')
diff --git a/drivers/crypto/mvsam/meson.build b/drivers/crypto/mvsam/meson.build
index 6d97dc8a2..384eacff0 100644
--- a/drivers/crypto/mvsam/meson.build
+++ b/drivers/crypto/mvsam/meson.build
@@ -3,20 +3,15 @@
 # Copyright(c) 2018 Semihalf.
 # All rights reserved.
 
-path = get_option('lib_musdk_dir')
-lib_dir = path + '/lib'
-inc_dir = path + '/include'
-
-lib = cc.find_library('libmusdk', dirs: [lib_dir], required: false)
-if not lib.found()
+dep = dependency('libmusdk', required: false)
+if not dep.found()
 	build = false
 	reason = 'missing dependency, "libmusdk"'
-else
-	ext_deps += lib
-	includes += include_directories(inc_dir)
-	cflags += ['-DMVCONF_TYPES_PUBLIC', '-DMVCONF_DMA_PHYS_ADDR_T_PUBLIC']
+	subdir_done()
 endif
 
+ext_deps += dep
+
 sources = files('rte_mrvl_pmd.c', 'rte_mrvl_pmd_ops.c')
 
 deps += ['bus_vdev', 'common_mvep']
diff --git a/drivers/net/mvneta/meson.build b/drivers/net/mvneta/meson.build
index 8d7202788..c887ddc10 100644
--- a/drivers/net/mvneta/meson.build
+++ b/drivers/net/mvneta/meson.build
@@ -3,24 +3,15 @@
 # Copyright(c) 2018 Semihalf.
 # All rights reserved.
 
-path = get_option('lib_musdk_dir')
-lib_dir = path + '/lib'
-inc_dir = path + '/include'
-
-lib = cc.find_library('libmusdk', dirs : [lib_dir], required: false)
-if not lib.found()
+dep = dependency('libmusdk', required: false)
+if not dep.found()
 	build = false
 	reason = 'missing dependency, "libmusdk"'
-else
-	ext_deps += lib
-	includes += include_directories(inc_dir)
-	cflags += [
-	  '-DMVCONF_TYPES_PUBLIC',
-	  '-DMVCONF_DMA_PHYS_ADDR_T_PUBLIC',
-	  '-DMVCONF_DMA_PHYS_ADDR_T_SIZE=64'
-	]
+	subdir_done()
 endif
 
+ext_deps += dep
+
 sources = files(
 	'mvneta_ethdev.c',
 	'mvneta_rxtx.c'
diff --git a/drivers/net/mvneta/mvneta_ethdev.h b/drivers/net/mvneta/mvneta_ethdev.h
index ef8067790..e090abc25 100644
--- a/drivers/net/mvneta/mvneta_ethdev.h
+++ b/drivers/net/mvneta/mvneta_ethdev.h
@@ -21,6 +21,7 @@
 #undef container_of
 #endif
 
+#include <env/mv_autogen_comp_flags.h>
 #include <drivers/mv_neta.h>
 #include <drivers/mv_neta_ppio.h>
 
diff --git a/drivers/net/mvpp2/meson.build b/drivers/net/mvpp2/meson.build
index e06eddaac..3015a5559 100644
--- a/drivers/net/mvpp2/meson.build
+++ b/drivers/net/mvpp2/meson.build
@@ -3,20 +3,15 @@
 # Copyright(c) 2018 Semihalf.
 # All rights reserved.
 
-path = get_option('lib_musdk_dir')
-lib_dir = path + '/lib'
-inc_dir = path + '/include'
-
-lib = cc.find_library('libmusdk', dirs : [lib_dir], required: false)
-if not lib.found()
+dep = dependency('libmusdk', required: false)
+if not dep.found()
 	build = false
 	reason = 'missing dependency, "libmusdk"'
-else
-	ext_deps += lib
-	includes += include_directories(inc_dir)
-	cflags += ['-DMVCONF_TYPES_PUBLIC', '-DMVCONF_DMA_PHYS_ADDR_T_PUBLIC']
+	subdir_done()
 endif
 
+ext_deps += dep
+
 sources = files(
 	'mrvl_ethdev.c',
 	'mrvl_flow.c',
diff --git a/meson_options.txt b/meson_options.txt
index 9bf18ab6b..63245b95d 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -20,8 +20,6 @@ option('include_subdir_arch', type: 'string', value: '',
 	description: 'subdirectory where to install arch-dependent headers')
 option('kernel_dir', type: 'string', value: '',
 	description: 'Path to the kernel for building kernel modules. Headers must be in $kernel_dir/build. Modules will be installed in $DEST_DIR/$kernel_dir/extra/dpdk.')
-option('lib_musdk_dir', type: 'string', value: '',
-	description: 'path to the MUSDK library installation directory')
 option('machine', type: 'string', value: 'native',
 	description: 'set the target machine type')
 option('max_ethports', type: 'integer', value: 32,
