net: add rte prefix to ESP structure
[dpdk.git] / drivers / meson.build
index 27d66cf..4c444f4 100644 (file)
@@ -1,17 +1,30 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
+# Copyright(c) 2017-2019 Intel Corporation
+
+if is_windows
+       subdir_done()
+endif
 
 # Defines the order in which the drivers are buit.
-driver_classes = ['common',
+dpdk_driver_classes = ['common',
               'bus',
               'mempool', # depends on common and bus.
               'net',     # depends on common, bus and mempool.
               'crypto',  # depends on common, bus and mempool (net in future).
               'compress', # depends on common, bus, mempool.
               'event',   # depends on common, bus, mempool and net.
+              'baseband', # depends on common and bus.
               'raw']     # depends on common, bus, mempool, net and event.
 
-foreach class:driver_classes
+default_cflags = machine_args
+if cc.has_argument('-Wno-format-truncation')
+       default_cflags += '-Wno-format-truncation'
+endif
+
+# specify -D_GNU_SOURCE unconditionally
+default_cflags += '-D_GNU_SOURCE'
+
+foreach class:dpdk_driver_classes
        drivers = []
        std_deps = []
        config_flag_fmt = '' # format string used to set the value in dpdk_conf
@@ -20,6 +33,7 @@ foreach class:driver_classes
                             # version file for linking
 
        subdir(class)
+       class_drivers = []
 
        foreach drv:drivers
                drv_path = join_paths(class, drv)
@@ -31,18 +45,16 @@ foreach class:driver_classes
                allow_experimental_apis = false
                sources = []
                objs = []
-               cflags = machine_args
-               if cc.has_argument('-Wno-format-truncation')
-                       cflags += '-Wno-format-truncation'
-               endif
+               cflags = default_cflags
                includes = [include_directories(drv_path)]
                # set up internal deps. Drivers can append/override as necessary
                deps = std_deps
                # ext_deps: Stores external library dependency got
-               # using dependency() or cc.find_library(). For most cases, we
-               # probably also need to specify the "-l" flags in
-               # pkgconfig_extra_libs variable too, so that it can be reflected
-               # in the pkgconfig output for static builds
+               # using dependency() (preferred) or find_library().
+               # For the find_library() case (but not with dependency()) we also
+               # need to specify the "-l" flags in pkgconfig_extra_libs variable
+               # too, so that it can be reflected in the pkgconfig output for
+               # static builds.
                ext_deps = []
                pkgconfig_extra_libs = []
 
@@ -50,6 +62,8 @@ foreach class:driver_classes
                subdir(drv_path)
 
                if build
+                       class_drivers += name
+
                        dpdk_conf.set(config_flag_fmt.format(name.to_upper()),1)
                        lib_name = driver_name_fmt.format(name)
 
@@ -93,10 +107,8 @@ foreach class:driver_classes
                                lib_version = '@0@.1'.format(version)
                                so_version = '@0@'.format(version)
                        else
-                               pver = meson.project_version().split('.')
-                               lib_version = '@0@.@1@'.format(pver.get(0),
-                                               pver.get(1))
-                               so_version = lib_version
+                               lib_version = major_version
+                               so_version = major_version
                        endif
 
                        # now build the static driver
@@ -140,4 +152,6 @@ foreach class:driver_classes
                        set_variable('static_@0@'.format(lib_name), static_dep)
                endif # build
        endforeach
+
+       set_variable(class + '_drivers', class_drivers)
 endforeach