From a5f97d98b0017c47e056f43b27c76a21b3faa0a7 Mon Sep 17 00:00:00 2001 From: Todd Lyons Date: Sun, 24 Nov 2013 09:21:10 -0800 Subject: [PATCH] Allow farm member to specify non-GNU make --- build-farm.conf.template | 2 ++ run_build.pl | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/build-farm.conf.template b/build-farm.conf.template index a9c6c68..8255bb3 100644 --- a/build-farm.conf.template +++ b/build-farm.conf.template @@ -42,6 +42,8 @@ my $branch; # git_reference => undef, # or gmake if required. can include path if necessary. make => 'make', + # 1 = any make will do, 0 = require GNU (default) + non_gnu_make => 0, # >1 for parallel "make" and "make check" steps make_jobs => undef, # default is "tar -z -cf runlogs.tgz *.log" diff --git a/run_build.pl b/run_build.pl index bc15dd0..2171231 100755 --- a/run_build.pl +++ b/run_build.pl @@ -313,7 +313,8 @@ foreach my $oldfile (glob("last*")) 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(); @@ -827,6 +828,12 @@ sub display_features 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'; -- 2.30.2