"Fossies" - the Fresh Open Source Software archive

Member "latex2html-2002-2-1/wrapper/unix.pin" of archive latex2html-2002-2-1.tar.gz:


# -*- perl -*- -w
#-
#- This is a wrapper for the Perl scripts. Allows execution of
#- the same script on different platforms. Mainly used for
#- TeXlive.
#-
#- When running TeXlive, "perl" must be available in the PATH
#-
#if @TEXLIVE@
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
  & eval 'exec perl -S $0 $argv:q'
  if 0; # suppress this stuff in perl
#else
eval '(exit $?0)' && eval 'exec @PERL@ -S $0 ${1+"$@"}'
  & eval 'exec @PERL@ -S $0 $argv:q'
  if 0; # suppress this stuff in perl
#fi

# The above lines start up perl on almost every shell,
# below we find usual perl code

package main;
require 5.00305;
use strict;
use vars qw($LATEX2HTMLDIR $SCRIPT $TEXLIVEROOT);

# Set LATEX2HTMLDIR

my $tool = $0;
$tool =~ s:^.*/::; # strip path
$tool =~ s:[.][^/.]*$::; # strip extension

BEGIN {
    unless($LATEX2HTMLDIR = $ENV{'LATEX2HTMLDIR'}) {
#if @texlive@
        my $root = try($0) || ( -s $0 ?
        do {
            use Cwd;
            my $path = join('/',cwd(),$0);
            1 while($path =~ s|/\.?/|/|g); # simplify
            try($path);
        } :
        do {
            my $path = '';
            foreach(split(/:/, $ENV{PATH} || '')) {
                $path = "$_/$0";
                last if(-s $path);
                $path = '';
            }
            try($path);
        }) || die "Cannot determine TeXlive root path\n";

        $TEXLIVEROOT = $root;
        $LATEX2HTMLDIR = $ENV{'LATEX2HTMLDIR'} = "$root/latex2html";
#else
        $LATEX2HTMLDIR = $ENV{'LATEX2HTMLDIR'} = '@LATEX2HTMLDIR@';
#fi
    }
    sub try {
        my ($path) = @_;
        $path =~ m|^(.*)/bin/[^/]*/([^/]*)$| ? $1 : '';
    }
}

if(-d $LATEX2HTMLDIR) {
    push(@INC,$LATEX2HTMLDIR);
} else {
    die qq{Fatal: Directory "$LATEX2HTMLDIR" does not exist.\n};
}

# now start the main script!
$SCRIPT = "$LATEX2HTMLDIR/$tool.pl";

require $SCRIPT
    || die "Fatal: Cannot load script $SCRIPT\n";