eal/memory: fix unused SIGBUS handler
[dpdk.git] / meson.build
index fcc4d4c..12cb6e0 100644 (file)
@@ -2,15 +2,29 @@
 # Copyright(c) 2017-2019 Intel Corporation
 
 project('DPDK', 'C',
-       # Get version number from file.
-       # Fallback to "more" for Windows compatibility.
-       version: run_command(find_program('cat', 'more'),
-               files('VERSION')).stdout().strip(),
-       license: 'BSD',
-       default_options: ['buildtype=release', 'default_library=static'],
-       meson_version: '>= 0.47.1'
+        # Get version number from file.
+        # Fallback to "more" for Windows compatibility.
+        version: run_command(find_program('cat', 'more'),
+            files('VERSION')).stdout().strip(),
+        license: 'BSD',
+        default_options: ['buildtype=release', 'default_library=static'],
+        meson_version: '>= 0.49.2'
 )
 
+# check for developer mode
+developer_mode = false
+if get_option('developer_mode').auto()
+    if meson.version().version_compare('>=0.53') # fs module available
+        fs = import('fs')
+        developer_mode = fs.is_dir('.git')
+    endif
+else
+    developer_mode = get_option('developer_mode').enabled()
+endif
+if developer_mode
+    message('## Building in Developer Mode ##')
+endif
+
 # set up some global vars for compiler, platform, configuration, etc.
 cc = meson.get_compiler('c')
 dpdk_conf = configuration_data()
@@ -25,20 +39,20 @@ dpdk_drvs_disabled = []
 abi_version_file = files('ABI_VERSION')
 
 if host_machine.cpu_family().startswith('x86')
-       arch_subdir = 'x86'
+    arch_subdir = 'x86'
 elif host_machine.cpu_family().startswith('arm') or host_machine.cpu_family().startswith('aarch')
-       arch_subdir = 'arm'
+    arch_subdir = 'arm'
 elif host_machine.cpu_family().startswith('ppc')
-       arch_subdir = 'ppc'
+    arch_subdir = 'ppc'
 endif
 
 # configure the build, and make sure configs here and in config folder are
 # able to be included in any file. We also store a global array of include dirs
 # for passing to pmdinfogen scripts
 global_inc = include_directories('.', 'config',
-       'lib/librte_eal/include',
-       'lib/librte_eal/@0@/include'.format(host_machine.system()),
-       'lib/librte_eal/@0@/include'.format(arch_subdir),
+    'lib/eal/include',
+    'lib/eal/@0@/include'.format(host_machine.system()),
+    'lib/eal/@0@/include'.format(arch_subdir),
 )
 
 # do configuration and get tool paths
@@ -60,25 +74,25 @@ subdir('doc')
 # install any example code into the appropriate install path
 subdir('examples')
 install_subdir('examples',
-       install_dir: get_option('datadir') + '/dpdk',
-       exclude_files: 'meson.build')
+        install_dir: get_option('datadir') + '/dpdk',
+        exclude_files: ex_file_excludes)
 
 # build kernel modules if enabled
 if get_option('enable_kmods')
-       subdir('kernel')
+    subdir('kernel')
 endif
 
 # check header includes if requested
 if get_option('check_includes')
-       subdir('buildtools/chkincs')
+    subdir('buildtools/chkincs')
 endif
 
 # write the build config
 build_cfg = 'rte_build_config.h'
 configure_file(output: build_cfg,
-               configuration: dpdk_conf,
-               install_dir: join_paths(get_option('includedir'),
-                               get_option('include_subdir_arch')))
+        configuration: dpdk_conf,
+        install_dir: join_paths(get_option('includedir'),
+            get_option('include_subdir_arch')))
 
 # build pkg-config files for dpdk
 subdir('buildtools/pkg-config')
@@ -89,40 +103,40 @@ output_message = '\n=================\nLibraries Enabled\n=================\n'
 output_message += '\nlibs:\n\t'
 output_count = 0
 foreach lib:enabled_libs
-       output_message += lib + ', '
-       output_count += 1
-       if output_count == 8
-               output_message += '\n\t'
-               output_count = 0
-       endif
+    output_message += lib + ', '
+    output_count += 1
+    if output_count == 8
+        output_message += '\n\t'
+        output_count = 0
+    endif
 endforeach
 message(output_message + '\n')
 
 output_message = '\n===============\nDrivers Enabled\n===============\n'
 foreach class:dpdk_driver_classes
-       class_drivers = get_variable(class + '_drivers')
-       output_message += '\n' + class + ':\n\t'
-       output_count = 0
-       foreach drv:class_drivers
-               output_message += drv + ', '
-               output_count += 1
-               if output_count == 8
-                       output_message += '\n\t'
-                       output_count = 0
-               endif
-       endforeach
+    class_drivers = get_variable(class + '_drivers')
+    output_message += '\n' + class + ':\n\t'
+    output_count = 0
+    foreach drv:class_drivers
+        output_message += drv + ', '
+        output_count += 1
+        if output_count == 8
+            output_message += '\n\t'
+            output_count = 0
+        endif
+    endforeach
 endforeach
 message(output_message + '\n')
 
 output_message = '\n=================\nContent Skipped\n=================\n'
 output_message += '\nlibs:\n\t'
 foreach lib:dpdk_libs_disabled
-       reason = get_variable(lib.underscorify() + '_disable_reason')
-       output_message += lib + ':\t' + reason + '\n\t'
+    reason = get_variable(lib.underscorify() + '_disable_reason')
+    output_message += lib + ':\t' + reason + '\n\t'
 endforeach
 output_message += '\ndrivers:\n\t'
 foreach drv:dpdk_drvs_disabled
-       reason = get_variable(drv.underscorify() + '_disable_reason')
-       output_message += drv + ':\t' + reason + '\n\t'
+    reason = get_variable(drv.underscorify() + '_disable_reason')
+    output_message += drv + ':\t' + reason + '\n\t'
 endforeach
 message(output_message + '\n')