From 1f898006ccc4b1b2b02fde3ddc95b015cd003afc Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sat, 12 Apr 2025 16:46:03 +0100 Subject: Add the require_environment() build function. --- make/directive.pm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'make') diff --git a/make/directive.pm b/make/directive.pm index 14d587572..aa3005750 100644 --- a/make/directive.pm +++ b/make/directive.pm @@ -345,6 +345,24 @@ sub __function_require_library { return $ok; } +sub __function_require_environment { + my ($file, $name, $value) = @_; + + # Check for an inverted match. + my ($ok, $err) = ("", undef); + if ($name =~ s/^!//) { + ($ok, $err) = ($err, $ok); + } + + return $err unless defined $ENV{$name}; + if (defined $value) { + return $err unless $ENV{$name} eq $value; + } + + # Requirement directives don't change anything directly. + return $ok; +} + sub __function_warning { my ($file, @messages) = @_; print_warning @messages; -- cgit v1.3.1-10-gc9f91