X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fssic.pl;h=73c608d134041f61294bb56c35c13a698d1e60f7;hb=ec6fe3631c44da06d59cf539ad8655d69626d922;hp=b6876d5036ef22fe6d323c93ae656f4604f464fc;hpb=825af6201efe46ddc82e6c0a51410cd86612226e;p=ssic.git
diff --git a/src/ssic.pl b/src/ssic.pl
old mode 100644
new mode 100755
index b6876d5..73c608d
--- a/src/ssic.pl
+++ b/src/ssic.pl
@@ -1,4 +1,19 @@
#!/usr/bin/perl
+#
+# Copyright (C) 2013 Patrick "P. J." McDermott
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
use strict;
use warnings;
@@ -9,6 +24,7 @@ use CGI::SSI;
sub main
{
my %opts;
+ my $ssi;
my $input;
my $output;
@@ -18,6 +34,8 @@ sub main
"no_getopt_compat");
if (not GetOptions(\%opts,
"o=s",
+ "D=s%",
+ "I=s",
"h|help",
"V|version",
)) {
@@ -26,29 +44,34 @@ sub main
}
if (exists($opts{'h'})) {
- help(*STDERR);
+ help(*STDOUT);
exit(0);
}
if (exists($opts{'V'})) {
- version(*STDERR);
+ version(*STDOUT);
exit(0);
}
if ($#ARGV lt 0) {
error(4, "No input files\n");
}
+
+ $ssi = init_compiler($opts{'D'}, $opts{'I'});
+
if (exists($opts{'o'})) {
if ($#ARGV gt 0) {
error(4, "Cannot specify -o with multiple files\n");
}
- compile($ARGV[0], $opts{'o'});
+ compile($ssi, $ARGV[0], $opts{'o'});
} else {
for $input (@ARGV) {
$output = $input;
$output =~ s/\.[^.]+$/.html/;
- compile($input, $output);
+ compile($ssi, $input, $output);
}
}
+
+ undef $ssi;
}
sub usage
@@ -64,9 +87,11 @@ sub help
usage($fh);
print("Options:\n");
- print(" -o