summaryrefslogtreecommitdiff
path: root/mk/install
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2009-09-02 14:40:40 +0000
committerjoerg <joerg@pkgsrc.org>2009-09-02 14:40:40 +0000
commitf55b62ae0e65271929560db299ba9eb3df70555e (patch)
tree0e0de22555e74e5bc6716c5d81c0e33c539a7b09 /mk/install
parentedd71c026b670788a7ea816c4dbc5a5d7163c59c (diff)
downloadpkgsrc-f55b62ae0e65271929560db299ba9eb3df70555e.tar.gz
Add STRIP_DEBUG option, which removes debug information from all files,
leaving basic symbol tables intact. Document that INSTALL_UNSTRIPPED doesn't work for all packages.
Diffstat (limited to 'mk/install')
-rw-r--r--mk/install/bsd.install-vars.mk4
-rw-r--r--mk/install/install.mk23
2 files changed, 25 insertions, 2 deletions
diff --git a/mk/install/bsd.install-vars.mk b/mk/install/bsd.install-vars.mk
index 4be1f413741..3655cb3a48c 100644
--- a/mk/install/bsd.install-vars.mk
+++ b/mk/install/bsd.install-vars.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.install-vars.mk,v 1.7 2007/07/02 14:54:10 joerg Exp $
+# $NetBSD: bsd.install-vars.mk,v 1.8 2009/09/02 14:40:40 joerg Exp $
#
# This Makefile fragment is included separately by bsd.pkg.mk and
# defines some variables which must be defined earlier than where
@@ -46,6 +46,8 @@ _MANCOMPRESSED!= \
_MANZ= ${MANZ:Dyes:Uno}
MAKEVARS+= _MANCOMPRESSED _MANZ
+STRIP_DEBUG?= no
+
.if !empty(_MANCOMPRESSED:M[yY][eE][sS]) && empty(_MANZ:M[yY][eE][sS])
USE_TOOLS+= gunzip
.endif
diff --git a/mk/install/install.mk b/mk/install/install.mk
index d72e02e7813..a4675cf9d87 100644
--- a/mk/install/install.mk
+++ b/mk/install/install.mk
@@ -1,4 +1,4 @@
-# $NetBSD: install.mk,v 1.52 2008/11/18 22:03:56 rillig Exp $
+# $NetBSD: install.mk,v 1.53 2009/09/02 14:40:41 joerg Exp $
#
# This file provides the code for the "install" phase.
#
@@ -26,6 +26,11 @@
# INSTALL_UNSTRIPPED
# If "yes", all binaries and shared libraries are installed
# unstripped. Otherwise they are stripped while being installed.
+# This option is not supported by all packages.
+#
+# STRIP_DEBUG
+# If set to "yes", call ${STRI} -g to remove debug information
+# from all files. The symbol tables are still preserved.
#
# Keywords: strip unstripped
#
@@ -183,6 +188,9 @@ _INSTALL_ALL_TARGETS+= pre-install
_INSTALL_ALL_TARGETS+= do-install
_INSTALL_ALL_TARGETS+= post-install
_INSTALL_ALL_TARGETS+= plist
+.if !empty(STRIP_DEBUG:M[Yy][Ee][Ss])
+_INSTALL_ALL_TARGETS+= install-strip-debug
+.endif
_INSTALL_ALL_TARGETS+= install-doc-handling
_INSTALL_ALL_TARGETS+= install-script-data
.if empty(CHECK_FILES:M[nN][oO]) && !empty(CHECK_FILES_SUPPORTED:M[Yy][Ee][Ss])
@@ -325,6 +333,19 @@ post-install:
.endif
######################################################################
+### install-strip-debug (PRIVATE)
+######################################################################
+### install-strip-debug tries to strip debug information from
+### the files in PLIST.
+###
+.PHONY: install-strip-debug
+install-strip-debug: plist
+ @${STEP_MSG} "Automatic stripping of debug information"
+ ${RUN}${CAT} ${PLIST} \
+ | ${SED} -e 's|^|${DESTDIR}${PREFIX}/|' \
+ | ${XARGS} ${STRIP} -g 2>/dev/null || ${TRUE}
+
+######################################################################
### install-doc-handling (PRIVATE)
######################################################################
### install-doc-handling does automatic document (de)compression based