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.prog.mk,v rcsdiff: /ftp/cvs/cvsroot/src/share/mk/bsd.prog.mk,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.284 retrieving revision 1.309 diff -u -p -r1.284 -r1.309 --- src/share/mk/bsd.prog.mk 2013/05/31 06:48:43 1.284 +++ src/share/mk/bsd.prog.mk 2017/12/10 15:11:47 1.309 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prog.mk,v 1.284 2013/05/31 06:48:43 mrg Exp $ +# $NetBSD: bsd.prog.mk,v 1.309 2017/12/10 15:11:47 christos Exp $ # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 .ifndef HOSTPROG @@ -48,41 +48,49 @@ CLEANFILES+=strings @rm -f x.cc .endif -.if defined(MKPIE) && (${MKPIE} != "no") +.if defined(MKPIE) && (${MKPIE} != "no") && !defined(NOPIE) CFLAGS+= ${PIE_CFLAGS} AFLAGS+= ${PIE_AFLAGS} -LDFLAGS+= ${PIE_LDFLAGS} +LDFLAGS+= ${"${LDSTATIC.${.TARGET}}" == "-static" :? : ${PIE_LDFLAGS}} .endif CFLAGS+= ${COPTS} -.if defined(MKDEBUG) && (${MKDEBUG} != "no") +.if ${MKDEBUG:Uno} != "no" && !defined(NODEBUG) CFLAGS+= -g .endif OBJCFLAGS+= ${OBJCOPTS} -MKDEP_SUFFIXES?= .o .ln +MKDEP_SUFFIXES?= .o .ln .d # CTF preserve debug symbols -.if defined(MKDTRACE) && (${MKDTRACE} != "no") && (${CFLAGS:M-g} != "") +.if (${MKCTF:Uno} != "no") && (${CFLAGS:M-g} != "") CTFFLAGS+= -g CTFMFLAGS+= -g +.if defined(HAVE_GCC) +#CFLAGS+=-gdwarf-2 +.endif .endif # ELF platforms depend on crti.o, crtbegin.o, crtend.o, and crtn.o .ifndef LIBCRTBEGIN -LIBCRTBEGIN= ${DESTDIR}/usr/lib/crti.o ${_GCC_CRTBEGIN} +LIBCRTBEGIN= ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crti.o ${_GCC_CRTBEGIN} .MADE: ${LIBCRTBEGIN} .endif .ifndef LIBCRTEND -LIBCRTEND= ${_GCC_CRTEND} ${DESTDIR}/usr/lib/crtn.o +LIBCRTEND= ${_GCC_CRTEND} ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crtn.o .MADE: ${LIBCRTEND} .endif _SHLINKER= ${SHLINKDIR}/ld.elf_so .ifndef LIBCRT0 -LIBCRT0= ${DESTDIR}/usr/lib/crt0.o +LIBCRT0= ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crt0.o .MADE: ${LIBCRT0} .endif +.ifndef LIBCRTI +LIBCRTI= ${DESTDIR}/usr/lib/${MLIBDIR:D${MLIBDIR}/}crti.o +.MADE: ${LIBCRTI} +.endif + ##### Installed system library definitions # # E.g. @@ -104,19 +112,17 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o c_pic \ com_err \ compat \ - crt0 \ crypt \ crypto \ - crypto_idea \ - crypto_mdc2 \ - crypto_rc5 \ curses \ + cxx \ dbm \ des \ dns \ edit \ event \ expat \ + execinfo \ fetch \ fl \ form \ @@ -147,6 +153,7 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o m \ magic \ menu \ + netpgpverify \ objc \ ossaudio \ pam \ @@ -155,7 +162,6 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o pmc \ posix \ pthread \ - pthread_dbg \ puffs \ quota \ radius \ @@ -191,6 +197,7 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o supcxx \ terminfo \ tre \ + unbound \ usbhid \ util \ wind \ @@ -205,15 +212,13 @@ LIB${_lib:tu}= ${DESTDIR}/usr/lib/lib${_ # PAM applications, if linked statically, need more libraries .if (${MKPIC} == "no") -.if (${MKCRYPTO} != "no") PAM_STATIC_LDADD+= -lssh PAM_STATIC_DPADD+= ${LIBSSH} -.endif .if (${MKKERBEROS} != "no") PAM_STATIC_LDADD+= -lkafs -lkrb5 -lhx509 -lwind -lasn1 \ - -lroken -lcom_err -lheimbase -lcrypto + -lroken -lcom_err -lheimbase -lcrypto -lsqlite3 PAM_STATIC_DPADD+= ${LIBKAFS} ${LIBKRB5} ${LIBHX509} ${LIBWIND} ${LIBASN1} \ - ${LIBROKEN} ${LIBCOM_ERR} ${LIBHEIMBASE} ${LIBCRYPTO} + ${LIBROKEN} ${LIBCOM_ERR} ${LIBHEIMBASE} ${LIBCRYPTO} ${LIBSQLITE3} .endif .if (${MKSKEY} != "no") PAM_STATIC_LDADD+= -lskey @@ -271,6 +276,7 @@ LIB${_lib:tu}= ${DESTDIR}${X11USRLIBDIR} # Ugly one-offs LIBX11_XCB= ${DESTDIR}${X11USRLIBDIR}/libX11-xcb.a +LIBXCB= ${DESTDIR}${X11USRLIBDIR}/libxcb.a .if defined(RESCUEDIR) CPPFLAGS+= -DRESCUEDIR=\"${RESCUEDIR}\" @@ -321,6 +327,7 @@ _CCLINK= ${CXX} ${_CCLINKFLAGS} .endif .if defined(RUMPPRG) +CPPFLAGS+= -D_KERNTYPES PROG= ${RUMPPRG} . ifndef CRUNCHEDPROG . if (${MKRUMP} != "no") @@ -341,8 +348,8 @@ SRCS.rump.${PROG}= ${PROG}.c ${PROG}_rum . endif . if (${MKRUMP} != "no") DPSRCS+= ${PROG}_rumpops.c ${RUMPSRCS} -LDADD.rump.${PROG}+= -lrumpclient -DPADD.rump.${PROG}+= ${LIBRUMPCLIENT} +LDADD.rump.${PROG}+= ${LDADD.rump} -lrumpclient +DPADD.rump.${PROG}+= ${DPADD.rump} ${LIBRUMPCLIENT} MAN.rump.${PROG}= # defined but feeling empty _RUMPINSTALL.rump.${PROG}=# defined . endif @@ -424,7 +431,8 @@ _CCLINK.${_P}= ${CXX} ${_CCLINKFLAGS} BINDIR.${_P}?= ${BINDIR} PROGNAME.${_P}?= ${_P} -.if ${MKDEBUG} != "no" && !commands(${_P}) +.if ${MKDEBUG:Uno} != "no" && !defined(NODEBUG) && !commands(${_P}) && \ + !empty(OBJS.${_P}) _PROGDEBUG.${_P}:= ${PROGNAME.${_P}}.debug .endif @@ -475,7 +483,8 @@ NODPSRCS+= ${f} .endif .endfor -${_P}: .gdbinit ${LIBCRT0} ${XOBJS.${_P}} ${SRCS.${_P}} ${DPSRCS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} +${_P}: .gdbinit ${LIBCRT0} ${LIBCRTI} ${XOBJS.${_P}} ${SRCS.${_P}} \ + ${DPSRCS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} ${_MKTARGET_LINK} .if defined(DESTDIR) ${_CCLINK.${_P}} -Wl,-nostdlib \ @@ -508,7 +517,8 @@ CLEANFILES+= ${_P}.d ${OBJS.${_P}} ${LOBJS.${_P}}: ${DPSRCS} -${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} +${_P}: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \ + ${LIBCRTEND} ${_DPADD.${_P}} .if !commands(${_P}) ${_MKTARGET_LINK} ${_CCLINK.${_P}} \ @@ -528,7 +538,7 @@ ${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${_P}.ro: ${OBJS.${_P}} ${_DPADD.${_P}} ${_MKTARGET_LINK} - ${CC} ${LDFLAGS} -nostdlib -r -Wl,-dc -o ${.TARGET} ${OBJS.${_P}} + ${CC} ${LDFLAGS:N-pie} -nostdlib -r -Wl,-dc -o ${.TARGET} ${OBJS.${_P}} .if defined(_PROGDEBUG.${_P}) ${_PROGDEBUG.${_P}}: ${_P}