Skip Menu |

This queue is for tickets about the Module-Install CPAN distribution.

Report information
The Basics
Id: 5528
Status: open
Priority: 0/
Queue: Module-Install

People
Owner: Nobody in particular
Requestors: steve.hay [...] uk.radan.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.31
Fixed in: (no value)



Subject: Sub-directory builds don't work
Module::Install doesn't seem to handle distributions with sub-directory Makefile.PL's, at least on Win32. The attached FooBar-0.01.tar.gz shows the problem. This distribution contains a FooBar module, with two further modules in Foo and Bar sub-directories called FooBar::Foo and FooBar::Bar. The two sub-directory modules are XS extensions with their own Makefile.PL's, referred to via DIR from the top-level Makefile.PL. Using ExtUtils::MakeMaker, all one had to do was run the top-level Makefile.PL and all three would get run. Three Makefiles were created, and everything was built when running "nmake". However, having switched to inc::Module::Install (supposedly a drop-in replacement for EU::MM) I now find that it doesn't work. Running the top-level Makefile.PL outputs this: C:\Temp\FooBar-0.01>perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for FooBar Writing Makefile for FooBar::Bar Writing Makefile for FooBar::Foo Looks good, but unfortunately all three Makefile's get written into the top-level directory, so that all you are left with is the FooBar::Foo Makefile in the top-level! Needless to say, running "nmake" now doesn't anything like what it should do. I'm running Module::Install 0.31 with Perl 5.8.3 on Windows XP / MSVC++ 6.0. A fix for this would be greatly appreciated as this example distribution exactly mimics the layout of a real distribution that I'm working on. Cheers, - Steve
Download FooBar-0.01.tar.gz
application/x-gzip 6.1k

Message body not shown because it is not plain text.

Hi. Added a remedy in the trunk, and will be fixed in the next release. Thanks. On 2004-3-02 Tue 08:17:10, SHAY wrote: Show quoted text
> Module::Install doesn't seem to handle distributions with sub- > directory Makefile.PL's, at least on Win32. > > The attached FooBar-0.01.tar.gz shows the problem. This distribution > contains a FooBar module, with two further modules in Foo and Bar > sub-directories called FooBar::Foo and FooBar::Bar. The two sub- > directory modules are XS extensions with their own Makefile.PL's, > referred to via DIR from the top-level Makefile.PL. > > Using ExtUtils::MakeMaker, all one had to do was run the top-level > Makefile.PL and all three would get run. Three Makefiles were > created, and everything was built when running "nmake". > > However, having switched to inc::Module::Install (supposedly a drop-in > replacement for EU::MM) I now find that it doesn't work. > > Running the top-level Makefile.PL outputs this: > > C:\Temp\FooBar-0.01>perl Makefile.PL > Checking if your kit is complete... > Looks good > Writing Makefile for FooBar > Writing Makefile for FooBar::Bar > Writing Makefile for FooBar::Foo > > Looks good, but unfortunately all three Makefile's get written into > the top-level directory, so that all you are left with is the > FooBar::Foo Makefile in the top-level! > > Needless to say, running "nmake" now doesn't anything like what it > should do. > > I'm running Module::Install 0.31 with Perl 5.8.3 on Windows XP / > MSVC++ 6.0. > > A fix for this would be greatly appreciated as this example > distribution exactly mimics the layout of a real distribution that > I'm working on. > > Cheers, > - Steve
Hi. Module::Install 0.96/0.97 with a fix is out. Thanks.
I'm re-opening this ticket because I've just tried upgrading to the latest version (1.06) and found that it doesn't work. The same FooBar distribution as before is attached, with Module::Install components in all three folders now upgraded to 1.06, and the output is now simply: D:\temp\FooBar-0.01>perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for FooBar Writing MYMETA.yml and MYMETA.json In other words, it now only runs the top-level Makefile.PL and doesn't descend into sub-directories at all, despite the WriteMakefile() call having the necessary DIR => [ qw(Foo Bar) ] option in it.
Subject: FooBar-0.01.tar.gz
Download FooBar-0.01.tar.gz
application/x-gzip 42.9k

Message body not shown because it is not plain text.