On Jul 7, 2005, at 12:59 AM, Eric Wilhelm wrote:
 just want to have one makefile for each module (or one for
the Inline one and another for the pure stuff.)

Yes, that looks like the answer. Now to figure out how they should be packaged up...

It's just like a
bundle.

Well, in order to make a bundle of this, I'd have to make three distros:

Search::Kinosearch
Search::Kinosearch::KSearch::ResultSet
Bundle::Kinosearch

http://www.cpan.org/misc/cpan-faq.html#How_make_bundle

Indeed, each of those would need a full-on set of distro files. That seems like overkill.

The Makefile.PL is the toplevel one.  I'm sure there's a neater way to
do it, but that's all I've got for now.

MakeMaker, when running a Makefile.PL, searches all directories in the distro recursively for other files named Makefile.PL. But it seems weird for me to hide another Makefile.PL somewhere in my lib/ directory. Stuff like Makefile.OLD doesn't clutters up those dirs fast, and _anything_ in the PMLIBDIRS directories gets copied to the installation destination. I have enough trouble trying to keep vim's .swp files out of there!

So if it isn't going to go in the lib directory, where? The obvious place would be the top-level directory. MakeMaker can apparently run other PL files that you list under the PL_FILES parameter. If Makefile.PL and ResultSet.PL can live together, I'm a happy camper...

Rats... not working ("make: don't know how to make ResultSet.inl. Stop").... and still not working if I rename it to Makefile.PL.

The contents of the Makefile.PL is below.

I think my next troubleshooting step is to get a separate distro of ResultSet.pm on its own to work. Then I can see if it's possible to combine them without littering the lib directory or resorting to the bundle mechanism and maintaining multiple distributions.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/


#################################################################

use 5.008;
use Inline::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteInlineMakefile(
    NAME              => 'Search::Kinosearch::KSearch::ResultSet',
    VERSION           => '0.03',
    PM                => {
        'lib/Search/Kinosearch/KSearch/ResultSet.pm' =>
        '$(INST_LIBDIR)/Search/Kinosearch/KSearch/ResultSet.pm',
        },
    PREREQ_PM         => {
        'Inline::C'                     => 0.44,
        },
);


Reply via email to