The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

#---------------------------------------------------------------------
package My_Build;
#
# Copyright 2007 Christopher J. Madsen
#
# Author: Christopher J. Madsen <perl@cjmweb.net>
# Created: 18 Feb 2007
#
# This program is free software; you can redistribute it and/or modify
# it under the same terms as Perl itself.
#
# 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 either the
# GNU General Public License or the Artistic License for more details.
#
# Customize Module::Build for MSDOS::Descript
#---------------------------------------------------------------------
use strict;
our @ISA = qw(Module::Build);
#=====================================================================
# Package Global Variables:
our $VERSION = '1.04';
#=====================================================================
# Explain what missing MSDOS::Attrib means:
sub prereq_failures
{
my $self = shift @_;
my $out = $self->SUPER::prereq_failures(@_);
return $out unless $out;
if (my $attrib = $out->{recommends}{'MSDOS::Attrib'}) {
my $message;
if ($^O =~ /os2|win32|cygwin/i) {
$message = <<'';
Although MSDOS::Descript will work without MSDOS::Attrib, any
DESCRIPT.ION files that it alters will be visible, because I can't
hide files without MSDOS::Attrib. If you have a C compiler,
I suggest you get MSDOS::Attrib from CPAN and install it.
} else {
$message = <<'';
However, you don't seem to be running on an MS-DOS style operating
system, so MSDOS::Attrib wouldn't work anyway. Don't worry about
this warning. But, if you change any DESCRIPT.ION files on an MS-DOS
style system (via a network, for example) they won't be hidden.
}
$attrib->{message} .= "\n\n$message";
} # end if MSDOS::Attrib failed
return $out;
} # end prereq_failures
#=====================================================================
# Package Return Value:
1;