blob: 2effe8b0293476c1f62482528c8b725c3c5267d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<?xml version="1.0"?>
<guide self="profiles/use.mask/">
<chapter>
<title>Profiles <c>use.mask</c> File</title>
<body>
<p>
The <c>use.mask</c> file can be used to mark <c>USE</c> flags as unavailable on a
particular profile. This can be useful for various reasons:
</p>
<ul>
<li>
Masking hardware-specific feature flags. For example, <c>mmx</c> and <c>sse</c> are
only available on x86, <c>altivec</c> is only available on <c>ppc</c> and <c>vis</c> is
only available on sparc v9.
</li>
<li>
Disabling unavailable soft dependencies. A simple hypothetical example <d /> say
<c>fooapp</c> works on <c>mips</c>, but has an optional dependency (controlled by
the <c>bar</c> flag) upon <c>libbar</c>, which doesn't work on <c>mips</c>. Then by
adding the <c>bar</c> flag to <c>profiles/default-linux/mips/use.mask</c>,
<c>fooapp</c> could be made available to <c>mips</c> users with the unresolvable
dependency forcibly disabled.
</li>
</ul>
<p>
Note that <c>use.mask</c> is a per-flag thing, not per package's use of a given
flag. This is one of the reasons that USE flags must have a specific well
defined purpose.
</p>
<p>
Updates to <c>use.mask</c> should be handled via the relevant arch team.
</p>
<p>
See `noblah USE Flags`_ for more discussion.
</p>
</body>
</chapter>
</guide>
|