Re: libtool - building both 32 and 64-bit members for archives in one "pass"

Michael Haubenwallner <[email protected]>
Newsgroups gmane.comp.gnu.libtool.general
Message-ID <[email protected]>
Hi Michael,

On 01/19/2016 09:44 PM, Michael Felt wrote:
> L.S.,
> 
> If I understand the documentation correctly libtool places non-shareable members (.o files) in the src directory
> and "shareable aka PIC objects in src/.libs". However, libtool makes only one size of objects - either 32-bit or 64-bit.
> 
> As "aixtools" I am trying to package (common) opensource projects - and mainly I have done so as as 32-bit only and was not bothered by the lack
> of 64-bit build issues. Recently there are packages that may only work well in 64-bit mode (e.g., R language) and I have started to package
> in 64-bit as well.
> 
> As part of my research I see that Linux distros seem to use .../lib/libsomething* and .../lib64/libsomething* for 32 and 64-bit (respectively) library
> packaging. The AIX convention - as you may, or may not know, is not to have multiple .so files in two directories but to have one .../lib/libsomething.a
> with multiple members as static and/or shareable objects. The same object name may be used multiple times, although the legacy convention is to
> use shr.o as a shared object of multiple .o members and shr64.o for the same .o files - but compiled in 64-bit mode).
> 
> I am wondering - and willing to work on - with assistence - an addition to the .lo target such that both 32 and 64 bit (shared) objects are made
> for inclusion in a single .a archive - to be compareable with a library as it would be released by IBM AIX developers/labs.

IMO, there is no point in having multilib support within libtool for AIX only.
If ever, multilib support inside libtool should be implemented in some generic
way - to allow for porting to Linux and others eventually.

Instead, for the time being even on AIX, it is up to the package manager to
separately compile the package in 32-bit and 64-bit mode, and then merge the
members of both the 32-bit Archive Library and the 64-bit Archive Library into
one single Archive Library. Agreed this is a little tricky, but possible.

However, this works as long as you have libtool to create Archive Libraries
at all - which is the default when LDFLAGS does not contain "-brtl".

My 2 cents,
/haubi/

PS: Probably worth a note: Since libtool-2.4.4 there is the "--with-aix-soname"
configure option for optional filename-based shared library versioning on AIX,
which is designed to work with above multilib merging strategy as well.

_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.