> 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.