1# -*- perl -*- -w 2#- 3#- This is a wrapper for the Perl scripts. Allows execution of 4#- the same script on different platforms. Mainly used for 5#- TeXlive. 6#- 7#- When running TeXlive, "perl" must be available in the PATH 8#- 9#if @TEXLIVE@ 10eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' 11 & eval 'exec perl -S $0 $argv:q' 12 if 0; # suppress this stuff in perl 13#else 14eval '(exit $?0)' && eval 'exec @PERL@ -S $0 ${1+"$@"}' 15 & eval 'exec @PERL@ -S $0 $argv:q' 16 if 0; # suppress this stuff in perl 17#fi 18 19# The above lines start up perl on almost every shell, 20# below we find usual perl code 21 22package main; 23require 5.00305; 24use strict; 25use vars qw($LATEX2HTMLDIR $SCRIPT $TEXLIVEROOT); 26 27# Set LATEX2HTMLDIR 28 29my $tool = $0; 30$tool =~ s:^.*/::; # strip path 31$tool =~ s:[.][^/.]*$::; # strip extension 32 33BEGIN { 34 unless($LATEX2HTMLDIR = $ENV{'LATEX2HTMLDIR'}) { 35#if @texlive@ 36 my $root = try($0) || ( -s $0 ? 37 do { 38 use Cwd; 39 my $path = join('/',cwd(),$0); 40 1 while($path =~ s|/\.?/|/|g); # simplify 41 try($path); 42 } : 43 do { 44 my $path = ''; 45 foreach(split(/:/, $ENV{PATH} || '')) { 46 $path = "$_/$0"; 47 last if(-s $path); 48 $path = ''; 49 } 50 try($path); 51 }) || die "Cannot determine TeXlive root path\n"; 52 53 $TEXLIVEROOT = $root; 54 $LATEX2HTMLDIR = $ENV{'LATEX2HTMLDIR'} = "$root/latex2html"; 55#else 56 $LATEX2HTMLDIR = $ENV{'LATEX2HTMLDIR'} = '@LATEX2HTMLDIR@'; 57#fi 58 } 59 sub try { 60 my ($path) = @_; 61 $path =~ m|^(.*)/bin/[^/]*/([^/]*)$| ? $1 : ''; 62 } 63} 64 65if(-d $LATEX2HTMLDIR) { 66 push(@INC,$LATEX2HTMLDIR); 67} else { 68 die qq{Fatal: Directory "$LATEX2HTMLDIR" does not exist.\n}; 69} 70 71# now start the main script! 72$SCRIPT = "$LATEX2HTMLDIR/$tool.pl"; 73 74require $SCRIPT 75 || die "Fatal: Cannot load script $SCRIPT\n"; 76 77