mirror of
git://git.sv.gnu.org/autoconf
synced 2025-01-30 11:01:45 +08:00
Provide a helpful message if autopoint or libtoolize do not exist.
* lib/Autom4te/FileUtils.pm (handle_exec_errors): New argument $hint, show if the executing program does not exist. (xsystem_hint): New function, like xsystem but allows to pass a hint. * bin/autoreconf.in: Use xsystem_hint for spawning autopoint and libtoolize. Report by Bruce Korb. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
This commit is contained in:
parent
4c32cbb30f
commit
97a91204c0
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* lib/Autom4te/FileUtils.pm (handle_exec_errors): New argument
|
||||
$hint, show if the executing program does not exist.
|
||||
(xsystem_hint): New function, like xsystem but allows to pass
|
||||
a hint.
|
||||
* bin/autoreconf.in: Use xsystem_hint for spawning autopoint and
|
||||
libtoolize.
|
||||
Report by Bruce Korb.
|
||||
|
||||
2008-03-14 Stepan Kasal <kasal@ucw.cz>
|
||||
|
||||
* lib/Autom4te/ChannelDefs.pm, tests/fortran.at,
|
||||
|
@ -364,7 +364,7 @@ sub autoreconf_current_directory ()
|
||||
}
|
||||
else
|
||||
{
|
||||
xsystem "$autopoint";
|
||||
xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
|
||||
}
|
||||
|
||||
|
||||
@ -528,7 +528,7 @@ sub autoreconf_current_directory ()
|
||||
{
|
||||
$libtoolize .= " --ltdl";
|
||||
}
|
||||
xsystem ($libtoolize);
|
||||
xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
|
||||
$rerun_aclocal = 1;
|
||||
}
|
||||
else
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 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
|
||||
@ -47,7 +47,7 @@ use vars qw (@ISA @EXPORT);
|
||||
@EXPORT = qw (&open_quote &contents
|
||||
&find_file &mtime
|
||||
&update_file &up_to_date_p
|
||||
&xsystem &xqx &dir_has_case_matching_file &reset_dir_cache);
|
||||
&xsystem &xsystem_hint &xqx &dir_has_case_matching_file &reset_dir_cache);
|
||||
|
||||
|
||||
=item C<open_quote ($file_name)>
|
||||
@ -231,23 +231,32 @@ sub up_to_date_p ($@)
|
||||
}
|
||||
|
||||
|
||||
=item C<handle_exec_errors ($command, [$expected_exit_code = 0])>
|
||||
=item C<handle_exec_errors ($command, [$expected_exit_code = 0], [$hint])>
|
||||
|
||||
Display an error message for C<$command>, based on the content of
|
||||
C<$?> and C<$!>. Be quiet if the command exited normally
|
||||
with C<$expected_exit_code>.
|
||||
with C<$expected_exit_code>. If C<$hint> is given, display that as well
|
||||
if the command failed to run at all.
|
||||
|
||||
=cut
|
||||
|
||||
sub handle_exec_errors ($;$)
|
||||
sub handle_exec_errors ($;$$)
|
||||
{
|
||||
my ($command, $expected) = @_;
|
||||
my ($command, $expected, $hint) = @_;
|
||||
$expected = 0 unless defined $expected;
|
||||
if (defined $hint)
|
||||
{
|
||||
$hint = "\n" . $hint;
|
||||
}
|
||||
else
|
||||
{
|
||||
$hint = '';
|
||||
}
|
||||
|
||||
$command = (split (' ', $command))[0];
|
||||
if ($!)
|
||||
{
|
||||
fatal "failed to run $command: $!";
|
||||
fatal "failed to run $command: $!" . $hint;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -316,6 +325,25 @@ sub xsystem (@)
|
||||
}
|
||||
|
||||
|
||||
=item C<xsystem_hint ($msg, @argv)>
|
||||
|
||||
Same as C<xsystem>, but allows to pass a hint that will be displayed
|
||||
in case the command failed to run at all.
|
||||
|
||||
=cut
|
||||
|
||||
sub xsystem_hint (@)
|
||||
{
|
||||
my ($hint, @command) = @_;
|
||||
|
||||
verb "running: @command";
|
||||
|
||||
$! = 0;
|
||||
handle_exec_errors "@command", 0, $hint
|
||||
if system @command;
|
||||
}
|
||||
|
||||
|
||||
=item C<contents ($file_name)>
|
||||
|
||||
Return the contents of C<$file_name>.
|
||||
|
Loading…
Reference in New Issue
Block a user