net/ice: fix TM hierarchy commit flag reset
[dpdk.git] / drivers / meson.build
index f90330b..34c0276 100644 (file)
@@ -3,37 +3,38 @@
 
 # Defines the order of dependencies evaluation
 subdirs = [
-       'common',
-       'bus',
-       'common/cnxk', # depends on bus.
-       'common/mlx5', # depends on bus.
-       'common/qat', # depends on bus.
-       'common/sfc_efx', # depends on bus.
-       'mempool', # depends on common and bus.
-       'net',     # depends on common, bus, mempool
-       'raw',     # depends on common, bus and net.
-       'crypto',  # depends on common, bus and mempool (net in future).
-       'compress', # depends on common, bus, mempool.
-       'regex', # depends on common, bus, regexdev.
-       'vdpa',    # depends on common, bus and mempool.
-       'event',   # depends on common, bus, mempool and net.
-       'baseband', # depends on common and bus.
+        'common',
+        'bus',
+        'common/cnxk',    # depends on bus.
+        'common/mlx5',    # depends on bus.
+        'common/qat',     # depends on bus.
+        'common/sfc_efx', # depends on bus.
+        'mempool',        # depends on common and bus.
+        'dma',            # depends on common and bus.
+        'net',            # depends on common, bus, mempool
+        'raw',            # depends on common, bus, dma and net.
+        'crypto',         # depends on common, bus and mempool (net in future).
+        'compress',       # depends on common, bus, mempool.
+        'regex',          # depends on common, bus, regexdev.
+        'vdpa',           # depends on common, bus and mempool.
+        'event',          # depends on common, bus, mempool and net.
+        'baseband',       # depends on common and bus.
 ]
 
 if meson.is_cross_build()
-       disable_drivers += ',' + meson.get_cross_property('disable_drivers', '')
-       enable_drivers += ',' + meson.get_cross_property('enable_drivers', '')
+    disable_drivers += ',' + meson.get_cross_property('disable_drivers', '')
+    enable_drivers += ',' + meson.get_cross_property('enable_drivers', '')
 endif
 
 # add cmdline disabled drivers and meson disabled drivers together
 disable_drivers += ',' + get_option('disable_drivers')
-disable_drivers = run_command(list_dir_globs, disable_drivers).stdout().split()
+disable_drivers = run_command(list_dir_globs, disable_drivers, check: true).stdout().split()
 
 # add cmdline enabled drivers and meson enabled drivers together
 enable_drivers = ',' + get_option('enable_drivers')
-enable_drivers = run_command(list_dir_globs, enable_drivers).stdout().split()
+enable_drivers = run_command(list_dir_globs, enable_drivers, check: true).stdout().split()
 if enable_drivers.length() == 0
-       enable_drivers = run_command(list_dir_globs, '*/*').stdout().split()
+    enable_drivers = run_command(list_dir_globs, '*/*', check: true).stdout().split()
 endif
 
 # these drivers must always be enabled, otherwise the build breaks
@@ -45,12 +46,13 @@ default_cflags += ['-DALLOW_EXPERIMENTAL_API']
 default_cflags += ['-DALLOW_INTERNAL_API']
 
 if cc.has_argument('-Wno-format-truncation')
-       default_cflags += '-Wno-format-truncation'
+    default_cflags += '-Wno-format-truncation'
 endif
 
 foreach subpath:subdirs
     drivers = []
     std_deps = []
+    log_prefix = ''
 
     # subpath can be either "class" or "class/driver"
     if subpath.contains('/')
@@ -69,6 +71,12 @@ foreach subpath:subdirs
     # get already enabled drivers of the same class
     enabled_drivers = get_variable(class + '_drivers', [])
 
+    # default log prefix can be defined per class
+    if log_prefix == ''
+        # default log name is pmd.class.driver
+        log_prefix = 'pmd.' + class
+    endif
+
     foreach drv:drivers
         drv_path = join_paths(class, drv)
 
@@ -102,16 +110,19 @@ foreach subpath:subdirs
                 build = false
                 reason = 'explicitly disabled via build config'
             endif
-        else
-            # pull in driver directory which should update all the local variables
-            subdir(drv_path)
         endif
 
         if build
+            # pull in driver directory which should update all the local variables
+            subdir(drv_path)
+
             # get dependency objs from strings
             shared_deps = ext_deps
             static_deps = ext_deps
             foreach d:deps
+                if not build
+                    break
+                endif
                 if not is_variable('shared_rte_' + d)
                     build = false
                     reason = 'missing internal dependency, "@0@"'.format(d)
@@ -137,6 +148,7 @@ foreach subpath:subdirs
 
         enabled_drivers += name
         lib_name = '_'.join(['rte', class, name])
+        cflags += '-DRTE_LOG_DEFAULT_LOGTYPE=' + '.'.join([log_prefix, name])
         dpdk_conf.set(lib_name.to_upper(), 1)
 
         dpdk_extra_ldflags += pkgconfig_extra_libs
@@ -152,7 +164,7 @@ foreach subpath:subdirs
                 include_directories: includes,
                 dependencies: static_deps,
                 c_args: cflags)
-        objs += tmp_lib.extract_all_objects()
+        objs += tmp_lib.extract_all_objects(recursive: true)
         sources = custom_target(out_filename,
                 command: [pmdinfo, tmp_lib.full_path(), '@OUTPUT@', pmdinfogen],
                 output: out_filename,