From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] mk: toolchain: gcc: query the compiler macros to obtain the gcc version Date: Tue, 22 Mar 2016 23:34:09 +0100 Message-ID: <2653966.ML0Fr8PsdQ@xps13> References: <1458666816-29778-1-git-send-email-mchandras@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Markos Chandras Return-path: Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52]) by dpdk.org (Postfix) with ESMTP id 6B9015A4C for ; Tue, 22 Mar 2016 23:35:51 +0100 (CET) Received: by mail-wm0-f52.google.com with SMTP id p65so1167378wmp.0 for ; Tue, 22 Mar 2016 15:35:51 -0700 (PDT) In-Reply-To: <1458666816-29778-1-git-send-email-mchandras@suse.de> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 > --- > 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?