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();
display_features();
-make_test() if (check_optional_step('make_test'));
+make_test() if (check_optional_step('test'));
-make_doc() if (check_optional_step('build_docs'));
+make_doc() if (check_optional_step('make-doc'));
##check_port_is_ok($buildport,'Post');
&&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';
sub make_doc
{
- return unless step_wanted('build_docs');
+ return unless step_wanted('make-doc');
print time_str(),"running make doc ...\n" if $verbose;
my (@makeout);
@makeout = `cd $exim/doc/doc-docbook/ && \
EXIM_VER="4.82" $make everything 2>&1`;
my $status = $? >>8;
- writelog('build_docs',\@makeout);
+ writelog('make-doc',\@makeout);
print "======== make doc log ===========\n",@makeout if ($verbose > 1);
send_result('Doc',$status,\@makeout) if $status;
$steps_completed .= " Doc";
sub make_test
{
- return unless step_wanted('make_test');
+ return unless step_wanted('test');
print time_str(),"running make test ...\n" if $verbose;
my $tests_range = $EximBuild::conf{range_num_tests} || "1 4";
my @makeout;
unshift @makeout, "Summary of failed tests:\n";
}
}
- writelog('make_test',\@makeout);
+ writelog('test',\@makeout);
print "======== make test logs ===========\n",@makeout
if ($verbose > 1);