summaryrefslogtreecommitdiff
path: root/devel/readline
diff options
context:
space:
mode:
authorjlam <jlam>2004-03-10 17:57:14 +0000
committerjlam <jlam>2004-03-10 17:57:14 +0000
commita4a404710484a43484fac5e3044019381d4494a9 (patch)
tree1226d07b8f66083168895189decc88848b70903f /devel/readline
parentfde46d1aaca113dcdf8fc5effa3c04ddd5cd37a5 (diff)
downloadpkgsrc-a4a404710484a43484fac5e3044019381d4494a9.tar.gz
Split out the code that deals with checking whether the software is
built-in or not into a separate builtin.mk file. The code to deal checking for built-in software is much simpler to deal with in pkgsrc. The buildlink3.mk file for a package will be of the usual format regardless of the package, which makes it simpler for packagers to update a package. The builtin.mk file for a package must define a single yes/no variable USE_BUILTIN.<pkg> that is used by bsd.buildlink3.mk to decide whether to use the built-in software or to use the pkgsrc software.
Diffstat (limited to 'devel/readline')
-rw-r--r--devel/readline/buildlink3.mk153
-rw-r--r--devel/readline/builtin.mk116
2 files changed, 126 insertions, 143 deletions
diff --git a/devel/readline/buildlink3.mk b/devel/readline/buildlink3.mk
index 830ea6b65b4..0b8a1030e99 100644
--- a/devel/readline/buildlink3.mk
+++ b/devel/readline/buildlink3.mk
@@ -1,159 +1,26 @@
-# $NetBSD: buildlink3.mk,v 1.16 2004/02/20 06:51:16 jlam Exp $
+# $NetBSD: buildlink3.mk,v 1.17 2004/03/10 17:57:14 jlam Exp $
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
READLINE_BUILDLINK3_MK:= ${READLINE_BUILDLINK3_MK}+
-.include "../../mk/bsd.prefs.mk"
-
-.if !empty(READLINE_BUILDLINK3_MK:M+)
-BUILDLINK_PACKAGES+= readline
-BUILDLINK_DEPENDS.readline+= readline>=2.2
-BUILDLINK_PKGSRCDIR.readline?= ../../devel/readline
-.endif # READLINE_BUILDLINK3_MK
-
-BUILDLINK_CHECK_BUILTIN.readline?= NO
-
-.if !defined(_BLNK_LIBREADLINE_FOUND)
-_BLNK_LIBREADLINE_FOUND!= \
- if [ "`${ECHO} /usr/lib/libreadline.*`" = "/usr/lib/libreadline.*" ]; then \
- ${ECHO} "NO"; \
- else \
- ${ECHO} "YES"; \
- fi
-MAKEFLAGS+= _BLNK_LIBREADLINE_FOUND=${_BLNK_LIBREADLINE_FOUND}
-.endif
-
-.if !defined(_BLNK_LIBEDIT_FOUND)
-_BLNK_LIBEDIT_FOUND!= \
- if [ "`${ECHO} /usr/lib/libedit.*`" = "/usr/lib/libedit.*" ]; then \
- ${ECHO} "NO"; \
- else \
- ${ECHO} "YES"; \
- fi
-MAKEFLAGS+= _BLNK_LIBEDIT_FOUND=${_BLNK_LIBEDIT_FOUND}
-.endif
-
-_READLINE_H= /usr/include/readline.h
-_READLINE_READLINE_H= /usr/include/readline/readline.h
-
-.if !defined(BUILDLINK_IS_BUILTIN.readline)
-BUILDLINK_IS_BUILTIN.readline= NO
-. if !empty(_BLNK_LIBREADLINE_FOUND:M[yY][eE][sS])
-BUILDLINK_IS_BUILTIN.readline= YES
-. elif exists(${_READLINE_H}) || exists(${_READLINE_READLINE_H})
-. if exists(${_READLINE_H})
-_READLINE_HEADER= ${_READLINE_H}
-. else
-_READLINE_HEADER= ${_READLINE_READLINE_H}
-. endif
-_IS_BUILTIN.readline!= \
- if ${GREP} -q "\#define[ ]*RL_VERSION_MAJOR" ${_READLINE_HEADER}; then \
- ${ECHO} "YES"; \
- else \
- ${ECHO} "NO"; \
- fi
-BUILDLINK_IS_BUILTIN.readline= ${_IS_BUILTIN.readline}
-. if !empty(BUILDLINK_CHECK_BUILTIN.readline:M[nN][oO]) && \
- !empty(_IS_BUILTIN.readline:M[yY][eE][sS])
-#
-# Create an appropriate name for the built-in package distributed
-# with the system. This package name can be used to check against
-# BUILDLINK_DEPENDS.<pkg> to see if we need to install the pkgsrc
-# version or if the built-in one is sufficient.
-#
-_READLINE_MAJOR!= \
- ${AWK} '/\#define[ ]*RL_VERSION_MAJOR/ { print $$3 }' \
- ${_READLINE_HEADER}
-_READLINE_MINOR!= \
- ${AWK} '/\#define[ ]*RL_VERSION_MINOR/ { print $$3 }' \
- ${_READLINE_HEADER}
-_READLINE_VERSION= ${_READLINE_MAJOR}.${_READLINE_MINOR}
-_READLINE_PKG= readline-${_READLINE_VERSION}
-BUILDLINK_IS_BUILTIN.readline= YES
-. for _depend_ in ${BUILDLINK_DEPENDS.readline}
-. if !empty(BUILDLINK_IS_BUILTIN.readline:M[yY][eE][sS])
-BUILDLINK_IS_BUILTIN.readline!= \
- if ${PKG_ADMIN} pmatch '${_depend_}' ${_READLINE_PKG}; then \
- ${ECHO} "YES"; \
- else \
- ${ECHO} "NO"; \
- fi
-. endif
-. endfor
-. endif
-. endif
-#
-# XXX By default, assume that the native editline library supports readline.
-#
-. if !empty(_BLNK_LIBREADLINE_FOUND:M[nN][oO]) && \
- !empty(_BLNK_LIBEDIT_FOUND:M[yY][eE][sS])
-BUILDLINK_IS_BUILTIN.readline= YES
-_INCOMPAT_READLINE?= SunOS-*-*
-. for _pattern_ in ${_INCOMPAT_READLINE} ${INCOMPAT_READLINE}
-. if !empty(MACHINE_PLATFORM:M${_pattern_})
-BUILDLINK_IS_BUILTIN.readline= NO
-. endif
-. endfor
-. endif
-MAKEFLAGS+= BUILDLINK_IS_BUILTIN.readline=${BUILDLINK_IS_BUILTIN.readline}
-.endif
-
-.if !empty(BUILDLINK_CHECK_BUILTIN.readline:M[yY][eE][sS])
-BUILDLINK_USE_BUILTIN.readline= YES
-.endif
-
-.if !defined(BUILDLINK_USE_BUILTIN.readline)
-. if !empty(BUILDLINK_IS_BUILTIN.readline:M[yY][eE][sS])
-BUILDLINK_USE_BUILTIN.readline= YES
-. else
-BUILDLINK_USE_BUILTIN.readline= NO
-. endif
-
-. if !empty(PREFER_NATIVE:M[yY][eE][sS]) && \
- !empty(BUILDLINK_IS_BUILTIN.readline:M[yY][eE][sS])
-BUILDLINK_USE_BUILTIN.readline= YES
-. endif
-. if !empty(PREFER_PKGSRC:M[yY][eE][sS])
-BUILDLINK_USE_BUILTIN.readline= NO
-. endif
-. if !empty(PREFER_NATIVE:Mreadline) && \
- !empty(BUILDLINK_IS_BUILTIN.readline:M[yY][eE][sS])
-BUILDLINK_USE_BUILTIN.readline= YES
-. endif
-. if !empty(PREFER_PKGSRC:Mreadline)
-BUILDLINK_USE_BUILTIN.readline= NO
-. endif
-
-. if defined(USE_GNU_READLINE)
-. if !empty(BUILDLINK_IS_BUILTIN.readline:M[yY][eE][sS]) && \
- !empty(_BLNK_LIBREADLINE_FOUND:M[yY][eE][sS])
-BUILDLINK_USE_BUILTIN.readline= YES
-. else
-BUILDLINK_USE_BUILTIN.readline= NO
-. endif
-. endif
-.endif
-
-.if !empty(BUILDLINK_USE_BUILTIN.readline:M[nN][oO])
-. if !empty(BUILDLINK_DEPTH:M+)
+.if !empty(BUILDLINK_DEPTH:M+)
BUILDLINK_DEPENDS+= readline
-. endif
.endif
+BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nreadline}
+BUILDLINK_PACKAGES+= readline
+
.if !empty(READLINE_BUILDLINK3_MK:M+)
-. if !empty(BUILDLINK_USE_BUILTIN.readline:M[yY][eE][sS])
-. if !empty(_BLNK_LIBREADLINE_FOUND:M[nN][oO]) && \
- !empty(_BLNK_LIBEDIT_FOUND:M[yY][eE][sS])
-BUILDLINK_TRANSFORM+= l:history:edit
-BUILDLINK_TRANSFORM+= l:readline:edit:termcap
-. endif
-. endif
+BUILDLINK_DEPENDS.readline+= readline>=2.2
+BUILDLINK_PKGSRCDIR.readline?= ../../devel/readline
-BUILDLINK_FILES.readline= include/history.h
+BUILDLINK_FILES.readline+= include/history.h
BUILDLINK_FILES.readline+= include/readline.h
+
BUILDLINK_TRANSFORM.readline= \
-e "s|include/history\.h|include/readline/history.h|g" \
-e "s|include/readline\.h|include/readline/readline.h|g"
+
.endif # READLINE_BUILDLINK3_MK
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/devel/readline/builtin.mk b/devel/readline/builtin.mk
new file mode 100644
index 00000000000..0c7594fcb24
--- /dev/null
+++ b/devel/readline/builtin.mk
@@ -0,0 +1,116 @@
+# $NetBSD: builtin.mk,v 1.1 2004/03/10 17:57:14 jlam Exp $
+
+.if !defined(_BLNK_LIBREADLINE_FOUND)
+_BLNK_LIBREADLINE_FOUND!= \
+ if [ "`${ECHO} /usr/lib/libreadline.*`" = "/usr/lib/libreadline.*" ]; then \
+ ${ECHO} "no"; \
+ else \
+ ${ECHO} "yes"; \
+ fi
+MAKEFLAGS+= _BLNK_LIBREADLINE_FOUND=${_BLNK_LIBREADLINE_FOUND}
+.endif
+
+.if !defined(_BLNK_LIBEDIT_FOUND)
+_BLNK_LIBEDIT_FOUND!= \
+ if [ "`${ECHO} /usr/lib/libedit.*`" = "/usr/lib/libedit.*" ]; then \
+ ${ECHO} "no"; \
+ else \
+ ${ECHO} "yes"; \
+ fi
+MAKEFLAGS+= _BLNK_LIBEDIT_FOUND=${_BLNK_LIBEDIT_FOUND}
+.endif
+
+_READLINE_H= /usr/include/readline.h
+_READLINE_READLINE_H= /usr/include/readline/readline.h
+
+.if !defined(IS_BUILTIN.readline)
+IS_BUILTIN.readline= no
+. if !empty(_BLNK_LIBREADLINE_FOUND:M[yY][eE][sS])
+IS_BUILTIN.readline= yes
+. elif exists(${_READLINE_H}) || exists(${_READLINE_READLINE_H})
+. if exists(${_READLINE_H})
+_READLINE_HEADER= ${_READLINE_H}
+. else
+_READLINE_HEADER= ${_READLINE_READLINE_H}
+. endif
+IS_BUILTIN.readline!= \
+ if ${GREP} -q "\#define[ ]*RL_VERSION_MAJOR" ${_READLINE_HEADER}; then \
+ ${ECHO} "yes"; \
+ else \
+ ${ECHO} "no"; \
+ fi
+. if !empty(IS_BUILTIN.readline:M[yY][eE][sS])
+#
+# Create an appropriate name for the built-in package distributed
+# with the system. This package name can be used to check against
+# BUILDLINK_DEPENDS.<pkg> to see if we need to install the pkgsrc
+# version or if the built-in one is sufficient.
+#
+_READLINE_MAJOR!= \
+ ${AWK} '/\#define[ ]*RL_VERSION_MAJOR/ { print $$3 }' \
+ ${_READLINE_HEADER}
+_READLINE_MINOR!= \
+ ${AWK} '/\#define[ ]*RL_VERSION_MINOR/ { print $$3 }' \
+ ${_READLINE_HEADER}
+_READLINE_VERSION= ${_READLINE_MAJOR}.${_READLINE_MINOR}
+BUILTIN_PKG.readline= readline-${_READLINE_VERSION}
+MAKEFLAGS+= BUILTIN_PKG.readline=${BUILTIN_PKG.readline}
+. endif
+. endif
+MAKEFLAGS+= IS_BUILTIN.readline=${IS_BUILTIN.readline}
+.endif
+
+CHECK_BUILTIN.readline?= no
+.if !empty(CHECK_BUILTIN.readline:M[yY][eE][sS])
+USE_BUILTIN.readline= yes
+.endif
+
+.if !defined(USE_BUILTIN.readline)
+USE_BUILTIN.readline?= ${IS_BUILTIN.readline}
+PREFER.readline?= pkgsrc
+
+. if defined(BUILTIN_PKG.readline)
+USE_BUILTIN.readline= yes
+. for _depend_ in ${BUILDLINK_DEPENDS.readline}
+. if !empty(USE_BUILTIN.readline:M[yY][eE][sS])
+USE_BUILTIN.readline!= \
+ if ${PKG_ADMIN} pmatch '${_depend_}' ${BUILTIN_PKG.readline}; then \
+ ${ECHO} "yes"; \
+ else \
+ ${ECHO} "no"; \
+ fi
+. endif
+. endfor
+. endif
+
+. if ${PREFER.readline} == "native"
+# XXX
+# XXX By default, assume that the native editline library supports readline.
+# XXX
+. if !empty(_BLNK_LIBREADLINE_FOUND:M[nN][oO]) && \
+ !empty(_BLNK_LIBEDIT_FOUND:M[yY][eE][sS])
+USE_BUILTIN.readline= yes
+_INCOMPAT_READLINE?= SunOS-*-*
+. for _pattern_ in ${_INCOMPAT_READLINE} ${INCOMPAT_READLINE}
+. if !empty(MACHINE_PLATFORM:M${_pattern_})
+USE_BUILTIN.readline= no
+. endif
+. endfor
+. endif
+. endif
+
+. if defined(USE_GNU_READLINE)
+. if !empty(IS_BUILTIN.readline:M[nN][oO]) && \
+ (${PREFER.readline} == "pkgsrc")
+USE_BUILTIN.readline= no
+. endif
+. endif
+.endif # USE_BUILTIN.readline
+
+.if !empty(USE_BUILTIN.readline:M[yY][eE][sS])
+. if !empty(_BLNK_LIBREADLINE_FOUND:M[nN][oO]) && \
+ !empty(_BLNK_LIBEDIT_FOUND:M[yY][eE][sS])
+BUILDLINK_TRANSFORM+= l:history:edit
+BUILDLINK_TRANSFORM+= l:readline:edit:termcap
+. endif
+.endif