Sat Jan 28 21:32:14 2012 UTC ()
Provide a way to override the default objcopy flags for library modules.


(christos)
diff -r1.290 -r1.291 src/share/mk/bsd.README
diff -r1.318 -r1.319 src/share/mk/bsd.lib.mk
diff -r1.210 -r1.211 src/share/mk/bsd.sys.mk

cvs diff -r1.290 -r1.291 src/share/mk/bsd.README (expand / switch to context diff)
--- src/share/mk/bsd.README 2011/11/05 22:56:30 1.290
+++ src/share/mk/bsd.README 2012/01/28 21:32:13 1.291
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.README,v 1.290 2011/11/05 22:56:30 christos Exp $
+#	$NetBSD: bsd.README,v 1.291 2012/01/28 21:32:13 christos Exp $
 #	@(#)bsd.README	8.2 (Berkeley) 4/2/94
 
 This is the README file for the make "include" files for the NetBSD
@@ -1730,6 +1730,9 @@
 OBJCFLAGS	Options to ${OBJC}.  [${CFLAGS}]
 
 OBJCOPY		Copy and translate object files.  [objcopy]
+
+OBJCOPYLIBFLAGS	Flags to pass to objcopy when library objects are
+		being built. [${.TARGET} =~ "*.po" ? -X : -x]
 
 OBJDUMP		Display information from object files.  [objdump]
 

cvs diff -r1.318 -r1.319 src/share/mk/bsd.lib.mk (expand / switch to context diff)
--- src/share/mk/bsd.lib.mk 2011/10/07 09:15:22 1.318
+++ src/share/mk/bsd.lib.mk 2012/01/28 21:32:14 1.319
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.lib.mk,v 1.318 2011/10/07 09:15:22 mrg Exp $
+#	$NetBSD: bsd.lib.mk,v 1.319 2012/01/28 21:32:14 christos Exp $
 #	@(#)bsd.lib.mk	8.3 (Berkeley) 4/22/94
 
 .include <bsd.init.mk>
@@ -214,7 +214,7 @@
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
 .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .c.po:
@@ -224,7 +224,7 @@
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
 .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
-	${OBJCOPY} -X ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .c.go:
@@ -235,21 +235,21 @@
 	${_MKTARGET_COMPILE}
 	${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
 .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .cc.o .cpp.o .cxx.o .C.o:
 	${_MKTARGET_COMPILE}
 	${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
 .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .cc.po .cpp.po .cxx.po .C.po:
 	${_MKTARGET_COMPILE}
 	${COMPILE.cc} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET}
 .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
-	${OBJCOPY} -X ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .cc.go .cpp.go .cxx.go .C.go:
@@ -260,7 +260,7 @@
 	${_MKTARGET_COMPILE}
 	${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}
 .if !defined(CFLAGS) || empty(CFLAGS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .f.o:
@@ -270,7 +270,7 @@
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
 .if !defined(FOPTS) || empty(FOPTS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .f.po:
@@ -280,7 +280,7 @@
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
 .if !defined(FOPTS) || empty(FOPTS:M*-g*)
-	${OBJCOPY} -X ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .f.go:
@@ -291,7 +291,7 @@
 	${_MKTARGET_COMPILE}
 	${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET}
 .if !defined(FOPTS) || empty(FOPTS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .f.ln:
@@ -305,7 +305,7 @@
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
 .if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .m.po:
@@ -315,21 +315,21 @@
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
 .if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*)
-	${OBJCOPY} -X ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .m.go:
 	${_MKTARGET_COMPILE}
 	${COMPILE.m} ${DEBUGFLAGS} -g ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
 .if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*)
-	${OBJCOPY} -X ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .m.pico:
 	${_MKTARGET_COMPILE}
 	${COMPILE.m} ${CSHLIBFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
 .if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*)
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 .endif
 
 .s.o:
@@ -338,7 +338,7 @@
 .if defined(CTFCONVERT)
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 
 .S.o:
 	${_MKTARGET_COMPILE}
@@ -346,7 +346,7 @@
 .if defined(CTFCONVERT)
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 
 .s.po:
 	${_MKTARGET_COMPILE}
@@ -354,7 +354,7 @@
 .if defined(CTFCONVERT)
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
-	${OBJCOPY} -X ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 
 .S.po:
 	${_MKTARGET_COMPILE}
@@ -362,7 +362,7 @@
 .if defined(CTFCONVERT)
 	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .endif
-	${OBJCOPY} -X ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 
 .s.go:
 	${_MKTARGET_COMPILE}
@@ -375,12 +375,12 @@
 .s.pico:
 	${_MKTARGET_COMPILE}
 	${COMPILE.s} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 
 .S.pico:
 	${_MKTARGET_COMPILE}
 	${COMPILE.S} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-	${OBJCOPY} -x ${.TARGET}
+	${OBJCOPY} ${OBJCOPYFLAGS} ${.TARGET}
 
 .if defined(LIB)							# {
 .if (${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \

cvs diff -r1.210 -r1.211 src/share/mk/bsd.sys.mk (expand / switch to context diff)
--- src/share/mk/bsd.sys.mk 2011/10/31 14:20:12 1.210
+++ src/share/mk/bsd.sys.mk 2012/01/28 21:32:14 1.211
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.sys.mk,v 1.210 2011/10/31 14:20:12 chs Exp $
+#	$NetBSD: bsd.sys.mk,v 1.211 2012/01/28 21:32:14 christos Exp $
 #
 # Build definitions used for NetBSD source tree builds.
 
@@ -267,5 +267,8 @@
 .y.h: ${.TARGET:.h=.c}
 .endif
 .endif
+
+# Objcopy
+OBJCOPYLIBFLAGS?=${"${.TARGET:M*.po}" != "":?-X:-x}
 
 .endif	# !defined(_BSD_SYS_MK_)