[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libtool - building both 32 and 64-bit members for archives in one "p
From: |
Michael Haubenwallner |
Subject: |
Re: libtool - building both 32 and 64-bit members for archives in one "pass" |
Date: |
Wed, 20 Jan 2016 10:18:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
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.