Gentoo Archives: gentoo-dev

From: Mike Gilbert <floppym@g.o>
To: gentoo-dev@l.g.o
Cc: toolchain@g.o
Subject: [gentoo-dev] [PATCH 2/2] toolchain-funcs.eclass: use gcc-{ar,nm,ranlib} when available
Date: Thu, 01 Jun 2017 18:03:59
Message-Id: 20170601180302.27466-2-floppym@gentoo.org
In Reply to: [gentoo-dev] [PATCH 1/2] toolchain-funcs.eclass: rework _tc-getPROG to accept a colon-separated list of default programs by Mike Gilbert
1 This will come in handy for users who enable LTO, since they need to use
2 the gcc wrappers for 'ar', 'nm', and 'ranlib'.
3
4 The default program search order becomes:
5
6 ${CHOST}-gcc-ar
7 ${CHOST}-ar
8 gcc-ar
9 ar
10
11 This matches the behavior of a typical autoconf call:
12
13 AC_CHECK_TOOLS(AR, [gcc-ar ar])
14 ---
15 eclass/toolchain-funcs.eclass | 12 ++++++------
16 1 file changed, 6 insertions(+), 6 deletions(-)
17
18 diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
19 index b402a9ff2780..d1f9ac019362 100644
20 --- a/eclass/toolchain-funcs.eclass
21 +++ b/eclass/toolchain-funcs.eclass
22 @@ -69,7 +69,7 @@ tc-getPROG() { _tc-getPROG CHOST "$@"; }
23 # @FUNCTION: tc-getAR
24 # @USAGE: [toolchain prefix]
25 # @RETURN: name of the archiver
26 -tc-getAR() { tc-getPROG AR ar "$@"; }
27 +tc-getAR() { tc-getPROG AR gcc-ar:ar "$@"; }
28 # @FUNCTION: tc-getAS
29 # @USAGE: [toolchain prefix]
30 # @RETURN: name of the assembler
31 @@ -97,11 +97,11 @@ tc-getSTRIP() { tc-getPROG STRIP strip "$@"; }
32 # @FUNCTION: tc-getNM
33 # @USAGE: [toolchain prefix]
34 # @RETURN: name of the symbol/object thingy
35 -tc-getNM() { tc-getPROG NM nm "$@"; }
36 +tc-getNM() { tc-getPROG NM gcc-nm:nm "$@"; }
37 # @FUNCTION: tc-getRANLIB
38 # @USAGE: [toolchain prefix]
39 # @RETURN: name of the archiver indexer
40 -tc-getRANLIB() { tc-getPROG RANLIB ranlib "$@"; }
41 +tc-getRANLIB() { tc-getPROG RANLIB gcc-ranlib:ranlib "$@"; }
42 # @FUNCTION: tc-getOBJCOPY
43 # @USAGE: [toolchain prefix]
44 # @RETURN: name of the object copier
45 @@ -142,7 +142,7 @@ tc-getDLLWRAP() { tc-getPROG DLLWRAP dllwrap "$@"; }
46 # @FUNCTION: tc-getBUILD_AR
47 # @USAGE: [toolchain prefix]
48 # @RETURN: name of the archiver for building binaries to run on the build machine
49 -tc-getBUILD_AR() { tc-getBUILD_PROG AR ar "$@"; }
50 +tc-getBUILD_AR() { tc-getBUILD_PROG AR gcc-ar:ar "$@"; }
51 # @FUNCTION: tc-getBUILD_AS
52 # @USAGE: [toolchain prefix]
53 # @RETURN: name of the assembler for building binaries to run on the build machine
54 @@ -170,11 +170,11 @@ tc-getBUILD_STRIP() { tc-getBUILD_PROG STRIP strip "$@"; }
55 # @FUNCTION: tc-getBUILD_NM
56 # @USAGE: [toolchain prefix]
57 # @RETURN: name of the symbol/object thingy for building binaries to run on the build machine
58 -tc-getBUILD_NM() { tc-getBUILD_PROG NM nm "$@"; }
59 +tc-getBUILD_NM() { tc-getBUILD_PROG NM gcc-nm:nm "$@"; }
60 # @FUNCTION: tc-getBUILD_RANLIB
61 # @USAGE: [toolchain prefix]
62 # @RETURN: name of the archiver indexer for building binaries to run on the build machine
63 -tc-getBUILD_RANLIB() { tc-getBUILD_PROG RANLIB ranlib "$@"; }
64 +tc-getBUILD_RANLIB() { tc-getBUILD_PROG RANLIB gcc-ranlib:ranlib "$@"; }
65 # @FUNCTION: tc-getBUILD_OBJCOPY
66 # @USAGE: [toolchain prefix]
67 # @RETURN: name of the object copier for building binaries to run on the build machine
68 --
69 2.13.0