1 |
Hi, everyone. |
2 |
|
3 |
I've written a new tool called shadowman [1] that aims to partially |
4 |
replace the current *-config tools shipped with ccache, distcc, icecc |
5 |
and potentially more. |
6 |
|
7 |
Why? Because the existing tools are inconsistent, inconvenient |
8 |
and usually incomplete. The README [2] states a number of advantages: |
9 |
|
10 |
| 1. one usage syntax that works for all tools, |
11 |
| |
12 |
| 2. ability to update/clean masquerades for multiple tools in one call, |
13 |
| |
14 |
| 3. consistent (and *good*) implementation -- now all tools get the same |
15 |
| executable list, |
16 |
| |
17 |
| 4. reduced code duplication, |
18 |
| |
19 |
| 5. modular layout that allows adding extra tools/compiler wildcards |
20 |
| by third-party packages. |
21 |
|
22 |
This thread includes patches that: |
23 |
|
24 |
a. add the package for shadowman (skipping some bundled modules for |
25 |
external inclusion) -- for testing it's just a live ebuild with full |
26 |
keyword set; I will obviously change that before the final inclusion; |
27 |
|
28 |
b. adds shadowman support to ccache, distcc & icecream packages |
29 |
(preserving the old utilities for compatibility), |
30 |
|
31 |
c. adds shadowman update call to toolchain.eclass & clang ebuilds |
32 |
so that the masquerades get updated automatically on gcc/clang upgrade. |
33 |
|
34 |
Please review. Alternatively available as PR on GitHub [3]. |
35 |
|
36 |
[1]:https://github.com/mgorny/shadowman |
37 |
[2]:https://github.com/mgorny/shadowman/blob/master/README |
38 |
[3]:https://github.com/gentoo/gentoo/pull/5386 |