Re: shared lib issue in /usr/obj?

From: Giorgos Keramidas <keramida_at_freebsd.org>
Date: Thu, 09 Dec 2010 14:52:06 +0100
On Thu, 9 Dec 2010 15:15:02 +0200, Kostik Belousov <kostikbel_at_gmail.com> wrote:
> On Thu, Dec 09, 2010 at 01:57:16PM +0100, Giorgos Keramidas wrote:
>> They are installed with "make install" and when you run "make install"
>> with PRECIOUSLIB defined, bsd.lib.mk adds this to SHINSTALLFLAGS:
>>
>>   .if defined(PRECIOUSLIB)
>>   .if !defined(NO_FSCHG)
>>   SHLINSTALLFLAGS+= -fschg
>>   .endif
>>   SHLINSTALLFLAGS+= -S
>>   .endif
>>
>> The Makefiles that set PRECIOUSLIB today are:
>>
>>   keramida_at_bokos:/usr/src$ grep -r 'PRECIOUSLIB.*=' *
>>   lib/libc/Makefile:PRECIOUSLIB=
>>   lib/libcrypt/Makefile:PRECIOUSLIB=
>>   lib/libkse/Makefile:PRECIOUSLIB=
>>   lib/librt/Makefile:PRECIOUSLIB=
>>   lib/libthr/Makefile:PRECIOUSLIB=
>>   keramida_at_bokos:/usr/src$
>
> Would be nice if lib32 installation into the obj/ area somehow
> eliminated the setting of schg flag. There is no reason to have schg
> set on files in obj.

Yes, that's a good idea.

I don't have root access to an amd64 system to test this now, but I
think all we need to change is:

%%%
$ hg diff .
diff -r e52d3f3de04d Makefile.inc1
--- a/Makefile.inc1     Thu Dec 09 12:35:12 2010 +0100
+++ b/Makefile.inc1     Thu Dec 09 14:50:06 2010 +0100
_at__at_ -318,7 +318,8 _at__at_ LIB32WMAKEENV+=     MAKEOBJDIRPREFIX=${OBJTR
                CXX="${CXX} ${LIB32FLAGS}" \
                OBJC="${OBJC} ${LIB32FLAGS}" \
                LIBDIR=/usr/lib32 \
-               SHLIBDIR=/usr/lib32
+               SHLIBDIR=/usr/lib32 \
+               NO_FSCHG=''

 LIB32WMAKE=    ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \
                -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \
$
%%%

This should strip the -fschg option from lib32's installation commands.


Received on Thu Dec 09 2010 - 12:52:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:10 UTC