Branch
Hash :
fc1c3f65
Author :
Date :
2025-01-31T09:20:47
automake: just use warnings, with no => FATAL. Per Perl recommendation: https://perldoc.perl.org/warnings#Fatal-Warnings Suggested by Collin Funk: https://lists.gnu.org/archive/html/automake/2025-01/msg00003.html And in the Perl discussion: https://github.com/Perl/perl5/issues/22954#issuecomment-2622966302 * bin/aclocal.in: just use warnings, not making them fatal. * bin/automake.in: * contrib/tap-driver.pl: * gen-testsuite-part: * lib/Automake/ChannelDefs.pm: * lib/Automake/Channels.pm: * lib/Automake/Condition.pm: * lib/Automake/Config.in: * lib/Automake/Configure_ac.pm: * lib/Automake/DisjConditions.pm: * lib/Automake/FileUtils.pm: * lib/Automake/General.pm: * lib/Automake/Getopt.pm: * lib/Automake/Item.pm: * lib/Automake/ItemDef.pm: * lib/Automake/Language.pm: * lib/Automake/Location.pm: * lib/Automake/Options.pm: * lib/Automake/Rule.pm: * lib/Automake/RuleDef.pm: * lib/Automake/VarDef.pm: * lib/Automake/Variable.pm: * lib/Automake/Version.pm: * lib/Automake/Wrap.pm: * lib/Automake/XFile.pm: * t/ax/deltree.pl: * t/ax/extract-testsuite-summary.pl: * t/check-fd-redirect.sh: * t/tap-signal.tap: * t/tests-environment-fd-redirect.sh: * t/testsuite-summary-count-many.sh:
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
# Copyright (C) 2003-2025 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
##################################################################
# The master copy of this file is in Automake's source repository.
# Please send updates to automake-patches@gnu.org.
##################################################################
package Automake::Configure_ac;
use 5.006; use strict; use warnings;
use Exporter;
use Automake::ChannelDefs;
use Automake::Channels;
our @ISA = qw (Exporter);
our @EXPORT = qw (&find_configure_ac &require_configure_ac);
=head1 NAME
Automake::Configure_ac - Locate configure.ac or configure.in.
=head1 SYNOPSIS
use Automake::Configure_ac;
# Try to locate configure.in or configure.ac in the current
# directory. It may be absent. Complain if both files exist.
my $file_name = find_configure_ac;
# Likewise, but bomb out if the file does not exist.
my $file_name = require_configure_ac;
# Likewise, but in $dir.
my $file_name = find_configure_ac ($dir);
my $file_name = require_configure_ac ($dir);
=over 4
=back
=head2 Functions
=over 4
=item C<$configure_ac = find_configure_ac ([$directory])>
Find a F<configure.ac> or F<configure.in> file in C<$directory>,
defaulting to the current directory. Complain if both files are present.
Return the name of the file found, or the former if neither is present.
=cut
sub find_configure_ac (;@)
{
my ($directory) = @_;
$directory ||= '.';
my $configure_ac =
File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.ac'));
my $configure_in =
File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.in'));
if (-f $configure_in)
{
msg ('obsolete', "autoconf input should be named 'configure.ac'," .
" not 'configure.in'");
if (-f $configure_ac)
{
msg ('unsupported',
"'$configure_ac' and '$configure_in' both present.\n"
. "proceeding with '$configure_ac'");
return $configure_ac
}
else
{
return $configure_in;
}
}
return $configure_ac;
}
=item C<$configure_ac = require_configure_ac ([$directory])>
Like C<find_configure_ac>, but fail if neither is present.
=cut
sub require_configure_ac (;$)
{
my $res = find_configure_ac (@_);
fatal "'configure.ac' is required" unless -f $res;
return $res
}
1;