On Tue, 06 Oct 2009, Konovalov, Vadim (Vadim)** CTR ** wrote:
> > From: Jan Dubois [mailto:[email protected]]
> > On Mon, 05 Oct 2009, Konovalov, Vadim (Vadim)** CTR ** wrote:
> >
> > > we are not obliged to follow bad designs. findINC is bogus and it
> > > should not be a reason for anything otherwise inconvenient.
> >
> > You may want to take a look at File::ShareDir (and
> > File::ShareDir::Install
> > for MakeMaker installation support).
>
> So MakeMaker will find it even in subdirectory, but still will
> install to ./site/lib/Tcl/Tk/ directory?
MakeMaker doesn't find it automatically, you need to tell it where
it is in your Makefile.PL with something like
use File::ShareDir::Install qw(install_share);
install_share "data";
before you call WriteMakefile(), and also add an additional postamble
with this:
package MY;
use File::ShareDir::Install qw(postamble);
Replace "data" with the subdirectory name where you put all the static
data files. At runtime they will be located at something like
./site/lib/auto/share/Tcl-Tk/
But you don't really need to care as you find the location with
use File::ShareDir qw();
use Tcl::Tk;
my $dist_dir = File::ShareDir::dist_dir("Tcl-Tk");
So yes, in some ways it is like findINC(), but using a more general
mechanism.
As I said, you may want to check it out; you may still end up not
liking it. :)
Cheers,
-Jan