Ned Konz wrote:
> 
> On Wednesday 23 May 2001 02:17, you wrote:
> 
> > * Updated Inline.pod. I could really use a hand, if someone would like
> > to go over the doc for me and let me know what needs fixing.

Thanks for reviewing. I'll use your comments to update the doc. Here's
the answers I know off the top of my head:

> Under the VERSION config option, you say:
>         It is the canonical factor for defining an installable module.
> What do you mean by this?

I'll rewrite that. I meant that Inline requires the VERSION parameter
when *installing* a module through ExtUtils::MakeMaker, and when loading
an *installed* module. It disallows VERSION in other contexts. This
eliminates potential ambiguity in what actions Inline is supposed to
perform. Does that explain it?

> Could you show setting VERSION in one place (will this work?):
> 
>         BEGIN { $VERSION = '0.20'; }
> 
>         use Inline C => 'DATA',
>                    VERSION =>  $VERSION,
>                    NAME => 'Math::Simple';

This would (probably) work. This is better:
         BEGIN { 
             $VERSION = '0.20'; 
         }
 
         use Inline C => 'DATA',
                    VERSION =>  $VERSION,
                    NAME => 'Math::Simple';

The problem IIRC, is that ExtUtils::MakeMaker parses your code for the
$VERSION, if you use VERSION_FROM in Makefile.PL. The parse is pretty
braindead.

> The reason I ask, is that I like to use something like:
>         ( $VERSION = '$Revision: 1.22 $ ' ) =~ /\$Revision:\s+(\S+)/;
> or
>         $VERSION = sprintf('%d.%02d', (q$Revision: 1.10 $ =~ /\d+/g));

For that reason, the above code might not work in the same context.

> Will using Inline::MakeMaker instead of the standard ExtUtils::MakeMaker
> break the auto-loading operation of CPAN.pm? i.e. if someone has not yet
> installed Inline and goes to install a module that uses it using CPAN.pm,
> will CPAN.pm detect that Inline is needed? I thought it counted on
> ExtUtils::MakeMaker to tell it, but I don't know.

It should do the right thing. Inline::MakeMaker is a thin proxy for
ExtUtils::MakeMaker. It grabs control long enough to set up a few
things. Then it invokes the real McCoy. I think it adds a dependency on
Inline to the WriteMakefile options, but I'll double check.

It would be great if you could test the CPAN.pm install for me.

Cheers, Brian

PS I hope you don't mind me CCing the list. This is good info for
everybody.

-- 
perl -le 'use Inline C=>q{SV*JAxH(char*x){return newSVpvf
("Just Another %s Hacker",x);}};print JAxH+Perl'

Reply via email to