Hi,
I have an "architectured" perl installation where, in addition to
perl/site/lib, I also have:
perl/site/lib/MSWin32-x64-multi-thread
perl/site/lib/MSWin32-x64-multi-thread-ld
perl/site/lib/MSWin32-x64-multi-thread-quadmath
perl/site/lib/MSWin32-x86-multi-thread
perl/site/lib/MSWin32-x86-multi-thread-64int
perl/site/lib/MSWin32-x86-multi-thread-64int-ld
perl/site/lib/MSWin32-x86-multi-thread-64int-quadmath
perl/site/lib/MSWin32-x86-multi-thread-ld
perl/site/lib/MSWin32-x86-multi-thread-quadmath
Pure-perl modules will, by default, be installed into
perl/site/lib.
Other modules (ie perl extensions) will be installed into the appropriate location listed above, according to the perl architecture for which they have been built.
I have a perl extension called (say) Module::B, and it has been built and installed into each of those architecture-specific locations.
There also exists a pure-perl Module::A, which requires Module::B but has not yet been installed anywhere into that perl.
Using (say) the
MSWin32-x64-multi-thread build of perl, I then install Module::A in the usual way (
cpan -i Module::A).
Module::A gets installed into
perl/site/lib because it is a pure-perl module.
At that point, Module::A becomes immediately available to all 9 architectures, even though it has not been tested against 8 of them.
This is an unsatisfactory state of affairs, IMO.
I envisage that Module::A should really be installed into the relevant architecture-specific location.
How do I tell ExtUtils::MakeMaker to do that ?
Or is there some better way of handling this ?
How do module authors generally deal with this issue ?
Cheers,
Rob