build: fix for host clang and cross gcc
The following error hits if host cc compiler is clang(default one in most linux distributions) and the cross compiler is gcc. The root cause is: the hybride compilers add the warning options to the meson project as project arguments, which apply for both host compiling and cross compiling. But some options such as '-Wno-format-truncation' are not supported nor recognized by clang, so they have to be removed from the project arguments for the host compiler to run smoothily and added back as cflags for the cross compiler to compile for cross source files. The fix is remove unrecognized warning options from the meson project arguments shared by gcc and clang, as add them specifically for gcc or clang as cflags. [265/893] Compiling C object 'buildtools/pmdinfogen/pmdinfogen@exe/pmdinfogen.c.o'. warning: unknown warning option '-Wno-format-truncation' [-Wunknown-warning-option] Fixes: a55277a788 ("devtools: add test script for meson builds") Cc: stable@dpdk.org Signed-off-by: Gavin Hu <gavin.hu@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Song Zhu <song.zhu@arm.com> Reviewed-by: Steve Capper <steve.capper@arm.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
parent
c0d022070f
commit
d292a42fc8
@ -57,8 +57,7 @@ add_project_arguments('-include', 'rte_config.h', language: 'c')
|
||||
warning_flags = [
|
||||
'-Wsign-compare',
|
||||
'-Wcast-qual',
|
||||
'-Wno-address-of-packed-member',
|
||||
'-Wno-format-truncation'
|
||||
'-Wno-address-of-packed-member'
|
||||
]
|
||||
foreach arg: warning_flags
|
||||
if cc.has_argument(arg)
|
||||
|
@ -32,6 +32,9 @@ foreach class:driver_classes
|
||||
sources = []
|
||||
objs = []
|
||||
cflags = machine_args
|
||||
if cc.has_argument('-Wno-format-truncation')
|
||||
cflags += '-Wno-format-truncation'
|
||||
endif
|
||||
includes = [include_directories(drv_path)]
|
||||
# set up internal deps. Drivers can append/override as necessary
|
||||
deps = std_deps
|
||||
|
@ -24,6 +24,10 @@ foreach example: examples
|
||||
sources = []
|
||||
allow_experimental_apis = false
|
||||
cflags = machine_args
|
||||
if cc.has_argument('-Wno-format-truncation')
|
||||
cflags += '-Wno-format-truncation'
|
||||
endif
|
||||
|
||||
ext_deps = [execinfo]
|
||||
includes = [include_directories(example)]
|
||||
deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
|
||||
|
@ -34,6 +34,10 @@ foreach l:libraries
|
||||
headers = []
|
||||
includes = []
|
||||
cflags = machine_args
|
||||
if cc.has_argument('-Wno-format-truncation')
|
||||
cflags += '-Wno-format-truncation'
|
||||
endif
|
||||
|
||||
objs = [] # other object files to link against, used e.g. for
|
||||
# instruction-set optimized versions of code
|
||||
|
||||
|
@ -237,6 +237,11 @@ if dpdk_conf.has('RTE_LIBRTE_KNI')
|
||||
test_deps += 'kni'
|
||||
endif
|
||||
|
||||
cflags = machine_args
|
||||
if cc.has_argument('-Wno-format-truncation')
|
||||
cflags += '-Wno-format-truncation'
|
||||
endif
|
||||
|
||||
test_dep_objs = []
|
||||
compress_test_dep = dependency('zlib', required: false)
|
||||
if compress_test_dep.found()
|
||||
@ -262,7 +267,7 @@ if get_option('tests')
|
||||
test_sources,
|
||||
link_whole: link_libs,
|
||||
dependencies: test_dep_objs,
|
||||
c_args: [machine_args, '-DALLOW_EXPERIMENTAL_API'],
|
||||
c_args: [cflags, '-DALLOW_EXPERIMENTAL_API'],
|
||||
install_rpath: driver_install_path,
|
||||
install: false)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user