#!/pro/bin/perl -w

use strict;

use Config;
use Cwd;
use File::Find;
use File::Copy;

exists $ENV{UNIFY} && -d $ENV{UNIFY} or die "Not in (valid) UNIFY env";

my $version = $Config{version};
my $arch    = $Config{archname};

my %tar;
my $src = getcwd;
foreach my $loc (qw( arch lib man1 man3 script )) {
    chdir "$src/blib/$loc" or die "No $loc";
    find (sub {
	m/^\.+$/      and return;
	m/^\.exists$/ and return;
	(my $f = $File::Find::name) =~ s:^./::;
	push @{$tar{$loc}}, $f;
	}, ".");
    }

-d "$ENV{UNIFY}/perl"                or
    mkdir "$ENV{UNIFY}/perl", 0775;
-d "$ENV{UNIFY}/perl/$version"       or
    mkdir "$ENV{UNIFY}/perl/$version", 0775;
-d "$ENV{UNIFY}/perl/$version/$arch" or
    mkdir "$ENV{UNIFY}/perl/$version/$arch", 0775;

my $dst = "$ENV{UNIFY}/perl/$version";
foreach my $f (sort @{$tar{lib}}) {
    my $s = "$src/blib/lib/$f";
    if (-d $s) {
	print STDERR "mkdir $dst/$f ...\n";
	mkdir "$dst/$f", 0775;
	next;
	}
    print STDERR "lib   cp lib/$f\n";
    copy ("$src/blib/lib/$f", "$dst/$f");
    $f =~ m/\.(sl|al|pm|bs)$/ and chmod 0755, "$dst/$f";
    }
$dst = "$ENV{UNIFY}/perl/$version/$arch";
foreach my $f (sort @{$tar{arch}}) {
    my $s = "$src/blib/arch/$f";
    if (-d $s) {
	print STDERR "mkdir $dst/$f ...\n";
	mkdir "$dst/$f", 0775;
	next;
	}
    print STDERR "arch  cp arch/$f\n";
    copy ("$src/blib/arch/$f", "$dst/$f");
    $f =~ m/\.(sl|al|pm|bs)$/ and chmod 0755, "$dst/$f";
    }
$dst = "/pro/local/man";
foreach my $m (qw( man1 man3 )) {
    my $d = "$dst/$m";
    foreach my $f (sort @{$tar{$m}}) {
	my $s = "$src/blib/$m/$f";
	if (-d $s) {
	    print STDERR "mkdir $d/$f ...\n";
	    mkdir "$d/$f", 0775;
	    next;
	    }
	print STDERR "$m  cp $m/$f\n";
	copy ("$src/blib/$m/$f", "$d/$f");
	}
    }
$dst = "$ENV{PROCURA}/bin";
foreach my $f (sort @{$tar{script}}) {
    my $s = "$src/blib/script/$f";
    if (-d $s) {
	print STDERR "mkdir $dst/$f ...\n";
	mkdir "$dst/$f", 0775;
	next;
	}
    print STDERR "bin   cp script/$f\n";
    copy ("$src/blib/script/$f", "$dst/$f");
    chmod 0755, "$dst/$f";
    }
