bsd.compat.mk: Allow finding non-internal libraries
Currently only libexec/rtld-elf32 uses internal LIBC_NOSSP_PIC during the build but it gets it directly from the objdir rather than a sysroot. For example, /usr/obj/usr/src/amd64.amd64/obj-lib32/lib/libc/libc_nossp_pic.a. We don't stage lib32 libraries in WORLDTMP/usr/lib32 and doing so doesn't buy much. If we want to use a staged lib32 library then we need to look in LIBCOMPATTMP where they were staged. For example if LIBC_PIC were wanted then look for /usr/obj/usr/src/amd64.amd64/obj-lib32/tmp/usr/lib32/libc_pic.a. Reported by: rlibby Reviewed by: rlibby Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D27648
This commit is contained in:
parent
44b8b2a00d
commit
556fcdce5b
@ -161,6 +161,7 @@ LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat}
|
||||
.if defined(WANT_COMPAT)
|
||||
LIBDIR_BASE:= /usr/lib${libcompat}
|
||||
_LIB_OBJTOP= ${LIBCOMPAT_OBJTOP}
|
||||
LIBDESTDIR:= ${LIBCOMPATTMP}
|
||||
CFLAGS+= ${LIBCOMPATCFLAGS}
|
||||
LDFLAGS+= ${CFLAGS} ${LIBCOMPATLDFLAGS}
|
||||
MACHINE= ${LIBCOMPAT_MACHINE}
|
||||
|
@ -8,7 +8,7 @@
|
||||
.error bsd.libnames.mk cannot be included directly.
|
||||
.endif
|
||||
|
||||
LIBDESTDIR= ${SYSROOT:U${DESTDIR}}
|
||||
LIBDESTDIR?= ${SYSROOT:U${DESTDIR}}
|
||||
|
||||
.sinclude <src.libnames.mk>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user