syphilis has asked for the wisdom of the Perl Monks concerning the following question:
Hi,
I have an "architectured" perl installation where, in addition to perl/site/lib, I also have:
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
I have an "architectured" perl installation where, in addition to perl/site/lib, I also have:
Pure-perl modules will, by default, be installed into perl/site/lib.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
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
|
---|
Back to
Seekers of Perl Wisdom