use strict;
use warnings;
+use IO::File;
BEGIN {
# The somewhat hairy Perl export mechanism
sub Log($) {
print @_;
+ STDOUT->flush;
}
sub Notice($) {
print @_ if $vars{"VERBOSE"};
+ STDOUT->flush;
}
sub Warn($) {
print "WARNING: ", @_;
+ STDOUT->flush;
}
sub Fail($) {
Log ((Get($var) ? "yes" : "no") . " (set)\n");
} else {
my ($val, $comment) = &$sub();
- Set($var, $val);
+ if ($val) {
+ Set($var);
+ } else {
+ UnSet($var);
+ }
Log (($val ? "yes" : "no") . "\n");
}
}
sub TryFindFile($) {
my ($f) = @_;
- if (-f $f) {
- return $f;
- } elsif ($f !~ /^\// && -f (Get("SRCDIR")."/$f")) {
+ if ($f =~ m{^/}) {
+ return (-f $f) ? $f : undef;
+ } elsif (-f $f) {
+ return "./$f";
+ } elsif (-f (Get("SRCDIR")."/$f")) {
return Get("SRCDIR")."/$f";
} else {
return undef;