Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / perl5 / ext / B / B / assemble
1 use B::Assembler qw(assemble_fh);
2 use FileHandle;
3
4 my ($filename, $fh, $out);
5
6 if ($ARGV[0] eq "-d") {
7     B::Assembler::debug(1);
8     shift;
9 }
10
11 $out = \*STDOUT;
12
13 if (@ARGV == 0) {
14     $fh = \*STDIN;
15     $filename = "-";
16 } elsif (@ARGV == 1) {
17     $filename = $ARGV[0];
18     $fh = new FileHandle "<$filename";
19 } elsif (@ARGV == 2) {
20     $filename = $ARGV[0];
21     $fh = new FileHandle "<$filename";
22     $out = new FileHandle ">$ARGV[1]";
23 } else {
24     die "Usage: assemble [filename] [outfilename]\n";
25 }
26
27 binmode $out;
28 $SIG{__WARN__} = sub { warn "$filename:@_" };
29 $SIG{__DIE__} = sub { die "$filename: @_" };
30 assemble_fh($fh, sub { print $out @_ });