develooper Front page | perl.perl5.porters | Postings from November 2013

Re: Option to use and create "unique" library names

Thread Previous | Thread Next
Brian Fraser
November 20, 2013 09:43
Re: Option to use and create "unique" library names
Message ID:
On Wed, Nov 20, 2013 at 6:09 AM, H.Merijn Brand <> wrote:

> On Wed, 20 Nov 2013 03:41:55 -0200, Brian Fraser <>
> wrote:
> > Background:
> > Android's linker has some bugg^Wunusual behavior, in that it caches
> loaded
> > libraries, but only uses the basename in the cache.  That means that,
> > as far as its dlopen() is concerned, the libraries for Hash::Util and
> > List::Util,
> > both of which are named, are the same.
> >
> > What we did in the android branch was introduce an option,
> d_libname_unique,
> > that when defined, has Makemaker create an "unique" libname for each
> module,
> > and teaches XSLoader and Dynaloader to look for those; So for example,
> > Hash/Util/ becomes Hash/Util/
> >
> > The changes for this are in
> >
> > can be tested by compiling perl with -Dd_libname_unique.
> The change is by far complete, as it is missing
> • documentation in Porting/Glossaary

That file says that it's generated by metaconfig?
the changes for metaconfig, including the description, although the
branch I pushed has a slightly reworded message for Configure, to avoid
ruffling people's feathers.

> • documentation in config_h.SH (might not be required in this case)

Not necessary, it's not a C-visible symbol.

> • entries in Porting/config*

Should I only add it to Porting/, or to all the canned config

> • entry in uconfig.h

> run Porting/

I did this, both before and after modifying Porting/, and with
perls with/without -Dd_libname_unique, and nothing happened. --tap says
that it's all good. I imagine that's not actually true, since the other
canned config files are missing the value?

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About