summaryrefslogtreecommitdiff
path: root/security/PAM/builtin.mk
diff options
context:
space:
mode:
authorjlam <jlam>2005-01-14 00:08:46 +0000
committerjlam <jlam>2005-01-14 00:08:46 +0000
commitc0da1fb94b76978d8d6d9f9bfd7ff9b5cfcf8140 (patch)
treee47502a8e46e6eac5834af0de90b25e883eb9aba /security/PAM/builtin.mk
parenta3b3372326e5e74edd233619ef0ee51e04c1bfaa (diff)
downloadpkgsrc-c0da1fb94b76978d8d6d9f9bfd7ff9b5cfcf8140.tar.gz
* Rename the buildlink module name associated with the security/PAM
package from "pam" to "linux-pam". * Rewrite PAM/builtin.mk to check that we have Linux-PAM, and re-classify MacOS X's PAM as Linux-PAM because it _is_, according to to Apple. Also don't use BUILDLINK_TRANSFORM.* to rewrite header file paths -- just use a symlink so that <security/*.h> can be used to find <pam/*.h>.
Diffstat (limited to 'security/PAM/builtin.mk')
-rw-r--r--security/PAM/builtin.mk58
1 files changed, 35 insertions, 23 deletions
diff --git a/security/PAM/builtin.mk b/security/PAM/builtin.mk
index 8890dbdda7e..60b0d4d432b 100644
--- a/security/PAM/builtin.mk
+++ b/security/PAM/builtin.mk
@@ -1,38 +1,50 @@
-# $NetBSD: builtin.mk,v 1.9 2005/01/12 02:27:48 xtraeme Exp $
+# $NetBSD: builtin.mk,v 1.10 2005/01/14 00:08:46 jlam Exp $
.include "../../mk/bsd.prefs.mk"
_PAM_PAM_APPL_H= /usr/include/pam/pam_appl.h
_SECURITY_PAM_APPL_H= /usr/include/security/pam_appl.h
-.if !defined(IS_BUILTIN.pam)
-IS_BUILTIN.pam= no
+.if !defined(IS_BUILTIN.linux-pam)
+IS_BUILTIN.linux-pam= no
. if empty(_SECURITY_PAM_APPL_H:M${LOCALBASE}/*) && \
exists(${_SECURITY_PAM_APPL_H})
-IS_BUILTIN.pam= yes
-. endif
-.endif # IS_BUILTIN.pam
-
-.if !defined(USE_BUILTIN.pam)
-USE_BUILTIN.pam?= ${IS_BUILTIN.pam}
-. if empty(_PAM_PAM_APPL_H:M${LOCALBASE}/*) && exists(${_PAM_PAM_APPL_H})
+IS_BUILTIN.linux-pam!= \
+ if ${GREP} -q "The Linux-PAM Framework layer API" ${_SECURITY_PAM_APPL_H}; then \
+ ${ECHO} "yes"; \
+ else \
+ ${ECHO} "no"; \
+ fi
+. elif empty(_PAM_PAM_APPL_H:M${LOCALBASE}/*) && exists(${_PAM_PAM_APPL_H})
+#
+# MacOS X installs their PAM headers as /usr/include/pam/*.h, and their
+# PAM implementation is derived from Linux-PAM:
#
-# Treat MacOS X's PAM implementation as Linux-PAM-compatible.
+# http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/pam.8.html
#
-USE_BUILTIN.pam= yes
+IS_BUILTIN.linux-pam= yes
. endif
-.endif
+BUILDLINK_VARS+= IS_BUILTIN.linux-pam
+.endif # IS_BUILTIN.linux-pam
-CHECK_BUILTIN.pam?= no
-.if !empty(CHECK_BUILTIN.pam:M[nN][oO])
+USE_BUILTIN.linux-pam?= ${IS_BUILTIN.linux-pam}
+
+CHECK_BUILTIN.linux-pam?= no
+.if !empty(CHECK_BUILTIN.linux-pam:M[nN][oO])
+
+. if !empty(USE_BUILTIN.linux-pam:M[yY][eE][sS])
+BUILDLINK_TARGETS+= buildlink-pam-security
+. endif
-.if !empty(USE_BUILTIN.pam:M[yY][eE][sS])
-. if exists(${_SECURITY_PAM_APPL_H})
-BUILDLINK_TRANSFORM.pam+= -e "s|/include/pam/|/include/security/|"
-BUILDLINK_FILES.pam+= include/security/*.h
-. else
-BUILDLINK_FILES.pam+= include/pam/*.h
+. if !target(buildlink-pam-security)
+.PHONY: buildlink-pam-security
+buildlink-pam-security:
+ ${_PKG_SILENT}${_PKG_DEBUG} \
+ if [ -d ${BUILDLINK_PREFIX.linux-pam}/include/pam ]; then \
+ ${RM} -fr ${BUILDLINK_DIR}/include/security; \
+ ${LN} -fs ${BUILDLINK_PREFIX.linux-pam}/include/pam \
+ ${BUILDLINK_DIR}/include/security; \
+ fi
. endif
-.endif
-.endif # CHECK_BUILTIN.pam
+.endif # CHECK_BUILTIN.linux-pam