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
|