diff --git a/ghc/utils/mkdependHS/mkdependHS.prl b/ghc/utils/mkdependHS/mkdependHS.prl index db6b16779d186208921668d1229506808f5f4081..ea28cfc1c41bb4c2ef51f6dc7d156b851cf56be7 100644 --- a/ghc/utils/mkdependHS/mkdependHS.prl +++ b/ghc/utils/mkdependHS/mkdependHS.prl @@ -32,6 +32,7 @@ mkdependHS-specific options (not between --'s): -v Be verbose. -v -v Be very verbose. + -W No warnings -f blah Use "blah" as the makefile, rather than "makefile" or "Makefile". -o <osuf> Use <osuf> as the "object file" suffix ( default: o) @@ -54,8 +55,9 @@ mkdependHS-specific options (not between --'s): EOUSAGE -$Status = 0; # just used for exit() status -$Verbose = 0; # 1 => verbose, 2 => very verbose +$Status = 0; # just used for exit() status +$Verbose = 0; # 1 => verbose, 2 => very verbose +$Warnings = 1; # 1 => warn about duplicate interface files $Dashdashes_seen = 0; # Try to guess how to run gcc's CPP directly ------------- @@ -239,7 +241,7 @@ sub mangle_command_line_args { } elsif ( /^-D(.*)/ ) { # recognized wherever they occur push(@Defines, $_); - } elsif ( /^-i(.*)/ ) { + } elsif ( /^-i(.*)/ ) { # ditto $Import_dirs .= ":$1"; } elsif ( /^-I/ ) { $Include_dirs .= " $_"; @@ -248,6 +250,8 @@ sub mangle_command_line_args { } elsif ($Dashdashes_seen != 1) { # not between -- ... -- if ( /^-v$/ ) { $Verbose++; + } elsif ( /^-W$/ ) { + $Warnings = 0; } elsif ( /^-f(.*)/ ) { $Makefile = &grab_arg_arg('-f',$1); } elsif ( /^-o(.*)/ ) { @@ -318,7 +322,7 @@ sub preprocess_import_dirs { next unless /(.*)\.hi$/; $thing = $1; if ($ModuleIn{$thing} && $ModuleIn{$thing} ne $d) { - print STDERR "$Pgm: warning: $thing.hi appears in both $ModuleIn{$thing} and $d!\n"; + print STDERR "$Pgm: warning: $thing.hi appears in both $ModuleIn{$thing} and $d!\n" if ($Warnings); } else { $ModuleIn{$thing} = $d; }