my $branch_root = getcwd();
-# make sure we are using GNU make
+# Normally we would require GNU Make, but allow farm
+# configuration to override this
die "$make is not GNU Make - please fix config file"
unless check_make();
# If config file changed, force a rebuild
($current_config) = (stat $orig_dir.'/'.$buildconf)[9];
- if ($current_config > $last_config)
+ if (defined $current_config && $current_config > $last_config)
{
$last_status = 0;
set_last('config',$current_config) unless $nostatus;
&&grep {$_ eq $wday} @{$oconf->{dow}});
my $last_step = $last_status = find_last("$step") || 0;
-
- return undef unless ($forcerun ||
- time >$last_step + (3600 * $oconf->{min_hours_since}));
+ ## If made it *to* these optional steps, we just run them and reset last time
+ #return undef unless ($forcerun ||
+ # time >$last_step + (3600 * $oconf->{min_hours_since}));
set_last("$step") unless $nostatus;
return 1;
sub check_make
{
+ # Allow farm member to configure non-GNU make
+ my $non_gnu_make = $EximBuild::conf{non_gnu_make};
+ if (!defined $non_gnu_make ||
+ (defined $non_gnu_make && $non_gnu_make == 1)) {
+ return 'OK';
+ }
my @out = `$make -v 2>&1`;
return undef unless ($? == 0 && grep {/GNU Make/} @out);
return 'OK';