There was talk on the Perl6 lists today about name clobbering and what
should be done regarding naming for .so/.dll files compiled from XS. One of
the quick answers was to add a version number to the filename of the shared
library.

How would one go about doing this today with Inline? Inline::MakeMaker will
name the associated Win32 DLL for Foo::Bar::Baz.pm Baz.DLL. Is there any way
to make that Foo-Bar-Baz.dll, Baz-0.01.dll, or Foo-Bar-Baz-0.01.dll?

Dan Sugalski writes:
> FWIW, the interpreter will treat the following
> three things (Barring changes from Larry) as
> composing a unique identifier:
> 
>   Module Name
>   Author
>   Version

And Bart Lateur's response:
On Tue, 31 Jul 2001 07:24:45 +0200, Bart Lateur wrote:
>
> > For example, with simple file names, it's impossible to
> > run a perl 5.005 and a perl 5.6 both using XML::Parser,
> > at the same time.
>
> It's also impossible, on Win32, to use XML::Parser and
> (an XS version of) HTML::Parser at the same time, because
> the DLL is called "Parser.dll" for both.
> 
> >This came up on comp.lang.perl.misc once, and Ilya Z.
> >then wrote, IIRC, that there's no reason why the DLL
> >(if I may call it this way) should have a name identical
> >to the module name. His example was that on his port,
> >for OS/2, he added a (machine generated) versioning
> >string.
> 
> I looked, and found that message back on groups.google.com.
> 
>
http://groups.google.com/groups?as_umsgid=8sverk%244k3%241%40charm.magnus.ac
s.ohio-state.edu
> 
> In case the URL got corrupted in the mail, go to
> "advanced search", <http://groups.google.com/advanced_group_search>,
> and search for message with ID
> <8sverk$4k3$[EMAIL PROTECTED]>.

Reply via email to