[dpdk-dev] [PATCH] mk: toolchain: gcc: query the compiler macros to obtain the gcc version

Thomas Monjalon thomas.monjalon at 6wind.com
Tue Mar 22 23:34:09 CET 2016


2016-03-22 17:13, Markos Chandras:
> This is similar to what's being used in the Linux kernel. Querying the
> GCC macros directly gives more accurate results compared to -dumpversion
> which could vary across distributions.
> 
> Signed-off-by: Markos Chandras <mchandras at suse.de>
> ---
> In openSUSE Tumbleweed (and in any other SUSE distribution which
> uses (or will use) gcc >= 5), gcc -dumpversion returns '5'. This is on
> purpose as discussed in https://bugzilla.opensuse.org/show_bug.cgi?id=941428

Good to know. It could be in the commit log.

> As a result of which, the gcc-4.x comparison (40 against 5) does not
> work leading to tons of warnings and failures during build. This patch
> aims to change the way the gcc version is obtained by using the gcc macros
> directly.

Thanks for catching.

> -GCC_VERSION = $(subst .,,$(shell $(CC) -dumpversion | cut -f1-2 -d.))
> +GCC_MAJOR = $(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1)
> +GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1)
> +GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR)

Are we sure the minor will always be only one digit?


More information about the dev mailing list