ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> ppm
ppm
RE: Creating PPM packages for Windows with additional support libraries
by Jan Dubois other posts by this author
May 26 2009 12:05PM messages near this date
view in the new Beta List Site
Re: ppm for Prima | Creating PPM packages for Windows with additional support libraries
On Tue, 26 May 2009, BRZEZINSKI, PAUL wrote:
>  Doing a reply apparently goes to your inbox not the list?

You can always do a "reply-all". :)  I've re-added the PPM list.

>  I'm working on something right now that is an XS-based extension for
>  Win32 and has a supporting library which is DLL-based. I wanted to
>  figure out how to get this PM and it's required DLL to be installed in
>  the same directory in /perl/site/lib/auto directory structure.
> 
>  Where can I find a good example of a Makefile.PL that
>  facilitates this?

I don't have a good example.  You can see from the build status pages
that I added a patch to DBD-mysql for our builds (patch also attached
below):

http://ppm4.activestate.com/MSWin32-x86/5.8/818/C/CA/CAPTTOFU/DBD-mysql-4.011.d/log-20090525
T163439.txt

That patch is cutting several corners though, as I knew it only had
to work on the Windows PPM build servers, so I already know the OS,
the minimum MakeMaker version installed there and where to find the
MySQL dll.

But you should be able to adapt the general idea to your needs.

>  Is this LOAD_WITH_ALTERED_SEARCH_PATH transparent to the developer or
>  does one have to explicitly use/set this when making, building or
>  packaging a module?

It is always used by DynaLoader (and XSLoader) when it loads an XS
extension.

Cheers,
-Jan

PS: Note that I made copy_libmysql dependent on $(INST_DYNAMIC) to make
    sure $(INST_ARCHAUTODIR) has actually been created by the time the
    copy is happening.

C:\cygwin\bin\patch.exe -N --fuzz=3 -p0 <<EOT
--- Makefile.PL.orig	2009-04-13 05:10:40.000000000 -0700
+++ Makefile.PL	2009-05-25 15:15:47.951000000 -0700
@@ -749,6 +749,11 @@
 installhtml: lib/DBD/mysql/INSTALL.pod
 \tpod2html --infile=lib/DBD/mysql/INSTALL.pod --outfile=INSTALL.html
 
+all :: copy_libmysql
+
+copy_libmysql : \$(INST_DYNAMIC) c:\\mysql\\lib\\opt\\libmysql.dll
+\tcopy c:\\mysql\\lib\\opt\\libmysql.dll \$(INST_ARCHAUTODIR)
+
 POSTAMBLE
 };
 
EOT


_______________________________________________
PPM mailing list
PPM@[...].com
http://listserv.ActiveState.com/mailman/listinfo/ppm

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved