From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1OuTcl-0001w6-MO for garchives@archives.gentoo.org; Sat, 11 Sep 2010 17:12:23 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0DE02E08FB; Sat, 11 Sep 2010 17:12:23 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id E8C7FE08EF for ; Sat, 11 Sep 2010 17:12:22 +0000 (UTC) Received: from flycatcher.gentoo.org (flycatcher.gentoo.org [81.93.255.6]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 703201B40AA for ; Sat, 11 Sep 2010 17:12:22 +0000 (UTC) Received: by flycatcher.gentoo.org (Postfix, from userid 559) id 0068220051; Sat, 11 Sep 2010 17:12:20 +0000 (UTC) From: "Mike Frysinger (vapier)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, vapier@gentoo.org Subject: [gentoo-commits] gentoo-x86 commit in eclass: toolchain-funcs.eclass X-VCS-Repository: gentoo-x86 X-VCS-Files: toolchain-funcs.eclass X-VCS-Directories: eclass X-VCS-Committer: vapier X-VCS-Committer-Name: Mike Frysinger Content-Type: text/plain; charset=utf8 Message-Id: <20100911171221.0068220051@flycatcher.gentoo.org> Date: Sat, 11 Sep 2010 17:12:20 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 2fcdb5f8-7ea4-4e54-a2cf-f52501ef516d X-Archives-Hash: 4739864cceb532dd414adc908ad6ecd2 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-f= uncs.eclass?rev=3D1.102&view=3Dmarkup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-f= uncs.eclass?rev=3D1.102&content-type=3Dtext/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-f= uncs.eclass?r1=3D1.101&r2=3D1.102 Index: toolchain-funcs.eclass =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 $ =20 # @ECLASS: toolchain-funcs.eclass # @MAINTAINER: @@ -360,30 +360,39 @@ esac } =20 +# 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=3D"$1"; shift + set -- `$(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ __GNUC_PA= TCHLEVEL__"` + 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' "$@" } =20 # Returns the installation directory - internal toolchain