build: remove architecture flag as default C flag
Any flags added to the project args are automatically added to all builds, both native and cross-compiled. This is not what we want for the -march flag as a valid -march for the cross-compile is not valid for pmdinfogen which is a native-build tool. Instead we store the march flag as a variable, and add it to the default cflags for all libs, drivers, examples, etc. This will allow pmdinfogen to compile successfully in a cross-compilation environment. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
This commit is contained in:
parent
6c9457c279
commit
b114af1603
@ -45,7 +45,7 @@ endif
|
||||
|
||||
executable('dpdk-testpmd',
|
||||
sources,
|
||||
c_args: '-DALLOW_EXPERIMENTAL_API',
|
||||
c_args: [machine_arg, '-DALLOW_EXPERIMENTAL_API'],
|
||||
link_whole: link_libs,
|
||||
dependencies: dep_objs,
|
||||
install_rpath: join_paths(get_option('prefix'), driver_install_path),
|
||||
|
@ -6,5 +6,4 @@ pmdinfogen_inc += include_directories('../../lib/librte_pci')
|
||||
pmdinfogen = executable('pmdinfogen',
|
||||
'pmdinfogen.c',
|
||||
include_directories: pmdinfogen_inc,
|
||||
native: true,
|
||||
c_args: cflags)
|
||||
native: true)
|
||||
|
@ -2,9 +2,13 @@
|
||||
# Copyright(c) 2017 Intel Corporation
|
||||
|
||||
# set the machine type and cflags for it
|
||||
machine = get_option('machine')
|
||||
if meson.is_cross_build()
|
||||
machine = host_machine.cpu()
|
||||
else
|
||||
machine = get_option('machine')
|
||||
endif
|
||||
dpdk_conf.set('RTE_MACHINE', machine)
|
||||
add_project_arguments('-march=@0@'.format(machine), language: 'c')
|
||||
machine_arg = '-march=' + machine
|
||||
|
||||
# use pthreads
|
||||
add_project_link_arguments('-pthread', language: 'c')
|
||||
|
@ -800,7 +800,7 @@ build
|
||||
|
||||
|
||||
cflags
|
||||
**Default Value = []**.
|
||||
**Default Value = [<-march/-mcpu flags>]**.
|
||||
Used to specify any additional cflags that need to be passed to compile
|
||||
the sources in the library.
|
||||
|
||||
|
@ -23,7 +23,7 @@ foreach class:driver_classes
|
||||
allow_experimental_apis = false
|
||||
sources = []
|
||||
objs = []
|
||||
cflags = []
|
||||
cflags = [machine_arg]
|
||||
includes = [include_directories(drv_path)]
|
||||
# set up internal deps. Drivers can append/override as necessary
|
||||
deps = std_deps
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2017 Intel Corporation
|
||||
|
||||
cflags = ['-DPF_DRIVER',
|
||||
cflags += ['-DPF_DRIVER',
|
||||
'-DVF_DRIVER',
|
||||
'-DINTEGRATED_VF',
|
||||
'-DX722_A0_SUPPORT']
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2017 Intel Corporation
|
||||
|
||||
cflags = ['-DRTE_LIBRTE_IXGBE_BYPASS']
|
||||
cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS']
|
||||
|
||||
subdir('base')
|
||||
objs = [base_objs]
|
||||
|
@ -10,7 +10,7 @@ foreach example: get_option('examples').split(',')
|
||||
name = example
|
||||
sources = []
|
||||
allow_experimental_apis = false
|
||||
cflags = []
|
||||
cflags = [machine_arg]
|
||||
ext_deps = []
|
||||
includes = [include_directories(example)]
|
||||
deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
|
||||
|
@ -33,7 +33,7 @@ foreach l:libraries
|
||||
sources = []
|
||||
headers = []
|
||||
includes = []
|
||||
cflags = []
|
||||
cflags = [machine_arg]
|
||||
objs = [] # other object files to link against, used e.g. for
|
||||
# instruction-set optimized versions of code
|
||||
|
||||
|
@ -65,5 +65,5 @@ pkg.generate(name: meson.project_name(),
|
||||
['-Wl,-Bdynamic'] + dpdk_extra_ldflags,
|
||||
description: 'The Data Plane Development Kit (DPDK)',
|
||||
subdirs: [get_option('include_subdir_arch'), '.'],
|
||||
extra_cflags: ['-include', 'rte_config.h', '-march=@0@'.format(machine)]
|
||||
extra_cflags: ['-include', 'rte_config.h', machine_arg]
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user