Creating Makefiles for multiple nested modules

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

I just wanted to preface this with this is my first experience making
Perl modules, so if this is completely trivial, please laugh at me,
call me a noob, and point me in the right direction.  Thanks.
I have a structure that looks something like this: (these aren't the
real names, but I can't really use them)
  |-- A
       |-- I
       |-- D
            |-- IE
            |-- MO
  |-- M

And what I would like to do is allow users to pick what module they
want to install, and install the modules under it (or if possible, like
in the case of HC::A::D, just install IE by default).  I have looked at
MakeMaker and Build, but they are quite confusing and I can't find a
good tutorial (if you have one, do share).
I also have to test for things like making sure Perl has ithreads and
checking what modules are installed and make sure they meet the minimum
versions (preferable automatically).
One final thing, is I need to move some files to say /etc, and didn't
find anything in the Makefile for that.

Any help or pointing towards good tutorials would be greatly

Re: Creating Makefiles for multiple nested modules

Fotios Lindiakos wrote:
Quoted text here. Click to load it

Although I don't have any experience with Tk, something like Tk::Tree
might be worth investigating for the selection GUI.  (or the
newer CPANPLUS) has a scriptable interface to download and install
modules as well as any needed dependencies.

Charles DeRykus

Re: Creating Makefiles for multiple nested modules

On Fri, 9 Jun 2006 13:53:00 +1000, Charles DeRykus wrote:

Hi Fotios

Quoted text here. Click to load it

I suggest you subscribe to the Module::Build mailing list, since that module=
almost certainly the one you want to use instead of thinking in terms of

The list moved a couple of days ago, so whatever you find in the docs for=
module will not be correct.


Re: Creating Makefiles for multiple nested modules

Charles DeRykus wrote:
Quoted text here. Click to load it

When you write your installer, remember that there are people who do
automated installs. For one thing, this is where ActivePerl ppm packages
come from. If your installer is a GUI, it will break all these.

MakeMaker will take care of dependencies for you. If you're _good_ with
'make', you may be able to configure the install, using the
ExtUtils::MakeMaker prompt() subroutine. ExtUtils::MakeMaker appears to
have ways to configure what you want to install, if you're willing to
subclass. But I think I would be looking for other options.

Tom Wyant

Site Timeline