diff options
author | Christian Ehrhardt <christian.ehrhardt@canonical.com> | 2019-07-04 10:40:06 +0200 |
---|---|---|
committer | Christian Ehrhardt <christian.ehrhardt@canonical.com> | 2019-07-04 10:48:05 +0200 |
commit | 8d53e9f3c6001dcb2865f6e894da5b54e1418f88 (patch) | |
tree | 63907f21c13636a987d43463c675d0727a04e327 /config | |
parent | e2bea7436061ca2e7e14bfcfdc5870f2555c3965 (diff) |
New upstream version 18.11.2upstream-18.11-stable
Change-Id: I23eb4f9179abf1f9c659891f8fddb27ee68ad26b
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Diffstat (limited to 'config')
-rw-r--r-- | config/arm/meson.build | 10 | ||||
-rw-r--r-- | config/meson.build | 7 | ||||
-rw-r--r-- | config/x86/meson.build | 21 |
3 files changed, 25 insertions, 13 deletions
diff --git a/config/arm/meson.build b/config/arm/meson.build index dae55d6b..9feb54f2 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -6,6 +6,7 @@ march_opt = '-march=@0@'.format(machine) arm_force_native_march = false +arm_force_default_march = (machine == 'default') machine_args_generic = [ ['default', ['-march=armv8-a+crc+crypto']], @@ -105,7 +106,10 @@ else cmd_generic = ['generic', '', '', 'default', ''] cmd_output = cmd_generic # Set generic by default machine_args = [] # Clear previous machine args - if not meson.is_cross_build() + if arm_force_default_march and not meson.is_cross_build() + machine = impl_generic + impl_pn = 'default' + elif not meson.is_cross_build() # The script returns ['Implementer', 'Variant', 'Architecture', # 'Primary Part number', 'Revision'] detect_vendor = find_program(join_paths( @@ -115,8 +119,8 @@ else cmd_output = cmd.stdout().to_lower().strip().split(' ') endif # Set to generic if variable is not found - machine = get_variable('impl_' + cmd_output[0], 'generic') - if machine == 'generic' + machine = get_variable('impl_' + cmd_output[0], ['generic']) + if machine[0] == 'generic' machine = impl_generic cmd_output = cmd_generic endif diff --git a/config/meson.build b/config/meson.build index db32499b..80d25382 100644 --- a/config/meson.build +++ b/config/meson.build @@ -1,6 +1,13 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation +# driver .so files often depend upon the bus drivers for their connect bus, +# e.g. ixgbe depends on librte_bus_pci. This means that the bus drivers need +# to be in the library path, so symlink the drivers from the main lib directory. +meson.add_install_script('../buildtools/symlink-drivers-solibs.sh', + get_option('libdir'), + pmd_subdir_opt) + # set the machine type and cflags for it if meson.is_cross_build() machine = host_machine.cpu() diff --git a/config/x86/meson.build b/config/x86/meson.build index 9e5952aa..ae92f86a 100644 --- a/config/x86/meson.build +++ b/config/x86/meson.build @@ -1,23 +1,24 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -# for checking defines we need to use the correct compiler flags -march_opt = ['-march=@0@'.format(machine)] - # get binutils version for the workaround of Bug 97 ldver = run_command('ld', '-v').stdout().strip() if ldver.contains('2.30') if cc.has_argument('-mno-avx512f') - march_opt += '-mno-avx512f' + machine_args += '-mno-avx512f' message('Binutils 2.30 detected, disabling AVX512 support as workaround for bug #97') endif + if ldver.contains('2.31') and cc.has_argument('-mno-avx512f') + machine_args += '-mno-avx512f' + message('Binutils 2.31 detected, disabling AVX512 support as workaround for bug #249') + endif endif # we require SSE4.2 for DPDK sse_errormsg = '''SSE4.2 instruction set is required for DPDK. Please set the machine type to "nehalem" or "corei7" or higher value''' -if cc.get_define('__SSE4_2__', args: march_opt) == '' +if cc.get_define('__SSE4_2__', args: machine_args) == '' error(sse_errormsg) endif @@ -37,23 +38,23 @@ else dpdk_conf.set('RTE_ARCH', 'i686') endif -if cc.get_define('__AES__', args: march_opt) != '' +if cc.get_define('__AES__', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_AES', 1) compile_time_cpuflags += ['RTE_CPUFLAG_AES'] endif -if cc.get_define('__PCLMUL__', args: march_opt) != '' +if cc.get_define('__PCLMUL__', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_PCLMULQDQ', 1) compile_time_cpuflags += ['RTE_CPUFLAG_PCLMULQDQ'] endif -if cc.get_define('__AVX__', args: march_opt) != '' +if cc.get_define('__AVX__', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_AVX', 1) compile_time_cpuflags += ['RTE_CPUFLAG_AVX'] endif -if cc.get_define('__AVX2__', args: march_opt) != '' +if cc.get_define('__AVX2__', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_AVX2', 1) compile_time_cpuflags += ['RTE_CPUFLAG_AVX2'] endif -if cc.get_define('__AVX512F__', args: march_opt) != '' +if cc.get_define('__AVX512F__', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_AVX512F', 1) compile_time_cpuflags += ['RTE_CPUFLAG_AVX512F'] endif |