]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - make/configure.pm
Fix watch example config
[user/henk/code/inspircd.git] / make / configure.pm
index 0a7ea566a0e96406ea664a6aca1a31c1b3bb1eb1..bd3591e3ca3c798d5bbabc37fc4b25903897eadf 100644 (file)
@@ -1,10 +1,9 @@
 #
 # InspIRCd -- Internet Relay Chat Daemon
 #
-#   Copyright (C) 2012-2017 Peter Powell <petpow@saberuk.com>
-#   Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
-#   Copyright (C) 2007-2008 Craig Edwards <craigedwards@brainbox.cc>
-#   Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
+#   Copyright (C) 2013-2019 Sadie Powell <sadie@witchery.services>
+#   Copyright (C) 2012 Robby <robby@chatbelgie.be>
+#   Copyright (C) 2007-2008 Craig Edwards <brain@inspircd.org>
 #   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
 #
 # This file is part of InspIRCd.  InspIRCd is free software: you can
@@ -273,10 +272,12 @@ sub parse_templates($$$) {
                        chomp $line;
 
                        # Does this line match a variable?
-                       while ($line =~ /(@(\w+?)@)/) {
-                               my ($variable, $name) = ($1, $2);
+                       while ($line =~ /(@(\w+?)(?:\|(\w*))?@)/) {
+                               my ($variable, $name, $default) = ($1, $2, $3);
                                if (defined $settings{$name}) {
                                        $line =~ s/\Q$variable\E/$settings{$name}/;
+                               } elsif (defined $default) {
+                                       $line =~ s/\Q$variable\E/$default/;
                                } else {
                                        print_warning "unknown template variable '$name' in $_!";
                                        last;
@@ -284,21 +285,21 @@ sub parse_templates($$$) {
                        }
 
                        # Does this line match a directive?
-                       if ($line =~ /^\s*%(\w+)\s+(.+)$/) {
-                               if ($1 eq 'define') {
-                                       if ($settings{$2}) {
-                                               push @lines, "#define $2";
+                       if ($line =~ /^(\s*)%(\w+)\s+(.+)$/) {
+                               if ($2 eq 'define') {
+                                       if ($settings{$3}) {
+                                               push @lines, "#$1define $3";
                                        } else {
-                                               push @lines, "#undef $2";
+                                               push @lines, "#$1undef $3";
                                        }
-                               } elsif ($1 eq 'mode') {
-                                       $mode = oct $2;
-                               } elsif ($1 eq 'platform') {
-                                       push @platforms, $2;
-                               } elsif ($1 eq 'target') {
-                                       push @targets, $2
+                               } elsif ($2 eq 'mode') {
+                                       $mode = oct $3;
+                               } elsif ($2 eq 'platform') {
+                                       push @platforms, $3;
+                               } elsif ($2 eq 'target') {
+                                       push @targets, $3
                                } else {
-                                       print_warning "unknown template command '$1' in $_!";
+                                       print_warning "unknown template command '$2' in $_!";
                                        push @lines, $line;
                                }
                                next;