Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/share/mk/bsd.lib.mk,v retrieving revision 1.273.6.1 retrieving revision 1.274 diff -u -p -r1.273.6.1 -r1.274 --- src/share/mk/bsd.lib.mk 2008/05/18 12:31:18 1.273.6.1 +++ src/share/mk/bsd.lib.mk 2008/04/26 20:03:44 1.274 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.lib.mk,v 1.273.6.1 2008/05/18 12:31:18 yamt Exp $ +# $NetBSD: bsd.lib.mk,v 1.274 2008/04/26 20:03:44 christos Exp $ # @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 .include @@ -7,15 +7,6 @@ # Pull in here so we can override its .c.o rule .include -LIBISPRIVATE?= no - -.if ${LIBISPRIVATE} != "no" -MKDEBUGLIB:= no -MKLINT:= no -MKPIC:= no -MKPROFILE:= no -.endif - ##### Basic targets .PHONY: checkver libinstall realinstall: checkver libinstall @@ -342,12 +333,10 @@ OBJS+=${SRCS:N*.h:N*.sh:R:S/$/.o/g} STOBJS+=${OBJS} -LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} - -.if ${LIBISPRIVATE} != "no" +.if ${MKPRIVATELIB} != "no" # No installation is required libinstall:: -.else # ${LIBISPRIVATE} == "no" # { +.else # ${MKPRIVATELIB} == "no" # { .if ${MKDEBUGLIB} != "no" _LIBS+=lib${LIB}_g.a @@ -382,11 +371,12 @@ _LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION} .endif .endif # } -.if ${MKLINT} != "no" && !empty(LOBJS) +LOBJS+=${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} +.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS) _LIBS+=llib-l${LIB}.ln .endif -.endif # ${LIBISPRIVATE} == "no" # } +.endif # ${MKPRIVATELIB} == "no" # } ALLOBJS= .if (${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \ @@ -394,7 +384,7 @@ ALLOBJS= ALLOBJS+=${STOBJS} .endif ALLOBJS+=${POBJS} ${SOBJS} -.if ${MKLINT} != "no" && !empty(LOBJS) +.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS) ALLOBJS+=${LOBJS} .endif .else # !defined(LIB) # } { @@ -451,22 +441,9 @@ _LIBLDOPTS+= -Wl,-rpath-link,${DESTDIR}$ -L${DESTDIR}${SHLIBINSTALLDIR} .endif -# gcc -shared now adds -lc automatically. For libraries other than libc and -# libgcc* we add as a dependency the installed shared libc. For libc and -# libgcc* we avoid adding libc as a dependency by using -nostdlib. Note that -# -Xl,-nostdlib is not enough because we want to tell the compiler-driver not -# to add standard libraries, not the linker. -.if !defined(LIB) -DPLIBC ?= ${DESTDIR}${LIBC_SO} -.else -.if ${LIB} != "c" && ${LIB:Mgcc*} == "" +.if ${LIB} != "c" DPLIBC ?= ${DESTDIR}${LIBC_SO} -.else -LDLIBC ?= -nodefaultlibs -.if ${LIB} == "c" -LDADD+= -lgcc_pic -.endif -.endif +LDLIBC ?= -lc .endif lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOLIB} ${DPADD} ${DPLIBC} \ @@ -474,16 +451,17 @@ lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOL ${_MKTARGET_BUILD} rm -f lib${LIB}.so.${SHLIB_FULLVERSION} .if defined(DESTDIR) - ${CC} ${LDLIBC} -Wl,-nostdlib -B${_GCC_CRTDIR}/ -B${DESTDIR}/usr/lib/ \ + ${CC} -Wl,-nostdlib -B${_GCC_CRTDIR}/ -B${DESTDIR}/usr/lib/ \ ${_LIBLDOPTS} \ -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} -o ${.TARGET} \ -Wl,--whole-archive ${SOLIB} \ -Wl,--no-whole-archive ${LDADD} \ - -L${_GCC_LIBGCCDIR} + -L${_GCC_LIBGCCDIR} ${LDLIBC} .else - ${CC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} \ - -o ${.TARGET} ${_LIBLDOPTS} \ - -Wl,--whole-archive ${SOLIB} -Wl,--no-whole-archive ${LDADD} + ${CC} -Wl,-x -shared ${SHLIB_SHFLAGS} ${LDFLAGS} -o ${.TARGET} \ + ${_LIBLDOPTS} \ + -Wl,--whole-archive ${SOLIB} -Wl,--no-whole-archive ${LDADD} \ + ${LDLIBC} .endif .if ${OBJECT_FMT} == "ELF" # We don't use INSTALL_SYMLINK here because this is just @@ -507,11 +485,6 @@ llib-l${LIB}.ln: ${LOBJS} .endif .endif # } -lint: ${LOBJS} -.if defined(LOBJS) && !empty(LOBJS) - ${LINT} ${LINTFLAGS} ${LOBJS} -.endif - cleanlib: .PHONY rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES} rm -f lib${LIB}.a ${STOBJS} @@ -650,7 +623,7 @@ ${DESTDIR}${_LIBSODIR}/lib${LIB}.so.${SH .endif .endif -.if ${MKLINT} != "no" && !empty(LOBJS) +.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" && !empty(LOBJS) libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln .PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln