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