The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# $Id: Makefile.PL,v 1.4 2002/05/26 12:09:10 schwenke Exp $

use ExtUtils::MakeMaker;

my $RSTAT_X   = "/usr/include/rpcsvc/rstat.x";
my $RPCGEN_OK = 0;

#
# try to create RPC/rstat stub code via rpcgen
#
{
    unless (-r $RSTAT_X) {
        print "OOPS: you don't have $RSTAT_X\n";
        last;
    }
    print "OK: you have $RSTAT_X ...\n";

    system "cp $RSTAT_X .";
    if ($? >> 8) {
        print "OOPS: couldn't copy $RSTAT_X : $!\n";
        last;
    }
    print "OK: copied $RSTAT_X\n";

    system "rpcgen rstat.x";
    if ($? >> 8) {
        print "OOPS: error running rpcgen : $!\n";
        last;
    }
    print "OK: rpcgen successful\n";

    unless (-r "./rstat.h") {
        print "OOPS: missing ./rstat.h\n";
        last;
    }

    unless (-r "./rstat_clnt.c") {
        print "OOPS: missing ./rstat_clnt.c\n";
        last;
    }

    unless (-r "./rstat_xdr.c") {
        print "OOPS: missing ./rstat_xdr.c\n";
        last;
    }

    eval { unlink "./rstat.x" };
    eval { unlink "./rstat_svc.c" };

    $RPCGEN_OK = 1;
}


#
# default: use delivered stub code
#
unless ($RPCGEN_OK) {
    print "INFO: using my rstat implementation\n";
    link "rstat.h.in", "rstat.h"
    and link "rstat_xdr.c.in", "rstat_xdr.c"
    and link "rstat_clnt.c.in", "rstat_clnt.c"
    or die "OOPS: could not create rstat stub code : $!\n";
}


WriteMakefile(
    'AUTHOR'       => 'Axel Schwenke <axel.schwenke@gmx.net>',
    'NAME'	   => 'Rstat::Client',
    'VERSION_FROM' => 'Client.pm',
    'OBJECT'       => 'Client$(OBJ_EXT) client$(OBJ_EXT) pack$(OBJ_EXT) ' .
                      'rstat_clnt$(OBJ_EXT) rstat_xdr$(OBJ_EXT)',
    'LIBS'	   => ['-lnsl'],
    'XSPROTOARG'   => '-noprototypes',
    'clean'        => {'FILES' => 'rstat.h rstat_clnt.c rstat_xdr.c'}
);