#!/usr/bin/perl
#
# version 2.00 9-22.02 Michael Robinton, BizSystems michael@bizsystems.com
# Copyright, all rights reserved
#
# input: ModuleSrc modulename inst_libdir [optional id]
#
use AutoSplit;
my $ENCRYPTIT = 1; # turn off for debugging
my($src,$mod,$insdir,$id,$method);
if ( @ARGV > 2 ) { # License module
($src,$mod,$insdir,$id) = @ARGV;
$method = 'license';
} else { # Loader module
($mod,$insdir) = @ARGV;
$method = 'loader';
}
$id = 1 unless $id;
my $nocrypt = ! $ENCRYPTIT;
@_ = split('::',$mod);
my $tgt = (pop @_);
my $xpath = join('/',@_);
$src = "$tgt.PM" unless @ARGV > 2; # if Loader
undef @ARGV; # for mod_parser
die "no source file" unless $src && open(S,$src);
read(S,$_,(stat(S))[7]);
close S;
open(T,">$insdir/$xpath/$tgt.pm") or die "could not open target";
print T $_;
close T;
do './mod_parser.pl';
$sdir = "$insdir/auto";
if ($sdir && -e $sdir) {
autosplit("$insdir/$xpath/$tgt.pm","$sdir",0,1,0);
$sdir .= "/$xpath/$tgt";
opendir(S,$sdir);
@_ = grep(/\.al$/,readdir(S));
closedir S;
foreach(@_) {
&crypt_mod("$sdir/$_","$sdir/$_",$method,$id,$nocrypt);
}
open(S,">>$sdir/autosplit.ix");
close S; # touched
}
&crypt_mod($src,"$tgt.pm",$method,$id,$nocrypt);
open(S,"$tgt.pm");
read(S,$_,(stat(S))[7]);
close S;
open(T,">$insdir/$xpath/$tgt.pm");
print T $_;
close T;