summaryrefslogtreecommitdiff
path: root/klibc/makeklcc.pl
diff options
context:
space:
mode:
Diffstat (limited to 'klibc/makeklcc.pl')
-rw-r--r--klibc/makeklcc.pl36
1 files changed, 36 insertions, 0 deletions
diff --git a/klibc/makeklcc.pl b/klibc/makeklcc.pl
new file mode 100644
index 0000000000..ea3f8a8256
--- /dev/null
+++ b/klibc/makeklcc.pl
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+#
+# Combine klibc.config, klcc.in to produce a klcc script
+#
+# Usage: makeklcc klcc.in klibc.config perlpath
+#
+
+($klccin, $klibcconf, $perlpath) = @ARGV;
+
+# This should probably handle quotes and escapes...
+sub string2list($)
+{
+ my($s) = @_;
+
+ $s =~ s/\s+/\',\'/g;
+ return "(\'".$s."\')";
+}
+
+print "#!${perlpath}\n";
+
+open(KLIBCCONF, '<', $klibcconf) or die "$0: cannot open $klibcconf: $!\n";
+while ( defined($l = <KLIBCCONF>) ) {
+ chomp $l;
+ if ( $l =~ /=/ ) {
+ print "\$$` = \"\Q$'\E\";\n";
+ print "\@$` = ", string2list("$'"), ";\n";
+ }
+}
+close(KLIBCCONF);
+
+open(KLCCIN, '<', $klccin) or die "$0: cannot open $klccin: $!\n";
+while ( defined($l = <KLCCIN>) ) {
+ print $l;
+}
+close(KLCCIN);
+