diff options
Diffstat (limited to 'klibc/makeklcc.pl')
-rw-r--r-- | klibc/makeklcc.pl | 36 |
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); + |