xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/ext/B/B/assemble (revision 0:68f95e015346)
1use B::Assembler qw(assemble_fh);
2use FileHandle;
3
4my ($filename, $fh, $out);
5
6if ($ARGV[0] eq "-d") {
7    B::Assembler::debug(1);
8    shift;
9}
10
11$out = \*STDOUT;
12
13if (@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
27binmode $out;
28$SIG{__WARN__} = sub { warn "$filename:@_" };
29$SIG{__DIE__} = sub { die "$filename: @_" };
30assemble_fh($fh, sub { print $out @_ });
31