diff options
author | jlam <jlam> | 2004-03-10 17:57:14 +0000 |
---|---|---|
committer | jlam <jlam> | 2004-03-10 17:57:14 +0000 |
commit | a4a404710484a43484fac5e3044019381d4494a9 (patch) | |
tree | 1226d07b8f66083168895189decc88848b70903f /devel/readline | |
parent | fde46d1aaca113dcdf8fc5effa3c04ddd5cd37a5 (diff) | |
download | pkgsrc-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.mk | 153 | ||||
-rw-r--r-- | devel/readline/builtin.mk | 116 |
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 |