#!/usr/bin/perl -w

use File::Basename;

unless ($#ARGV == 0)
{
  die "Syntax: $0 <pgf file>\n";
}

my $filename = $ARGV[0];

my ($name, $path, $suffix) = fileparse($filename, '\.tex');

chdir $path or die "Can't change to '$path' $!\n";

my $tmptex = $name+"-tmp.tex";

open TMPTEX, ">$tmptex" or die "Can't open '$path$tmptex' $!\n";

print TMPTEX "\\documentclass{article}\n";
print TMPTEX "\\usepackage{pgf}\n";
print TMPTEX "\\begin{document}\n";
print TMPTEX "\\pagestyle{empty}%\n";
print TMPTEX "\\noindent\\input{$name}%";
print TMPTEX "\\end{document}\n";

close TMPTEX;

system("pdflatex -batchmode \"$tmptex\"");

unless (-e $tmptex)
{
   die("pdflatex run failed. See \"$path$tmptex.log\" for details\n");
}

system("pdftoppm -l 1 \"$tmptex\" | pnmcrop | pnmtopng \"$name.png\"");

unlink($tmptex);
unlink("$name-tmp.log");
unlink("$name-tmp.aux");
unlink("$name-tmp.pdf");

1;
