Can someone explains the difference between Glib.dll and Glib.xs.dll ?
The only difference is the name.
On my own builds of perl (on Windows) the dll would be named Glib.dll, but on Strawberry the same file gets named Glib.xs.dll.
On my builds of Windows perls:
C:\>perl -V:dlext
dlext='dll';
On recent builds of Strawberry Perl:
C:\>perl -V:dlext
dlext='xs.dll';
That's about all there is to it.
That Config setting is detected by EU::MM and influences the Makefile generated by the 'perl Makefile.PL' step.
I'm not sure how this will impact upon PAR::Packer, but this part of what you provided looks correct to me:
-l 'C:/strawberry/perl/site/lib/auto/Cairo/Cairo.xs.dll'
-l 'C:/strawberry/perl/site/lib/auto/Glib/Glib.xs.dll'
-l 'C:/strawberry/perl/site/lib/auto/Gtk2/Gtk2.xs.dll'
-l 'C:/strawberry/perl/site/lib/auto/Pango/Pango.xs.dll'
whereas this part looks
incorrect to me:
-l 'C:\docs\perl_dll\Pango.dll'
-l 'C:\docs\perl_dll\Glib.dll'
-l 'C:\docs\perl_dll\Gtk2.dll'
-l 'C:\docs\perl_dll\Cairo.dll'
IIRC, Strawberry chose this option to avoid name clashes.
Say you are building an extension named Some::Module that accesses a C library named "module" via its dll named "module.dll".
When you build Some::Module, you create a dll named "Module.dll".
Both "Module.dll" and "module.dll" are different files and both are needed by Some::Module - but Windows, being case-insensitive, is unable to distinguish between them and you won't even be able to get Some::Module to load.
So ... Strawberry names the perl dll "Module.xs.dll", and windows has no problems distinguishing between the 2 dlls that are needed.
Cheers,
Rob
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.