#!/usr/bin/env perl

$file = "tagsets/ipp-extperl.dst";

open (FILE, $file) || die "ERROR: can't open perl module list: $file\n";
@list = <FILE>;
close (FILE);

# set the psconfig version:
if ("$version" eq "") {
    $version = $ENV{'PSVERSION'};
}
if ("$version" eq "") {
    $version = "default";
}

$prefix = `csh psconfig.sh --prefix $version`;
$perl5lib = `csh psconfig.sh --perl5lib $version`;
$homedir = `pwd`;

foreach $line (@list) {
    chop $line;
    if ($line =~ m|^\s*$|) { next; }
    if ($line =~ m|^\s*\#|) { next; }

    ($N, $module, $tarball) = split (" ", $line);
    
    if (eval "use $module; 1") { 
	# print "$module: found\n";
	next; 
    }

    # print "$module: missing\n";
    # try to build the module from ../../extperl/Module.*.tar.gz
    chdir "../../extperl";

    print "extract $module from $tarball\n";
    system ("tar xvzf $tarball");
    
    ($tardir) = $tarball =~ m|(\S*).tar.gz|;
    print "tardir: $tardir\n";

    chdir $tardir;
    # system ("perl Makefile.PL LIB=$perl5lib");
    system ("perl Makefile.PL PREFIX=$prefix");
    system ("make");
    system ("make install");

    # system ("ls $tarball");

    chdir $homedir;
}
