summaryrefslogtreecommitdiffstats
path: root/install-win32/nsitran.pl
diff options
context:
space:
mode:
Diffstat (limited to 'install-win32/nsitran.pl')
-rw-r--r--install-win32/nsitran.pl13
1 files changed, 12 insertions, 1 deletions
diff --git a/install-win32/nsitran.pl b/install-win32/nsitran.pl
index 7c04e40..49512b4 100644
--- a/install-win32/nsitran.pl
+++ b/install-win32/nsitran.pl
@@ -1,5 +1,16 @@
+# This is a simple language translator. It translates
+# the NSIS format of version.nsi to either C, sh, or Javascript.
+
($mode) = @ARGV;
+$comment = "This file was automatically generated by nsitran.pl";
+
+print "// $comment\n" if ($mode eq "c");
+print "# $comment\n" if ($mode eq "sh");
+print "// $comment\n" if ($mode eq "js");
+
+print "\n";
+
while (<STDIN>) {
chomp;
if (/^\s*$/) {
@@ -10,7 +21,7 @@ while (<STDIN>) {
print "//$1\n" if ($mode eq "js");
} elsif (/^!define\s+(\w+)\s+(.+)$/) {
print "#define $1 $2\n" if ($mode eq "c");
- print "export $1=$2\n" if ($mode eq "sh");
+ print "[ -z \"\$$1\" ] && export $1=$2\n[ \"\$$1\" = \"null\" ] && unset $1\n" if ($mode eq "sh");
print "var $1=$2;\n" if ($mode eq "js");
}
}