Creating Makefiles for multiple nested modules

Creating Makefiles for multiple nested modules

am 08.06.2006 21:33:54 von Fotios Lindiakos

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)
HC
|-- A
|-- I
|-- D
|-- IE
|-- MO
|-- M
|--FW
|--VM

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

Re: Creating Makefiles for multiple nested modules

am 09.06.2006 05:53:00 von Charles DeRykus

Fotios Lindiakos wrote:
> 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)
> HC
> |-- A
> |-- I
> |-- D
> |-- IE
> |-- MO
> |-- M
> |--FW
> |--VM
>
> 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
> apprectiated.
>

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

hth,
--
Charles DeRykus

Re: Creating Makefiles for multiple nested modules

am 09.06.2006 10:15:34 von Ron Savage

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

Hi Fotios

>> Any help or pointing towards good tutorials would be greatly
>> apprectiated.

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

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

Try:

List-Post:
List-Help:
List-Unsubscribe:
List-Subscribe:

Re: Creating Makefiles for multiple nested modules

am 09.06.2006 20:56:40 von unknown

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

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