net/mlx5: fix chosen L3/L4 layer with tunnel
[dpdk.git] / config / meson.build
index e1ebdad..364a8d7 100644 (file)
@@ -18,6 +18,11 @@ endforeach
 # depending on the configuration options
 pver = meson.project_version().split('.')
 major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
+abi_version = run_command(find_program('cat', 'more'),
+       abi_version_file).stdout().strip()
+# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
+ever = abi_version.split('.')
+experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
 
 # extract all version information into the build configuration
 dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
@@ -37,7 +42,7 @@ endif
 
 pmd_subdir_opt = get_option('drivers_install_subdir')
 if pmd_subdir_opt.contains('<VERSION>')
-       pmd_subdir_opt = major_version.join(pmd_subdir_opt.split('<VERSION>'))
+       pmd_subdir_opt = abi_version.join(pmd_subdir_opt.split('<VERSION>'))
 endif
 driver_install_path = join_paths(get_option('libdir'), pmd_subdir_opt)
 eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
@@ -225,3 +230,16 @@ add_project_arguments('-D_GNU_SOURCE', language: 'c')
 if is_freebsd
        add_project_arguments('-D__BSD_VISIBLE', language: 'c')
 endif
+
+if get_option('b_lto')
+       if cc.has_argument('-ffat-lto-objects')
+               add_project_arguments('-ffat-lto-objects', language: 'c')
+       else
+               error('compiler does not support fat LTO objects - please turn LTO off')
+       endif
+       # workaround for gcc bug 81440
+       if cc.get_id() == 'gcc' and cc.version().version_compare('<8.0')
+               add_project_arguments('-Wno-lto-type-mismatch', language: 'c')
+               add_project_link_arguments('-Wno-lto-type-mismatch', language: 'c')
+       endif
+endif