Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: RFC: Compiling C/C++ based Modules under ActiveState using MinGW

by TGI (Vicar)
on May 09, 2007 at 17:37 UTC ( #614459=note: print w/ replies, xml ) Need Help??


in reply to RFC: Compiling C/C++ based Modules under ActiveState using MinGW

An excellent (and much needed) update!

I'm surprised you didn't mention Randy Kobes' excellent PPM::Make module.

I am a big fan of using only one package management system for my software whenever possible. So I use PPM exclusively on my Windows systems. Since many modules lack available PPMs, PPM::Make makes the process of creating and installing PPMs very simple.

I build using mingw and nmake. I use the following steps:

perl Makefile.PL nmake nmake test make_ppm ppm install foo.ppd

I do my installs the hard way, because I like to be able to see each step in easy bite-sized pieces that my tiny brain can handle. If I wanted to just install and go, I could use the ppm_install command and do everything all in one go.


TGI says moo


Comment on Re: RFC: Compiling C/C++ based Modules under ActiveState using MinGW
Select or Download Code
Re^2: RFC: Compiling C/C++ based Modules under ActiveState using MinGW
by syphilis (Canon) on May 10, 2007 at 13:42 UTC
    I'm surprised you didn't mention Randy Kobes' excellent PPM::Make module

    Sorry, I meant to reply to this earlier - got waylaid :-)

    I don't follow the relevance of this wrt this particular meditation/tutorial. We all know that randyk does only work of the highest quality (not to mention the admirable character of the man), but I think a treatise on PPM::Make would be more appropriate in a meditation regarding the building of PPM distro's. When it comes to building and installing modules, I think the relevance of PPM::Make is somewhat tenuous (to say the least) - which is the reason that I haven't mentioned it. (And I do want to keep it simple.)

    I think I see where you're coming from, btw - doing it that way means that PPM keeps track of everything that's installed.

    (Great sig !! - I work in the dairy industry :-)

    Cheers,
    Rob
      I think I see where you're coming from, btw - doing it that way means that PPM keeps track of everything that's installed.

      Yep. My rationalization for suggesting PPM::Make is that it a basic part of the module acquisition process ( Download -> Build -> Install ). I guess my thinking lumped build and install together, while you were focusing just on the build portion of the process. I definitely see your point.

      Your node is certainly a welcome update. I recall the frustration I went through trying to get some modules compiled and installed while struggling under a ludicrous deadline. A resource like this would have been invaluable. I hope my above response was not taken as an attempt to denigrate your contribution.

      Maybe when I get out from under my latest ludicrous deadline, I'll get around to writing a review of PPM:Make or a tutorial on building PPMs. Anyone know where I can purchase a metric ton of tuits?


      TGI says moo

        you were focusing just on the build portion of the process

        Not really ... the difference seems to be that I'm suggesting we run '*make install' (where '*' is either 'd' or 'n'), whereas you're suggesting that, having built the module, one then builds a PPM, then installs it via 'ppm install ...".

        I hope my above response was not taken as an attempt to denigrate your contribution

        Good Heavens !!, no :-)

        I'll get around to writing a review of PPM:Make or a tutorial on building PPMs

        Excellent idea, and I encourage you to do so. I've built a few PPM's from time to time - by tar'ing and gzip'ing the blib (using GnuWin32's tar and gzip) and by hand-creating the ppd file. I'm sure that PPM::Make simplifies the process.

        One thing I wonder about (having never used PPM::Make) is how it handles the situation where a dll needs to be installed via a post install script. See, for example the line <INSTALL EXEC="PPM_PERL" HREF="http://theoryx5.uwinnipeg.ca/ppms/scripts/install_pdl">install_pdl</INSTALL> at http://theoryx5.uwinnipeg.ca/ppms/PDL.ppd. Does PPM::Make catch the need to insert that 'INSTALL EXEC' entry ? Does it write the post install script ? (Just a couple of issues for you to address when you come to write that tutorial.)

        Thanks for your input.

        Cheers,
        Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://614459]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2014-08-22 23:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (168 votes), past polls