On Sat, Feb 08, 2003 at 06:35:59PM -0800, Ken Williams wrote:
> The ExtUtils::ParseXS, which is now on CPAN, provides functionality
> equivalent to the 'xsubpp' script, and replaces xsubpp on the user's
> system with a wrapper script around the ExtUtils::ParseXS functionality.
>
> However, it installs this wrapper script in site_perl/ (or wherever the
> user installs modules), and MakeMaker only looks for xsubpp at
> PERL_LIB/xsubpp - see MM_Unix.pm line 3910 in CVS:
>
> my($xsdir) = File::Spec->catdir($self->{PERL_LIB},"ExtUtils");
> ... then later ...
> XSUBPPDIR = $xsdir
> XSUBPP = \$(XSUBPPDIR)/$xsubpp
>
> The PERL_LIB setting defaults to $Config{privlibexp}.
>
> So the issues are the following:
>
> 1) Shouldn't MM look for xsubpp anywhere in @INC?
I suppose it should.
> 2) To workaround, how do I get MakeMaker to install xsubpp in PERL_LIB?
You probably should install ExtUtils::ParseXS with INSTALLDIRS=perl
(give that argument to WriteMakefile) on general principles.
ExtUtils::xsubpp is a core module, so it should go
into the core (ie. "perl") directories. Unfortunately, ExtUtils::ParseXS
probably shouldn't, but there's no easy way to split them up and its not
worth the bother.