Remove SHLIBINSTALLDIR and SHLINKINSTALLLIBDIR. Add rpath entries, if

SHLIBDIR differs from /usr/lib.
This commit is contained in:
joerg 2012-08-23 15:45:02 +00:00
parent bd7a682fbd
commit 8e96262375
8 changed files with 21 additions and 64 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.compat,v 1.7 2009/12/13 09:27:34 mrg Exp $
# $NetBSD: Makefile.compat,v 1.8 2012/08/23 15:45:02 joerg Exp $
#
# Makefile fragment to help implement a multilib set of libraries
@ -11,7 +11,6 @@ _COMPAT_OPTIONS_MK_=1
LIBDIR= /usr/lib/${MLIBDIR}
SHLIBDIR= /usr/lib/${MLIBDIR}
SHLIBINSTALLDIR= /usr/lib/${MLIBDIR}
_GCC_CRTBEGIN= ${DESTDIR}/usr/lib/${MLIBDIR}/crtbegin.o
_GCC_CRTBEGINS= ${DESTDIR}/usr/lib/${MLIBDIR}/crtbeginS.o
@ -27,7 +26,4 @@ NOMAN= # defined
NOINFO= # defined
NOCHECKVER= # defined
# ld.elf_so
SHLINKINSTALLDIR= /libexec
.endif # _COMPAT_OPTIONS_MK_ }

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.12 2011/05/30 14:41:26 joerg Exp $
# $NetBSD: Makefile.inc,v 1.13 2012/08/23 15:45:02 joerg Exp $
NOLINT= # defined
NOPICINSTALL= # defined
@ -12,11 +12,9 @@ SHLIB_VERSION_FILE= ${NETBSDSRCDIR}/lib/i18n_module/shlib_version
.if defined(MLIBDIR)
LIBDIR= /usr/lib/${MLIBDIR}/i18n
SHLIBDIR= /usr/lib/${MLIBDIR}/i18n
SHLIBINSTALLDIR=/usr/lib/${MLIBDIR}/i18n
.else
LIBDIR= /usr/lib/i18n
SHLIBDIR= /usr/lib/i18n
SHLIBINSTALLDIR=/usr/lib/i18n
.endif
CPPFLAGS+= -I${NETBSDSRCDIR}/lib/libc/citrus
CPPFLAGS+= -DLOCALEMOD_MAJOR=${SHLIB_MAJOR}

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.112 2012/08/04 15:17:16 matt Exp $
# $NetBSD: Makefile,v 1.113 2012/08/23 15:45:02 joerg Exp $
#
# NOTE: when changing ld.so, ensure that ldd still compiles.
#
@ -14,7 +14,6 @@ WARNS?=4
PIE_CFLAGS=
PIE_LDFLAGS=
.include <bsd.init.mk> # for MKPIC definition
.include <bsd.shlib.mk> # for SHLINKINSTALLDIR definition
.if defined(LDELFSO_MACHINE_CPU) && !empty(LDELFSO_MACHINE_CPU) && \
exists(${.CURDIR}/arch/${LDELFSO_MACHINE_CPU})
@ -81,8 +80,6 @@ xprintf.c: errlist_concat.h
CLEANFILES+= errlist_concat.h
BINDIR= ${SHLINKINSTALLDIR}
CPPFLAGS+= -DLIBDIR=\"${LIBDIR}\" -D_PATH_RTLD=\"${BINDIR}/${PROG}\"
CPPFLAGS+= -I${.CURDIR} -I.
CPPFLAGS+= -DRTLD_LOADER
@ -98,11 +95,6 @@ COPTS= -O3 -fomit-frame-pointer
COPTS+= -mno-3dnow -mno-mmx -mno-sse -mno-sse2 -mno-sse3
.endif
.if ${SHLIBDIR} != ${LIBDIR}
CPPFLAGS+= -DRTLD_DEFAULT_LIBRARY_PATH=\"${SHLIBDIR}:${LIBDIR}\"
.endif
# rtld.c and symbol.c use alloca, so disable SSP warnings.
COPTS.rtld.c+= -Wno-stack-protector
COPTS.symbol.c+=-Wno-stack-protector
@ -133,8 +125,15 @@ ${PROG}: ${OBJS} ${DPADD}
${_MKMSG_LINK} ${PROG}
${CC} ${LDFLAGS} -o ${PROG} ${OBJS} ${LDADD}
.if ${SHLINKINSTALLDIR} != "/usr/libexec"
SYMLINKS+= ${SHLINKINSTALLDIR}/${PROG} /usr/libexec/${PROG}
.if ${MKDYNAMICROOT} == "no"
BINDIR= /usr/libexec
.else
BINDIR= /libexec
.endif
SHLINKDIR= ${BINDIR}
.if ${SHLINKDIR} != "/usr/libexec"
SYMLINKS+= ${SHLINKDIR}/${PROG} /usr/libexec/${PROG}
.endif
.include <bsd.prog.mk>

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.23 2010/07/06 05:59:56 mrg Exp $
# $NetBSD: Makefile,v 1.24 2012/08/23 15:45:03 joerg Exp $
.include <bsd.own.mk> # For MKPIC
.include <bsd.shlib.mk>
@ -13,10 +13,6 @@
PROG= ldconfig
SRCS= ldconfig.c shlib.c
.if ${SHLIBINSTALLDIR} != ${LIBDIR}
CPPFLAGS+=-DSTANDARD_SEARCH_DIRS=\"${SHLIBINSTALLDIR}\",\"${LIBDIR}\"
.endif
.endif
MAN= ldconfig.8

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.README,v 1.298 2012/08/08 13:56:13 christos Exp $
# $NetBSD: bsd.README,v 1.299 2012/08/23 15:45:03 joerg Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
@ -1068,14 +1068,11 @@ MKARZERO Normally, ar(1) sets the timestamps, uid, gid and
permissions to be set to 644. This allows .a files
from different builds to be bit identical.
SHLIBINSTALLDIR Target directory for shared libraries if ${USE_SHLIBDIR}
is not "no".
SHLIB_MAJOR
SHLIB_MINOR
SHLIB_TEENY Major, minor, and teeny version numbers of shared library
USE_SHLIBDIR If not "no", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
USE_SHLIBDIR If not "no", use ${SHLIBDIR} instead of ${LIBDIR}
as the path to install shared libraries to.
USE_SHLIBDIR must be defined before <bsd.own.mk> is included.
Default: no
@ -1613,19 +1610,13 @@ included before <bsd.shlib.mk>.
<bsd.own.mk> sets the following variables, if they are not already defined
(defaults are in brackets):
SHLIBINSTALLDIR If ${USE_SHLIBDIR} is not "no", use ${SHLIBINSTALLDIR}
instead of ${LIBDIR} as the base path for shared library
installation. [/lib]
SHLIBDIR The path to USE_SHLIBDIR shared libraries to use when building
a program. [/lib for programs in /bin and /sbin, /usr/lib
for all others.]
_LIBSODIR Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is not "no",
_LIBSODIR Set to ${SHLIBDIR} if ${USE_SHLIBDIR} is not "no",
otherwise set to ${LIBDIR}
SHLINKINSTALLDIR Base path for shared linker. [/libexec]
SHLINKDIR Path to use for shared linker when building a program.
[/libexec for programs in /bin and /sbin, /usr/libexec for
all others.]

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.lib.mk,v 1.322 2012/07/19 19:42:45 christos Exp $
# $NetBSD: bsd.lib.mk,v 1.323 2012/08/23 15:45:03 joerg Exp $
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
.include <bsd.init.mk>
@ -540,11 +540,7 @@ lib${LIB}_g.a:: ${GOBJS} __archivebuild
_LIBLDOPTS=
.if ${SHLIBDIR} != "/usr/lib"
_LIBLDOPTS+= -Wl,-rpath,${SHLIBDIR} \
-L=${SHLIBDIR}
.elif ${SHLIBINSTALLDIR} != "/usr/lib"
_LIBLDOPTS+= -Wl,-rpath-link,${DESTDIR}${SHLIBINSTALLDIR} \
-L=${SHLIBINSTALLDIR}
_LIBLDOPTS+= -Wl,-rpath,${SHLIBDIR} -L=${SHLIBDIR}
.endif
# gcc -shared now adds -lc automatically. For libraries other than libc and

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.prog.mk,v 1.275 2012/08/08 13:56:14 christos Exp $
# $NetBSD: bsd.prog.mk,v 1.276 2012/08/23 15:45:03 joerg Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.ifndef HOSTPROG
@ -271,9 +271,6 @@ _PROGLDOPTS+= -Wl,-dynamic-linker=${_SHLINKER}
.if ${SHLIBDIR} != "/usr/lib"
_PROGLDOPTS+= -Wl,-rpath,${SHLIBDIR} \
-L=${SHLIBDIR}
.elif ${SHLIBINSTALLDIR} != "/usr/lib"
_PROGLDOPTS+= -Wl,-rpath-link,${DESTDIR}${SHLIBINSTALLDIR} \
-L=${SHLIBINSTALLDIR}
.endif
__proginstall: .USE

View File

@ -1,14 +1,8 @@
# $NetBSD: bsd.shlib.mk,v 1.6 2007/08/29 21:34:17 hira Exp $
# $NetBSD: bsd.shlib.mk,v 1.7 2012/08/23 15:45:03 joerg Exp $
.if !defined(_BSD_SHLIB_MK_)
_BSD_SHLIB_MK_=1
.if ${MKDYNAMICROOT} == "no"
SHLIBINSTALLDIR?= /usr/lib
.else
SHLIBINSTALLDIR?= /lib
.endif
.if ${MKDYNAMICROOT} == "no" || \
(${BINDIR:Ux} != "/bin" && ${BINDIR:Ux} != "/sbin" && \
${BINDIR:Ux} != "/libexec" && ${USE_SHLIBDIR:Uno} == "no")
@ -17,17 +11,7 @@ SHLIBDIR?= /usr/lib
SHLIBDIR?= /lib
.endif
.if ${USE_SHLIBDIR:Uno} != "no"
_LIBSODIR?= ${SHLIBINSTALLDIR}
.else
_LIBSODIR?= ${LIBDIR}
.endif
.if ${MKDYNAMICROOT} == "no"
SHLINKINSTALLDIR?= /usr/libexec
.else
SHLINKINSTALLDIR?= /libexec
.endif
_LIBSODIR?= ${SHLIBDIR}
.if ${MKDYNAMICROOT} == "no" || \
(${BINDIR:Ux} != "/bin" && ${BINDIR:Ux} != "/sbin" && \