summaryrefslogtreecommitdiff
path: root/mk/bsd.pkg.mk
diff options
context:
space:
mode:
authorjlam <jlam>2003-08-23 09:45:53 +0000
committerjlam <jlam>2003-08-23 09:45:53 +0000
commita389a0863057c99791174b3c995a95d1f47e59e5 (patch)
treeb67be5f448e3f79184c0bf3a853b34742d509e9d /mk/bsd.pkg.mk
parenta7c941b21dc0f13f9c346029eec8f34777c0e3ed (diff)
downloadpkgsrc-a389a0863057c99791174b3c995a95d1f47e59e5.tar.gz
Sync to HEAD.
Diffstat (limited to 'mk/bsd.pkg.mk')
-rw-r--r--mk/bsd.pkg.mk70
1 files changed, 40 insertions, 30 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index 9cf807968a2..d5d3ed1fd28 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.1216.2.30 2003/08/23 09:35:30 jlam Exp $
+# $NetBSD: bsd.pkg.mk,v 1.1216.2.31 2003/08/23 09:45:53 jlam Exp $
#
# This file is in the public domain.
#
@@ -2601,7 +2601,7 @@ real-su-install: ${MESSAGE}
do-shlib-handling:
.if ${SHLIB_HANDLING} == "YES"
${_PKG_SILENT}${_PKG_DEBUG} \
- sos=`${EGREP} -h -x '.*/lib[^/]+\.so\.[0-9]+(\.[0-9]+)+' ${PLIST} || ${TRUE}`; \
+ sos=`${EGREP} -h -x '.*/lib[^/]+\.so' ${PLIST} || ${TRUE}`; \
if [ "$$sos" != "" ]; then \
shlib_type=`${MAKE} ${MAKEFLAGS} show-shlib-type`; \
if [ "${SHLIB_PLIST_MODE}" = "0" ]; then \
@@ -2648,7 +2648,7 @@ do-shlib-handling:
} \
{ lines[NR] = $$0 } \
END { \
- for (i = 1 ; i <= linkc ; i++) \
+ for (i = 0 ; i <= linkc ; i++) \
for (j = 1 ; j < NR ; j++) \
if (lines[j] == links[i]) \
lines[j] = "@comment " lines[j]; \
@@ -2741,7 +2741,7 @@ do-shlib-handling:
} \
{ lines[NR] = $$0 } \
END { \
- for (i = 1 ; i <= linkc ; i++) \
+ for (i = 0 ; i <= linkc ; i++) \
for (j = 1 ; j <= NR ; j++) \
if (lines[j] == links[i]) \
lines[j] = "@comment " lines[j]; \
@@ -2803,24 +2803,28 @@ check-shlibs:
bins=`${PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/(bin|sbin|libexec)/' || ${TRUE}; }`; \
if [ "${OBJECT_FMT}" = "ELF" ]; then \
shlibs=`${PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/lib/lib.*.so' || ${TRUE}; }`; \
+ elif [ "${OBJECT_FMT}" = "Mach-O" ]; then \
+ shlibs=`${PKG_INFO} -qL ${PKGNAME} | { ${EGREP} -h '/lib/lib.*.dylib' || ${TRUE}; }`; \
else \
shlibs=""; \
fi; \
- if [ X${LDD} = X ]; then \
- ldd=`${TYPE} ldd | ${AWK} '{ print $$NF }'`; \
+ if [ "X${LDD}" = X ]; then \
+ ldd=`${TYPE} ldd 2>/dev/null | ${AWK} '{ print $$NF }'`;\
else \
ldd="${LDD}"; \
fi; \
- for i in $${bins} $${shlibs}; do \
- err=`{ $$ldd $$i 2>&1 || ${TRUE}; } | { ${GREP} "not found" || ${TRUE}; }`; \
- if [ "${PKG_VERBOSE}" != "" ]; then \
- ${ECHO} "$$ldd $$i"; \
- fi; \
- if [ "$$err" != "" ]; then \
- ${ECHO} "$$i: $$err"; \
- error=1; \
- fi; \
- done; \
+ if [ -x "$$ldd" ]; then \
+ for i in $${bins} $${shlibs}; do \
+ err=`{ $$ldd $$i 2>&1 || ${TRUE}; } | { ${GREP} "not found" || ${TRUE}; }`; \
+ if [ "${PKG_VERBOSE}" != "" ]; then \
+ ${ECHO} "$$ldd $$i"; \
+ fi; \
+ if [ "$$err" != "" ]; then \
+ ${ECHO} "$$i: $$err"; \
+ error=1; \
+ fi; \
+ done; \
+ fi; \
if [ "$$error" = 1 ]; then \
${ECHO} "*** The above programs/libs will not find the listed shared libraries"; \
${ECHO} " at runtime. Please fix the package (add -Wl,-R.../lib in the right places)!"; \
@@ -4473,26 +4477,32 @@ fake-pkg: ${PLIST} ${DESCR} ${MESSAGE}
. endif
. if ${CHECK_SHLIBS} == "YES"
${_PKG_SILENT}${_PKG_DEBUG} \
+ case "${LDD}" in \
+ "") ldd=`${TYPE} ldd 2>/dev/null | ${AWK} '{ print $$NF }'`;; \
+ *) ldd="${LDD}"; \
+ esac; \
case "${OBJECT_FMT}" in \
ELF) bins=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^(bin|sbin|libexec)\// { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \
libs=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^lib\/lib.*\.so\.[0-9]+$$/ { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \
- for i in "" $$libs; do \
- ${TEST} "$$i" = "" && continue; \
- ${ECHO} "PROVIDES=$$i" >> ${BUILD_INFO_FILE}; \
- done; \
- case "${LDD}" in \
- "") ldd=`${TYPE} ldd | ${AWK} '{ print $$NF }'`;; \
- *) ldd="${LDD}"; \
- esac; \
if ${TEST} "$$bins" != "" -o "$$libs" != ""; then \
requires=`($$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} 'NF == 3 { print $$3 }' | ${SORT} -u`; \
- for req in "" $$requires; do \
- ${TEST} "$$req" = "" && continue; \
- ${ECHO} "REQUIRES=$$req" >> ${BUILD_INFO_FILE}; \
- done; \
fi; \
- ;; \
- esac
+ ;; \
+ Mach-O) bins=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^(bin|sbin|libexec)\// { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \
+ libs=`${SETENV} PREFIX=${PREFIX} ${AWK} '/^lib\/lib.*\.dylib/ { print ENVIRON["PREFIX"] "/" $$0 }' ${PLIST} || ${TRUE}`; \
+ if ${TEST} "$$bins" != "" -o "$$libs" != ""; then \
+ requires=`($$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} 'NF > 1 { print $$1 }' | ${SORT} -u`; \
+ fi; \
+ ;; \
+ esac; \
+ for i in "" $$libs; do \
+ ${TEST} "$$i" = "" && continue; \
+ ${ECHO} "PROVIDES=$$i" >> ${BUILD_INFO_FILE}; \
+ done; \
+ for req in "" $$requires; do \
+ ${TEST} "$$req" = "" && continue; \
+ ${ECHO} "REQUIRES=$$req" >> ${BUILD_INFO_FILE}; \
+ done
. endif
${_PKG_SILENT}${_PKG_DEBUG} \
${ECHO} "_PKGTOOLS_VER=${PKGTOOLS_VERSION}" >> ${BUILD_INFO_FILE}