From d0b4c54eb698e718080690cf98ab5b8bbb4001e0 Mon Sep 17 00:00:00 2001 From: jlam Date: Wed, 10 Mar 2004 17:57:14 +0000 Subject: 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. that is used by bsd.buildlink3.mk to decide whether to use the built-in software or to use the pkgsrc software. --- textproc/expat/buildlink3.mk | 99 +++----------------------------------------- textproc/expat/builtin.mk | 69 ++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 93 deletions(-) create mode 100644 textproc/expat/builtin.mk (limited to 'textproc/expat') diff --git a/textproc/expat/buildlink3.mk b/textproc/expat/buildlink3.mk index 89609e1827b..925b04cc69d 100644 --- a/textproc/expat/buildlink3.mk +++ b/textproc/expat/buildlink3.mk @@ -1,105 +1,18 @@ -# $NetBSD: buildlink3.mk,v 1.9 2004/02/20 23:14:14 jlam Exp $ +# $NetBSD: buildlink3.mk,v 1.10 2004/03/10 17:57:15 jlam Exp $ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ EXPAT_BUILDLINK3_MK:= ${EXPAT_BUILDLINK3_MK}+ -.include "../../mk/bsd.prefs.mk" - -.if !empty(EXPAT_BUILDLINK3_MK:M+) -BUILDLINK_PACKAGES+= expat -BUILDLINK_DEPENDS.expat+= expat>=1.95.4 -BUILDLINK_PKGSRCDIR.expat?= ../../textproc/expat -.endif # EXPAT_BUILDLINK3_MK - -BUILDLINK_CHECK_BUILTIN.expat?= NO - -_EXPAT_H= ${X11BASE}/include/expat.h -_X11_TMPL= ${X11BASE}/lib/X11/config/X11.tmpl - -.if !defined(BUILDLINK_IS_BUILTIN.expat) -BUILDLINK_IS_BUILTIN.expat= NO -. if exists(${_X11_TMPL}) && exists(${_X11_EXTENSIONS_EXPAT_H}) -_IS_BUILTIN.expat!= \ - if ${GREP} -q BuildExpatLibrary ${_X11_TMPL}; then \ - ${ECHO} "YES"; \ - else \ - ${ECHO} "NO"; \ - fi -BUILDLINK_IS_BUILTIN.expat= ${_IS_BUILTIN.expat} -. if !empty(BUILDLINK_CHECK_BUILTIN.expat:M[nN][oO]) && \ - !empty(_IS_BUILTIN.expat:M[yY][eE][sS]) -# -# Create an appropriate package name for the built-in expat distributed -# with the system. This package name can be used to check against -# BUILDLINK_DEPENDS. to see if we need to install the pkgsrc version -# or if the built-in one is sufficient. -# -_EXPAT_MAJOR!= \ - ${AWK} '/\#define[ ]*XML_MAJOR_REVISION/ { print $$3 }' \ - ${_EXPAT_H} -_EXPAT_MINOR!= \ - ${AWK} '/\#define[ ]*XML_MINOR_REVISION/ { print $$3 }' \ - ${_EXPAT_H} -_EXPAT_MICRO!= \ - ${AWK} '/\#define[ ]*XML_MICRO_REVISION/ { print $$3 }' \ - ${_EXPAT_H} -_EXPAT_VERSION= ${_EXPAT_MAJOR}.${_EXPAT_MINOR}.${_EXPAT_MICRO} -_EXPAT_PKG= expat-${_EXPAT_VERSION} -BUILDLINK_IS_BUILTIN.expat?= YES -. for _depend_ in ${BUILDLINK_DEPENDS.expat} -. if !empty(BUILDLINK_IS_BUILTIN.expat:M[yY][eE][sS]) -BUILDLINK_IS_BUILTIN.expat!= \ - if ${PKG_ADMIN} pmatch '${_depend_}' ${_EXPAT_PKG}; then \ - ${ECHO} "YES"; \ - else \ - ${ECHO} "NO"; \ - fi -. endif -. endfor -. endif -. endif -MAKEFLAGS+= BUILDLINK_IS_BUILTIN.expat=${BUILDLINK_IS_BUILTIN.expat} +.if !empty(BUILDLINK_DEPTH:M+) +BUILDLINK_DEPENDS+= expat .endif -.if !empty(BUILDLINK_CHECK_BUILTIN.expat:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.expat= YES -.endif - -.if !defined(BUILDLINK_USE_BUILTIN.expat) -. if !empty(BUILDLINK_IS_BUILTIN.expat:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.expat= YES -. else -BUILDLINK_USE_BUILTIN.expat= NO -. endif - -. if !empty(PREFER_NATIVE:M[yY][eE][sS]) && \ - !empty(BUILDLINK_IS_BUILTIN.expat:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.expat= YES -. endif -. if !empty(PREFER_PKGSRC:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.expat= NO -. endif -. if !empty(PREFER_NATIVE:Mexpat) && \ - !empty(BUILDLINK_IS_BUILTIN.expat:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.expat= YES -. endif -. if !empty(PREFER_PKGSRC:Mexpat) -BUILDLINK_USE_BUILTIN.expat= NO -. endif -.endif - -.if !empty(BUILDLINK_USE_BUILTIN.expat:M[nN][oO]) -. if !empty(BUILDLINK_DEPTH:M+) -BUILDLINK_DEPENDS+= expat -. endif -.endif +BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nexpat} +BUILDLINK_PACKAGES+= expat .if !empty(EXPAT_BUILDLINK3_MK:M+) BUILDLINK_DEPENDS.expat+= expat>=1.95.4 -. if !empty(BUILDLINK_USE_BUILTIN.expat:M[yY][eE][sS]) -BUILDLINK_PREFIX.expat= ${X11BASE} -USE_X11= yes -. endif +BUILDLINK_PKGSRCDIR.expat?= ../../textproc/expat .endif # EXPAT_BUILDLINK3_MK BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} diff --git a/textproc/expat/builtin.mk b/textproc/expat/builtin.mk new file mode 100644 index 00000000000..affa0e49395 --- /dev/null +++ b/textproc/expat/builtin.mk @@ -0,0 +1,69 @@ +# $NetBSD: builtin.mk,v 1.1 2004/03/10 17:57:15 jlam Exp $ + +_EXPAT_H= ${X11BASE}/include/expat.h +_X11_TMPL= ${X11BASE}/lib/X11/config/X11.tmpl + +.if !defined(IS_BUILTIN.expat) +IS_BUILTIN.expat= no +. if exists(${_X11_TMPL}) && exists(${_EXPAT_H}) +IS_BUILTIN.expat!= \ + if ${GREP} -q BuildExpatLibrary ${_X11_TMPL}; then \ + ${ECHO} "yes"; \ + else \ + ${ECHO} "no"; \ + fi +. if !empty(IS_BUILTIN.expat:M[yY][eE][sS]) +# +# Create an appropriate package name for the built-in expat distributed +# with the system. This package name can be used to check against +# BUILDLINK_DEPENDS. to see if we need to install the pkgsrc version +# or if the built-in one is sufficient. +# +_EXPAT_MAJOR!= \ + ${AWK} '/\#define[ ]*XML_MAJOR_VERSION/ { print $$3 }' \ + ${_EXPAT_H} +_EXPAT_MINOR!= \ + ${AWK} '/\#define[ ]*XML_MINOR_VERSION/ { print $$3 }' \ + ${_EXPAT_H} +_EXPAT_MICRO!= \ + ${AWK} '/\#define[ ]*XML_MICRO_VERSION/ { print $$3 }' \ + ${_EXPAT_H} +_EXPAT_VERSION= ${_EXPAT_MAJOR}.${_EXPAT_MINOR}.${_EXPAT_MICRO} +BUILTIN_PKG.expat= expat-${_EXPAT_VERSION} +MAKEFLAGS+= BUILTIN_PKG.expat=${BUILTIN_PKG.expat} +. endif +. endif +MAKEFLAGS+= IS_BUILTIN.expat=${IS_BUILTIN.expat} +.endif + +CHECK_BUILTIN.expat?= no +.if !empty(CHECK_BUILTIN.expat:M[yY][eE][sS]) +USE_BUILTIN.expat= yes +.endif + +.if !defined(USE_BUILTIN.expat) +USE_BUILTIN.expat?= ${IS_BUILTIN.expat} + +. if defined(BUILTIN_PKG.expat) +USE_BUILTIN.expat= yes +. for _depend_ in ${BUILDLINK_DEPENDS.expat} +. if !empty(USE_BUILTIN.expat:M[yY][eE][sS]) +USE_BUILTIN.expat!= \ + if ${PKG_ADMIN} pmatch '${_depend_}' ${BUILTIN_PKG.expat}; then \ + ${ECHO} "yes"; \ + else \ + ${ECHO} "no"; \ + fi +. endif +. endfor +. endif +.endif # USE_BUILTIN.expat + +.if !empty(USE_BUILTIN.expat:M[nN][oO]) +BUILDLINK_DEPENDS.expat+= expat>=1.95.4 +.endif + +.if !empty(USE_BUILTIN.expat:M[yY][eE][sS]) +BUILDLINK_PREFIX.expat= ${X11BASE} +USE_X11= yes +.endif -- cgit v1.2.3