X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=meson.build;h=3b7a2e7de89005699fe0f8160794ce4f0c6df4f6;hb=ad1ec9d61745de0dc09668a8b6eac74ad9b6f39a;hp=9cad43481e2f95fceb7ed335ad1b1ebd51b55016;hpb=85d7158edf153853dd5aaec7a0b90b81e453e4b6;p=dpdk.git diff --git a/meson.build b/meson.build index 9cad43481e..3b7a2e7de8 100644 --- a/meson.build +++ b/meson.build @@ -7,10 +7,16 @@ project('DPDK', 'C', version: run_command(find_program('cat', 'more'), files('VERSION')).stdout().strip(), license: 'BSD', - default_options: ['buildtype=release', 'default_library=static'], + default_options: ['buildtype=debugoptimized', + 'default_library=static'], meson_version: '>= 0.47.1' ) +# for default "debugoptimized" builds override optimization level 2 with 3 +if get_option('buildtype') == 'debugoptimized' + add_project_arguments('-O3', language: 'c') +endif + # set up some global vars for compiler, platform, configuration, etc. cc = meson.get_compiler('c') dpdk_conf = configuration_data() @@ -20,6 +26,9 @@ dpdk_driver_classes = [] dpdk_drivers = [] dpdk_extra_ldflags = [] dpdk_app_link_libraries = [] +dpdk_libs_disabled = [] +dpdk_drvs_disabled = [] +abi_version_file = files('ABI_VERSION') # 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 @@ -31,8 +40,8 @@ global_inc = include_directories('.', 'config', subdir('config') # build libs and drivers -subdir('lib') subdir('buildtools') +subdir('lib') subdir('drivers') # build binaries and installable tools @@ -63,6 +72,10 @@ configure_file(output: build_cfg, dpdk_drivers = ['-Wl,--whole-archive'] + dpdk_drivers + ['-Wl,--no-whole-archive'] pkg = import('pkgconfig') +pkg_extra_cflags = ['-include', 'rte_config.h'] + machine_args +if is_freebsd + pkg_extra_cflags += ['-D__BSD_VISIBLE'] +endif pkg.generate(name: meson.project_name(), filebase: 'lib' + meson.project_name().to_lower(), version: meson.project_version(), @@ -75,7 +88,7 @@ pkg.generate(name: meson.project_name(), Note that CFLAGS might contain an -march flag higher than typical baseline. This is required for a number of static inline functions in the public headers.''', subdirs: [get_option('include_subdir_arch'), '.'], - extra_cflags: ['-include', 'rte_config.h'] + machine_args + extra_cflags: pkg_extra_cflags ) # final output, list all the libs and drivers to be built @@ -108,3 +121,16 @@ foreach class:dpdk_driver_classes 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' +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' +endforeach +message(output_message + '\n')