On Tue, Apr 26, 2005 at 02:03:33PM -0700, Michael G Schwern wrote: > There is essentially two mutually contradicting ways it could work. > > 1) PL files are processed *after* pm_to_blib is run. > > If this happens then the .PL file can get at the module being installed. > BUT this means that you can't generate something in lib/ and expect it to > be copied into blib/lib/. ie. You can't generate a .pm file unless you > target blib/lib directly which is undesirable. > > > 2) PL files are processed *before* pm_to_blib is run. > > Anything you create will be considered for copying into blib. BUT this > means you cannot rely on having the uninstalled module in your path. > > > I have opted for #2 as it seems more important and natural to be able to > generate any file and MakeMaker treat it as if it was there all along. > > I've made a small clarification to the PL_FILES docs about this.
Ok. That makes sense. However, I'm not sure that's actually what happens. It looks to me like PL_FILES are being ran AFTER pm_to_blib: cp lib/IP/Country/Medium.pm blib/lib/IP/Country/Medium.pm cp lib/IP/Country/Fast.pm blib/lib/IP/Country/Fast.pm cp lib/IP/Authority.pm blib/lib/IP/Authority.pm cp lib/IP/Country/Fast/cc.gif blib/lib/IP/Country/Fast/cc.gif cp lib/IP/Authority/ipauth.gif blib/lib/IP/Authority/ipauth.gif cp lib/IP/Country/MaxMind.pm blib/lib/IP/Country/MaxMind.pm cp lib/IP/Authority/auth.gif blib/lib/IP/Authority/auth.gif cp lib/IP/Country/Slow.pm blib/lib/IP/Country/Slow.pm cp lib/IP/Country.pm blib/lib/IP/Country.pm cp lib/IP/Country/Fast/ip.gif blib/lib/IP/Country/Fast/ip.gif /usr/bin/perl bin/ip2cc.PL bin/ip2cc Can't locate IP/Country.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i386-linux-thread-multi /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl .) at bin/ip2cc.PL line 3. If PL_FILES were supposed to run before pm_to_blib, I would expect the /usr/bin/perl bin/ip2cc.PL bin/ip2cc line to be the first thing. mrc