From 4ac63aa8b8a345fa6d59b68c481eeb48474be5cb Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Sat, 19 May 2007 18:49:07 +0200 Subject: [PATCH] --- yaml --- r: 61822 b: refs/heads/master c: 0ab2a272e6b55e5d58168d6983da99e2dc09b8b2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/scripts/Kbuild.include | 7 ++++++- trunk/scripts/gcc-version.sh | 15 ++++++++++++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 1cbddc380fbb..4eb76eb00bc4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f241182b51c0f26b29af40c3777f84e6033d0401 +refs/heads/master: 0ab2a272e6b55e5d58168d6983da99e2dc09b8b2 diff --git a/trunk/scripts/Kbuild.include b/trunk/scripts/Kbuild.include index 06c1a377c4c5..677bc6c175cb 100644 --- a/trunk/scripts/Kbuild.include +++ b/trunk/scripts/Kbuild.include @@ -100,9 +100,14 @@ cc-option-align = $(subst -functions=0,,\ $(call cc-option,-falign-functions=0,-malign-functions=0)) # cc-version -# Usage gcc-ver := $(call cc-version,$(CC)) +# Usage gcc-ver := $(call cc-version) cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC)) +# cc-fullversion +# Usage gcc-ver := $(call cc-fullversion) +cc-fullversion = $(shell $(CONFIG_SHELL) \ + $(srctree)/scripts/gcc-version.sh -p $(CC)) + # cc-ifversion # Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1) cc-ifversion = $(shell [ $(call cc-version, $(CC)) $(1) $(2) ] && echo $(3)) diff --git a/trunk/scripts/gcc-version.sh b/trunk/scripts/gcc-version.sh index bb4fbeab8320..8a1d1879c7ad 100644 --- a/trunk/scripts/gcc-version.sh +++ b/trunk/scripts/gcc-version.sh @@ -1,14 +1,23 @@ #!/bin/sh # -# gcc-version gcc-command +# gcc-version [-p] gcc-command # # Prints the gcc version of `gcc-command' in a canonical 4-digit form # such as `0295' for gcc-2.95, `0303' for gcc-3.3, etc. # +# With the -p option, prints the patchlevel as well, for example `029503' for +# gcc-2.95.3, `030301' for gcc-3.3.1, etc. +# + +if [ $1 = "-p" ] ; then with_patchlevel=1; shift; fi compiler="$*" MAJOR=$(echo __GNUC__ | $compiler -E -xc - | tail -n 1) MINOR=$(echo __GNUC_MINOR__ | $compiler -E -xc - | tail -n 1) -printf "%02d%02d\\n" $MAJOR $MINOR - +if [ "x$with_patchlevel" != "x" ] ; then + PATCHLEVEL=$(echo __GNUC_PATCHLEVEL__ | $compiler -E -xc - | tail -n 1) + printf "%02d%02d%02d\\n" $MAJOR $MINOR $PATCHLEVEL +else + printf "%02d%02d\\n" $MAJOR $MINOR +fi