public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Frysinger (vapier)" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] gentoo-x86 commit in eclass: toolchain-funcs.eclass
Date: Sat, 11 Sep 2010 17:12:20 +0000 (UTC)	[thread overview]
Message-ID: <20100911171221.0068220051@flycatcher.gentoo.org> (raw)

vapier      10/09/11 17:12:20

  Modified:             toolchain-funcs.eclass
  Log:
  convert gcc version funcs to query the preprocessor for its gcc version to work with different compilers #335943 by Ambroz Bizjak

Revision  Changes    Path
1.102                eclass/toolchain-funcs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-funcs.eclass?rev=1.102&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-funcs.eclass?rev=1.102&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-funcs.eclass?r1=1.101&r2=1.102

Index: toolchain-funcs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -r1.101 -r1.102
--- toolchain-funcs.eclass	20 Aug 2010 15:04:11 -0000	1.101
+++ toolchain-funcs.eclass	11 Sep 2010 17:12:20 -0000	1.102
@@ -1,6 +1,6 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v 1.101 2010/08/20 15:04:11 dberkholz Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v 1.102 2010/09/11 17:12:20 vapier Exp $
 
 # @ECLASS: toolchain-funcs.eclass
 # @MAINTAINER:
@@ -360,30 +360,39 @@
 	esac
 }
 
+# Internal func.  The first argument is the version info to expand.
+# Query the preprocessor to improve compatibility across different
+# compilers rather than maintaining a --version flag matrix. #335943
+_gcc_fullversion() {
+	local ver="$1"; shift
+	set -- `$(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__"`
+	eval echo "$ver"
+}
+
 # @FUNCTION: gcc-fullversion
 # @RETURN: compiler version (major.minor.micro: [3.4.6])
 gcc-fullversion() {
-	$(tc-getCC "$@") -dumpversion
+	_gcc_fullversion '$1.$2.$3' "$@"
 }
 # @FUNCTION: gcc-version
 # @RETURN: compiler version (major.minor: [3.4].6)
 gcc-version() {
-	gcc-fullversion "$@" | cut -f1,2 -d.
+	_gcc_fullversion '$1.$2' "$@"
 }
 # @FUNCTION: gcc-major-version
 # @RETURN: major compiler version (major: [3].4.6)
 gcc-major-version() {
-	gcc-version "$@" | cut -f1 -d.
+	_gcc_fullversion '$1' "$@"
 }
 # @FUNCTION: gcc-minor-version
 # @RETURN: minor compiler version (minor: 3.[4].6)
 gcc-minor-version() {
-	gcc-version "$@" | cut -f2 -d.
+	_gcc_fullversion '$2' "$@"
 }
 # @FUNCTION: gcc-micro-version
 # @RETURN: micro compiler version (micro: 3.4.[6])
 gcc-micro-version() {
-	gcc-fullversion "$@" | cut -f3 -d. | cut -f1 -d-
+	_gcc_fullversion '$3' "$@"
 }
 
 # Returns the installation directory - internal toolchain






             reply	other threads:[~2010-09-11 17:12 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-11 17:12 Mike Frysinger (vapier) [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-05-28  7:51 [gentoo-commits] gentoo-x86 commit in eclass: toolchain-funcs.eclass Mike Frysinger (vapier)
2015-04-13  5:38 Mike Frysinger (vapier)
2015-03-31  4:27 Mike Frysinger (vapier)
2015-03-16 21:12 Mike Frysinger (vapier)
2015-03-16 19:26 Mike Frysinger (vapier)
2015-03-10 17:56 Mike Frysinger (vapier)
2015-02-27  6:08 Mike Frysinger (vapier)
2014-11-01  5:19 Mike Frysinger (vapier)
2014-10-15 22:52 Anthony G. Basile (blueness)
2014-10-15 22:30 Anthony G. Basile (blueness)
2014-10-15 22:27 Anthony G. Basile (blueness)
2014-01-17  3:46 Mike Frysinger (vapier)
2014-01-14 20:48 Mike Frysinger (vapier)
2014-01-14  5:33 Mike Frysinger (vapier)
2013-10-12 21:31 Mike Frysinger (vapier)
2013-09-30  1:34 Mike Frysinger (vapier)
2013-05-14 20:40 Mike Frysinger (vapier)
2012-12-29  5:08 Mike Frysinger (vapier)
2012-09-13  5:06 Mike Frysinger (vapier)
2012-07-26 16:43 Mike Frysinger (vapier)
2012-07-25 18:27 Mike Frysinger (vapier)
2012-07-21 16:11 Mike Frysinger (vapier)
2012-06-14  3:38 Mike Frysinger (vapier)
2012-05-10  3:31 Mike Frysinger (vapier)
2011-12-10 19:45 Mike Frysinger (vapier)
2011-10-17 19:11 Mike Frysinger (vapier)
2011-09-12 21:42 Mike Frysinger (vapier)
2011-09-09 19:14 Mike Frysinger (vapier)
2011-09-06 22:54 Mike Frysinger (vapier)
2011-07-12 14:29 Alexis Ballier (aballier)
2010-10-28  4:16 Mike Frysinger (vapier)
2010-08-20 15:04 Donnie Berkholz (dberkholz)
2010-05-23  2:00 Mike Frysinger (vapier)
2010-04-22 18:28 Raul Porcel (armin76)
2010-03-15 23:51 Mike Frysinger (vapier)
2009-12-01  4:44 Mike Frysinger (vapier)
2009-11-27 21:31 Mike Frysinger (vapier)
2009-09-02 20:08 Fabian Groffen (grobian)
2009-09-02  9:00 Fabian Groffen (grobian)
2009-08-15 15:12 Fabian Groffen (grobian)
2009-08-15 15:11 Fabian Groffen (grobian)
2009-05-24  7:25 Fabian Groffen (grobian)
2009-04-05  7:50 Fabian Groffen (grobian)
2009-04-04 17:17 Fabian Groffen (grobian)
2009-03-28 11:09 Mike Frysinger (vapier)
2009-03-01  8:09 Mike Frysinger (vapier)
2009-02-25  0:25 Joshua Kinard (kumba)
2009-01-27 23:35 Mike Frysinger (vapier)
2009-01-08 11:06 Gordon Malm (gengor)
2009-01-08  9:56 Gordon Malm (gengor)
2009-01-08  6:33 Gordon Malm (gengor)
2009-01-08  3:46 Gordon Malm (gengor)
2008-09-16  6:40 Mike Frysinger (vapier)
2008-07-03  5:26 Donnie Berkholz (dberkholz)
2008-06-01  8:56 Alexis Ballier (aballier)
2008-04-16 14:16 Mike Frysinger (vapier)
2008-01-02  1:01 Mike Frysinger (vapier)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100911171221.0068220051@flycatcher.gentoo.org \
    --to=vapier@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox