P.S. While the example below isn't one, several of my affected distros are DBI-related.
More than one of my pure-Perl CPAN distributions contains extra .pm files which are only used during 'make test', but I have so far had to put them in my 'lib' directory with the normal modules so that they can be seen during 'make test. However, this pollutes my 'lib' directory un-necessarily, as well as the user's install dirs, as the distro would install the test libraries too. I would like to get these for-testing modules to sit in the 't' directory, where the main test scripts are.
Here's an example, a current Makefile from one distro:
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Locale::KeyedText',
VERSION_FROM => 'lib/Locale/KeyedText.pm', # finds $VERSION
PREREQ_PM => {
},
);Now, the current (0.06) manifest, to illustrate file locations:
ChangeLog INSTALL lib/Locale/KeyedText.pm lib/t_Locale_KeyedText_A_L_Eng.pm lib/t_Locale_KeyedText_A_L_Fre.pm lib/t_Locale_KeyedText_B_L_Eng.pm lib/t_Locale_KeyedText_B_L_Fre.pm LICENSE Makefile.PL MANIFEST META.yml Module meta-data (added by MakeMaker) ReadMe t/Locale_KeyedText.t TODO
I would like the file layout to be like this instead:
ChangeLog INSTALL lib/Locale/KeyedText.pm LICENSE Makefile.PL MANIFEST META.yml Module meta-data (added by MakeMaker) ReadMe t/Locale_KeyedText.t t/lib/t_Locale_KeyedText_A_L_Eng.pm t/lib/t_Locale_KeyedText_A_L_Fre.pm t/lib/t_Locale_KeyedText_B_L_Eng.pm t/lib/t_Locale_KeyedText_B_L_Fre.pm TODO
The t/lib/ could be replaced with just t/ if necessary.
My searches to the ExtUtils::MakeMaker documentation did not reveal any options that would let me do what I wanted with simplicity. The nearest choice I saw seemed to allow me to choose explicitly which /lib files would be installed at the end, which is a partial solution, but not really what I want.
Anyone familiar with MakeMaker that can help me with this? Namely, what do I change in my Makefile.PL to achieve the desired effect?
Thank you. -- Darren Duncan
