/usr/local/CPAN/DBO/Makefile.PL
#------------------------------------------------------------------------------
# Makefile.PL for DBO - Database Objects
#
# AUTHOR
# Gareth Rees
#
# COPYRIGHT
# Copyright (c) 1999 Canon Research Centre Europe Ltd/
#
# $Id: Makefile.PL,v 1.1 1999/06/04 21:56:09 garethr Exp $
#------------------------------------------------------------------------------
use strict;
use Data::Dumper;
use ExtUtils::MakeMaker qw(prompt WriteMakefile);
use vars qw($CONFIG @PARAMETERS);
# Interrogate the user for the test configuration details (which will be
# collected in the $CONFIG hashref and then saved in the .status file in
# the current directory). The configuration parameters are described in
# the @PARAMETERS array
$CONFIG =
{
driver => 'mSQL',
database => '',
user => '',
password => '',
};
foreach (@PARAMETERS) {
$CONFIG->{$_->[0]} = $_->[2];
}
# Load the previous configuration if it exists.
require '.status' if -f '.status';
# Prompt the user for the configuration details.
$CONFIG->{driver}
= prompt("Name of the DBI driver for the test database?",
$CONFIG->{driver});
$CONFIG->{datasource}
= prompt("Datasource name for the test database?",
$CONFIG->{datasource} || "dbi:$CONFIG->{driver}:test:localhost");
$CONFIG->{user}
= prompt("User name for connecting to $CONFIG->{datasource}?",
$CONFIG->{user});
$CONFIG->{password}
= prompt("Password for connecting to $CONFIG->{datasource}?",
$CONFIG->{password});
# Write configuration to .status
open STATUS, '> .status'
and print STATUS Data::Dumper->Dump([$CONFIG], ['$CONFIG'])
and close STATUS
or die "Cannot create .status file: $!\n";
WriteMakefile
(
NAME => 'DBO',
PREREQ_PM => { DBI => 0,
"DBD::$CONFIG->{driver}" => 0,
'Class::Multimethods' => 0,
'HTML::FromText' => 0,
},
VERSION_FROM => 'lib/DBO.pm',
dist => { COMPRESS => 'gzip', SUFFIX => 'gz' },
realclean => { FILES => '.status' },
);