build: add workarounds for Windows helloworld
[dpdk.git] / drivers / meson.build
index c5df313..7520a16 100644 (file)
@@ -1,21 +1,30 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
+# Copyright(c) 2017-2019 Intel Corporation
+
+if host_machine.system() == '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.
 
 default_cflags = machine_args
 if cc.has_argument('-Wno-format-truncation')
        default_cflags += '-Wno-format-truncation'
 endif
-foreach class:driver_classes
+
+# 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
@@ -41,10 +50,11 @@ foreach class:driver_classes
                # 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 = []
 
@@ -97,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
@@ -145,8 +153,5 @@ foreach class:driver_classes
                endif # build
        endforeach
 
-       if meson.version().version_compare('>=0.47')
-               # prior to 0.47, set_variable can't take array params
-               set_variable(class + '_drivers', class_drivers)
-       endif
+       set_variable(class + '_drivers', class_drivers)
 endforeach