> Trouble is that neither the bug can be fixed, nor the documentation amended,
> until the next version of inline is released - and the timing of that
> release is beyond the control of all us "users".
>
> Note that you don't *have* to put your '.pm' file into a 'lib' folder for it
> to be a proper CPAN source bundle. Leaving the '.pm' file in the top-level
> source directory is quite acceptable, and still works fine. It's just that
> *h2xs* now puts the '.pm' file in a 'lib' folder - which is *not* the way it
> worked when Inline-0.44 was released (iirc).

I know I don't have to put it in the 'lib' folder but since this isn't
even documented I assume it's a common problem. Ah well, guess there's
nothing to do but wait for the next release.


> With Inline::C, I just use it to create the xs file, then use that xs file
> to create a truly normal cpan-source bundle - ie there's no dependency on
> Inline at all. Looks like you have to do a fair bit of stuffing around - so
> maybe it would be just as simple for you to do likewise.
>
> Just create a set-up that's going to work with Inline::C. Make sure that
> ChFile.pm contains:
>
> use Inline C => Config =>
>       CLEAN_AFTER_BUILD => 0;
>
> Then run:
> perl Makefile.PL
> make test
>
> Then go into the Inline build directory and grab the XS file that was
> generated (and INLINE.h if you've used the Inline Stack variables). You've
> now got all you need to create a cpan-source distro that doesn't need Inline
> at all. You'll need to edit ChFile.pm, removing all of the Inline stuff, and
> sticking in the package name, version, etc.
>
> This works fine for me with Inline::C - I don't see why it couldn't work
> with Inline::CPP. You could even write a little script to do the entire job.
>
> I'm not saying this is the only solution. I think it should work - there
> would be no problems with Inline::C - but I haven't tested with Inline::CPP.
>

Like I said I've already converted my module to Inline::C and I've
made it work, as an Inline based distribution and as a normal CPAN
distribution in exactly the way you said. But the Inline::CPP distro
doesn't get build correctly so I can't grab the XS file. It's all in
that package declaration that I can't fit. It's either in the main
package, in which case it doesn't allow me to "make" it, or it's in
the ChmFile::ChmFile package which is wrong again.

I don't plan on wasting anyone's time, I've already found the
workaround solution (converted everything to Inline::C and it works
like a charm). But if anyone is into problem solving perhaps you can
find out why the I can't build the Inline::CPP one. I must say, I'm
stumped.

Thanks everyone for your input,
Alex

p.s. Sorry Rob I think I accidentally replied to you alone the first time.

Reply via email to