mk: fix cross build
authorGavin Hu <gavin.hu@arm.com>
Fri, 29 Jun 2018 17:27:33 +0000 (01:27 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 11 Jul 2018 19:13:25 +0000 (21:13 +0200)
commitebaa070de85e49ad01214b1940c7cdcdba2f4ef6
tree321bd103cf4dfb4421e83d30745b07af36c8fb7f
parent26fd4b73125ca77690f7a97423e6b031ea98835d
mk: fix cross build

The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
enabled when the cross compiler gcc is greater than 7.0, but for the host
side buildtools/pmdinfogen, if the native gcc is older than 7.0, or the
host cc compiler is clang, it should not be enabled.

The fix is to differentiate the host gcc Werror options from the cross gcc.

gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
-Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
-Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
-Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
-I/dpdk/build/include    -o pmdinfogen.o -c
~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
unrecognized command line option ‘-Wimplicit-fallthrough=2’

Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
Cc: stable@dpdk.org
Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Tested-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
buildtools/pmdinfogen/Makefile
mk/toolchain/gcc/rte.toolchain-compat.mk
mk/toolchain/gcc/rte.vars.mk