Ron Savage wrote:
> Hi Michael
> 
> I'd like to discuss several issues re ExtUtils::MakeMaker,
> so I'll number the sections for clarity.
> 
> All this is on `uname -all`:
> SunOS ssapp0117 5.9 Generic_117171-15 sun4u sparc SUNW,Sun-Fire-V890
> with 24 Gb of RAM.
> My test box has got 64 Gb (heh heh heh).
> 
> (1)
> I install all modules in my own dir, so here's how I get the version number:
> $PERL -I$INSTALL -MExtUtils::MakeMaker -e 'print
> "$ExtUtils::MakeMaker::VERSION\n"'
> No surprise there.
> Now, 2 outputs from installing V 6.31, separated by lines of equal signs.
> In the first case I unpacked the distro, cd'ed into the dir, and run the
> command which follows. In the second case I ran the same command

I'm going to deal with this in a separate post since it looks complicated.


> (2)
> When I install a module which depends on another module, and the latter
> is already installed in my dir, my command
> $PERL -I$INSTALL Makefile.PL PREFIX=$INSTALL LIB=$INSTALL
> works in terms of finding the dependency, but does not work when running
> the tests. It seems -I$INSTALL is not passed thru to the testing phase.
> Is this correct? I read the docs for ExtUtils::MakeMaker and the FAQ
> but could not see anything referring to this matter.
> Is there something I can do to humour 'make test'?

Yes, this is correct.  The @INC from Makefile.PL does not get passed along to 
your tests.  You should instead be setting the PERL5LIB environment variable to 
your $INSTALL directory.  This will have the additional benefit in that you no 
longer have to put -I$INSTALL on all your perl commands to find your installed 
modules.


> (3)
> The FAQ, under Module Installation, says:
> perl Makefile.PL INSTALL_BASE=~
> It'd help Windows users if this was added:
> Under MS Windows, use instead:
> perl Makefile.PL INSTALL_BASE=\perl-modules
> Then a few lines down:
> use lib "$ENV{HOME}/lib/perl5";
> would become:
> use lib "/perl-modules/lib/perl5";

I'm inclined to say that if your pointy hat isn't high enough to figure that 
out you shouldn't be installing Perl modules.  If there's one Unix-centric 
thing a Windows programmer is likely to run into its ~ as its such a convenient 
shorthand.

But I'll remove some of the tildes.


> (4)
> The FAQ, under Philosophy and History, says:
> pure perl. no make, no shell commands
> This makes me uneasy, since I believe now that M::B depends on
> a module which requires a compiler, so, although strictly true,
> your can't install M::B without a compiler. Sigh.
> Is that worth clarifying?

Module::Build still does not require anything which needs to be compiled.
http://search.cpan.org/src/KWILLIAMS/Module-Build-0.2805/META.yml

requires:
  Cwd: 0
  Data::Dumper: 0
  ExtUtils::Install: 0
  ExtUtils::Manifest: 0
  ExtUtils::Mkbootstrap: 0
  File::Basename: 0
  File::Compare: 0
  File::Copy: 0
  File::Find: 0
  File::Path: 0
  File::Spec: 0.82
  Getopt::Long: 0
  IO::File: 0
  Test::Harness: 0
  Text::Abbrev: 0
  Text::ParseWords: 0
  perl: 5.005_03

And amongst what it recommends I believe they can all be installed without a 
compiler.

recommends:
  Archive::Tar: 1.08
  ExtUtils::CBuilder: 0.15
  ExtUtils::Install: 0.3
  ExtUtils::ParseXS: 1.02
  Module::Signature: 0.21
  Pod::Readme: 0.04
  version: 0.661

Reply via email to