1 |
commit: 1de36ad91237651277b9e4b7e0db819efb5e6997 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Dec 21 21:28:47 2011 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Dec 21 21:28:47 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1de36ad9 |
7 |
|
8 |
Use *FLAGS for CFLAGS ignorance checks. |
9 |
|
10 |
Current *FLAGS variables include CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS. |
11 |
Not that this check is only enabled if every one of these variables |
12 |
contains -frecord-gcc-switches, since otherwise the check could result |
13 |
in false positive results. |
14 |
|
15 |
--- |
16 |
bin/misc-functions.sh | 7 ++++++- |
17 |
cnf/make.conf | 7 +++++-- |
18 |
man/ebuild.5 | 2 +- |
19 |
3 files changed, 12 insertions(+), 4 deletions(-) |
20 |
|
21 |
diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh |
22 |
index 4cba51a..c74b4a4 100755 |
23 |
--- a/bin/misc-functions.sh |
24 |
+++ b/bin/misc-functions.sh |
25 |
@@ -308,8 +308,13 @@ install_qa_check() { |
26 |
sleep 1 |
27 |
fi |
28 |
|
29 |
- # Check for files built without respecting CFLAGS |
30 |
+ # Check for files built without respecting *FLAGS. Note that |
31 |
+ # -frecord-gcc-switches must be in all *FLAGS variables, in |
32 |
+ # order to avoid false positive results here. |
33 |
if [[ "${CFLAGS}" == *-frecord-gcc-switches* ]] && \ |
34 |
+ [[ "${CXXFLAGS}" == *-frecord-gcc-switches* ]] && \ |
35 |
+ [[ "${FFLAGS}" == *-frecord-gcc-switches* ]] && \ |
36 |
+ [[ "${FCFLAGS}" == *-frecord-gcc-switches* ]] && \ |
37 |
! has binchecks ${RESTRICT} ; then |
38 |
qa_var="QA_CFLAGS_IGNORED_${ARCH/-/_}" |
39 |
eval "[[ -n \${!qa_var} ]] && QA_CFLAGS_IGNORED=(\"\${${qa_var}[@]}\")" |
40 |
|
41 |
diff --git a/cnf/make.conf b/cnf/make.conf |
42 |
index aecb633..5ee1cd3 100644 |
43 |
--- a/cnf/make.conf |
44 |
+++ b/cnf/make.conf |
45 |
@@ -32,8 +32,11 @@ |
46 |
# package (and in some cases the libraries it uses) at default optimizations |
47 |
# before reporting errors to developers. |
48 |
# |
49 |
-# If your gcc supports it, you can add -frecord-gcc-switches in order to enable |
50 |
-# CFLAGS ignorance checking for ebuilds. |
51 |
+# If your gcc supports it, you can add -frecord-gcc-switches to all of the |
52 |
+# following *FLAGS in order to enable *FLAGS ignorance checking for ebuilds. |
53 |
+# Note that this check is only enabled if every one of these variables contains |
54 |
+# -frecord-gcc-switches, since otherwise the check could result in false |
55 |
+# positive results. |
56 |
# |
57 |
# Please refer to the GCC manual for a list of possible values. |
58 |
# |
59 |
|
60 |
diff --git a/man/ebuild.5 b/man/ebuild.5 |
61 |
index a9a26a7..4f2f3a8 100644 |
62 |
--- a/man/ebuild.5 |
63 |
+++ b/man/ebuild.5 |
64 |
@@ -608,7 +608,7 @@ files that do not contain .GCC.command.line sections. The paths may contain |
65 |
regular expressions with escape\-quoted special characters. |
66 |
.br |
67 |
This variable is intended to be used on files of binary packages which ignore |
68 |
-CFLAGS variable. |
69 |
+CFLAGS, CXXFLAGS, FFLAGS, and FCFLAGS variables. |
70 |
.TP |
71 |
.TP |
72 |
\fBQA_DT_HASH\fR |