summaryrefslogtreecommitdiff
path: root/lib/Automake
diff options
context:
space:
mode:
authorPeter Rosin <peda@lysator.liu.se>2012-03-07 21:08:06 +0100
committerPeter Rosin <peda@lysator.liu.se>2012-03-07 21:08:07 +0100
commit3a8146089834c5187d0b0795b9fa71a0f9bba132 (patch)
tree2a41eafbbd56549a852e68d62b299d66af3f220d /lib/Automake
parent94d56e80384e3ae80e2817aa12adae8ad7f3d1ed (diff)
parent24ab98457ee12a58dc070a3748cf3fd56f1c4c18 (diff)
downloadautomake-3a8146089834c5187d0b0795b9fa71a0f9bba132.tar.gz
Merge branch 'msvc' into maint
This merge remedies the confusing situation that some changes destined for both the master branch and the release branch (a.k.a. branch-1.11) currently needs to be made on the non-obvious msvc branch and not on the more natural maint branch. This has caused a seemingly endless string of less than optimal commits. The reason for the confusion stems from the fact that the changes made on the msvc branch became too radical and was considered only suitable for the master branch, and was thus written in a form suitable for master and then merged there. Later, the msvc branch was merged directly into branch-1.11, in order to rush the new features to the market and to keep the released scripts (lib/ar-lib, lib/compile and lib/depcomp) consistent with those on the master branch. However, some changes had to be made to the features added by the msvc branch in order for them to fit the requirements of branch-1.11, notably that the warnings issued in the extra-portability class cannot be enabled by -Wall in the 1.11.x maintenance releases. In retrospect, it would have been better to not merge msvc directly into branch-1.11, but instead do it via the maint branch (followed up with a dummy merge from maint into master) the moment it was decided that the msvc changes should make it into branch-1.11. All in all, this merge is going to affect neither the master branch nor branch-1.11, since it is followed up with dummy merges masking all changes. The merge is made to maintain the sanity of the poor developers, who wishes to once again have a working maint branch. Discussion about merging the msvc branch into branch-1.11: http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html Discussion about why this merge hasn't happened before: http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html Extra edits below. * lib/Automake/ChannelDefs.pm: Use the version from branch-1.11. * tests/ar-lib3.test: Likewise. * tests/ar-lib4.test: Likewise. * tests/extra-portability.test: Likewise. * tests/extra-portability2.test: Likewise. * tests/extradep.test: Likewise. * tests/extradep2.test: Likewise. * tests/list-of-tests.mk: Likewise. * HACKING: Backport the version from branch-1.11 while at it (as the change on branch-1.11 is also present on master via an unrelated commit), even though this change has nothing to do with the changes on the msvc branch.
Diffstat (limited to 'lib/Automake')
-rw-r--r--lib/Automake/ChannelDefs.pm28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/Automake/ChannelDefs.pm b/lib/Automake/ChannelDefs.pm
index aaca97920..9b6d3a584 100644
--- a/lib/Automake/ChannelDefs.pm
+++ b/lib/Automake/ChannelDefs.pm
@@ -115,6 +115,10 @@ variables (silent by default).
Warnings about non-portable constructs.
+=item C<extra-portability>
+
+Extra warnings about non-portable constructs covering obscure tools.
+
=item C<syntax>
Warnings about weird syntax, unused variables, typos...
@@ -151,6 +155,7 @@ register_channel 'automake', type => 'fatal', backtrace => 1,
footer => "\nPlease contact <$PACKAGE_BUGREPORT>.",
uniq_part => UP_NONE, ordered => 0;
+register_channel 'extra-portability', type => 'warning', silent => 1;
register_channel 'gnu', type => 'warning';
register_channel 'obsolete', type => 'warning', silent => 1;
register_channel 'override', type => 'warning', silent => 1;
@@ -180,6 +185,7 @@ sub usage ()
`obsolete' obsolete features or constructions
`override' user redefinitions of Automake rules or variables
`portability' portability issues (default in gnu and gnits modes)
+ `extra-portability' extra portability issues related to obscure tools
`syntax' dubious syntactic constructs (default)
`unsupported' unsupported or incomplete features (default)
`all' all the warnings
@@ -252,6 +258,10 @@ Else handle C<all> and C<none> for completeness.
=cut
+# HACK to have `-Wextra-portability' *not* implied by `-Wall'.
+# This will go away in automake 1.12.
+my $have_extra_portability = 0;
+
sub switch_warning ($)
{
my ($cat) = @_;
@@ -266,6 +276,8 @@ sub switch_warning ($)
if ($cat eq 'all')
{
setup_channel_type 'warning', silent => $has_no;
+ setup_channel 'extra-portability', silent => 1
+ unless $have_extra_portability;
}
elsif ($cat eq 'none')
{
@@ -284,6 +296,17 @@ sub switch_warning ($)
setup_channel $cat, silent => $has_no;
setup_channel 'portability-recursive', silent => $has_no
if $cat eq 'portability';
+ if ($cat eq 'portability' && $has_no)
+ {
+ setup_channel 'extra-portability', silent => 1;
+ $have_extra_portability = 0;
+ }
+ if ($cat eq 'extra-portability' && ! $has_no)
+ {
+ setup_channel 'portability', silent => 0;
+ setup_channel 'portability-recursive', silent => 0;
+ $have_extra_portability = 1;
+ }
}
else
{
@@ -345,6 +368,7 @@ sub set_strictness ($)
setup_channel 'error-gnu/warn', silent => 0, type => 'error';
setup_channel 'error-gnits', silent => 1;
setup_channel 'portability', silent => 0;
+ setup_channel 'extra-portability', silent => 1;
setup_channel 'gnu', silent => 0;
}
elsif ($name eq 'gnits')
@@ -353,6 +377,7 @@ sub set_strictness ($)
setup_channel 'error-gnu/warn', silent => 0, type => 'error';
setup_channel 'error-gnits', silent => 0;
setup_channel 'portability', silent => 0;
+ setup_channel 'extra-portability', silent => 1;
setup_channel 'gnu', silent => 0;
}
elsif ($name eq 'foreign')
@@ -361,6 +386,7 @@ sub set_strictness ($)
setup_channel 'error-gnu/warn', silent => 0, type => 'warning';
setup_channel 'error-gnits', silent => 1;
setup_channel 'portability', silent => 1;
+ setup_channel 'extra-portability', silent => 1;
setup_channel 'gnu', silent => 1;
}
else
@@ -369,6 +395,8 @@ sub set_strictness ($)
}
}
+1;
+
=back
=head1 SEE ALSO