diff options
author | jlam <jlam@pkgsrc.org> | 2004-03-10 17:57:14 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2004-03-10 17:57:14 +0000 |
commit | d68193d4743931877544a7e52ed44171707b858d (patch) | |
tree | 1226d07b8f66083168895189decc88848b70903f /graphics/freetype2 | |
parent | 55bd3391bd2b274e284613fb1e70cd0190dd4ed8 (diff) | |
download | pkgsrc-d68193d4743931877544a7e52ed44171707b858d.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 'graphics/freetype2')
-rw-r--r-- | graphics/freetype2/buildlink3.mk | 105 | ||||
-rw-r--r-- | graphics/freetype2/builtin.mk | 66 |
2 files changed, 75 insertions, 96 deletions
diff --git a/graphics/freetype2/buildlink3.mk b/graphics/freetype2/buildlink3.mk index 87a506b7c7a..9c2a3435a74 100644 --- a/graphics/freetype2/buildlink3.mk +++ b/graphics/freetype2/buildlink3.mk @@ -1,110 +1,23 @@ -# $NetBSD: buildlink3.mk,v 1.20 2004/02/29 00:22:43 recht Exp $ +# $NetBSD: buildlink3.mk,v 1.21 2004/03/10 17:57:14 jlam Exp $ BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ FREETYPE2_BUILDLINK3_MK:= ${FREETYPE2_BUILDLINK3_MK}+ -.include "../../mk/bsd.prefs.mk" - -.if !empty(FREETYPE2_BUILDLINK3_MK:M+) -BUILDLINK_PACKAGES+= freetype2 -BUILDLINK_DEPENDS.freetype2+= freetype2>=2.1.3 -BUILDLINK_PKGSRCDIR.freetype2?= ../../graphics/freetype2 -BUILDLINK_INCDIRS.freetype2?= include/freetype2 -.endif # FREETYPE2_BUILDLINK3_MK - -BUILDLINK_CHECK_BUILTIN.freetype2?= NO - -_FREETYPE2_FREETYPE_H= ${X11BASE}/include/freetype2/freetype/freetype.h -_X11_TMPL= ${X11BASE}/lib/X11/config/X11.tmpl - -.if !defined(BUILDLINK_IS_BUILTIN.freetype2) -BUILDLINK_IS_BUILTIN.freetype2= NO -. if exists(${_FREETYPE2_FREETYPE_H}) && exists(${_X11_TMPL}) -_IS_BUILTIN.freetype2!= \ - if ${GREP} -q BuildFreetype2Library ${_X11_TMPL}; then \ - ${ECHO} "YES"; \ - else \ - ${ECHO} "NO"; \ - fi -BUILDLINK_IS_BUILTIN.freetype2= ${_IS_BUILTIN.freetype2} -. if !empty(BUILDLINK_CHECK_BUILTIN.freetype2:M[nN][oO]) && \ - !empty(_IS_BUILTIN.freetype2:M[yY][eE][sS]) -# -# Create an appropriate package name for the built-in freetype2 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. -# -_FREETYPE2_MAJOR!= \ - ${AWK} '/\#define[ ]*FREETYPE_MAJOR/ { print $$3 }' ${_FREETYPE2_FREETYPE_H} -_FREETYPE2_MINOR!= \ - ${AWK} '/\#define[ ]*FREETYPE_MINOR/ { print "."$$3 }' ${_FREETYPE2_FREETYPE_H} -_FREETYPE2_PATCH!= \ - ${AWK} 'BEGIN { patch=0; } /\#define[ ]*FREETYPE_PATCH/ { patch=$$3; } END { print "."patch; }' ${_FREETYPE2_FREETYPE_H} -_FREETYPE2_VERSION= ${_FREETYPE2_MAJOR}${_FREETYPE2_MINOR}${_FREETYPE2_PATCH} -_FREETYPE2_PKG= freetype2-${_FREETYPE2_VERSION} -BUILDLINK_IS_BUILTIN.freetype2?= YES -. for _depend_ in ${BUILDLINK_DEPENDS.freetype2} -. if !empty(BUILDLINK_IS_BUILTIN.freetype2:M[yY][eE][sS]) -BUILDLINK_IS_BUILTIN.freetype2!= \ - if ${PKG_ADMIN} pmatch '${_depend_}' ${_FREETYPE2_PKG}; then \ - ${ECHO} "YES"; \ - else \ - ${ECHO} "NO"; \ - fi -. endif -. endfor -. endif -. endif -MAKEFLAGS+= BUILDLINK_IS_BUILTIN.freetype2=${BUILDLINK_IS_BUILTIN.freetype2} +.if !empty(BUILDLINK_DEPTH:M+) +BUILDLINK_DEPENDS+= freetype2 .endif -.if !empty(BUILDLINK_CHECK_BUILTIN.freetype2:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.freetype2= YES -.endif - -.if !defined(BUILDLINK_USE_BUILTIN.freetype2) -. if !empty(BUILDLINK_IS_BUILTIN.freetype2:M[yY][eE][sS]I) -BUILDLINK_USE_BUILTIN.freetype2= YES -. else -BUILDLINK_USE_BUILTIN.freetype2= NO -. endif - -. if !empty(PREFER_NATIVE:M[yY][eE][sS]) && \ - !empty(BUILDLINK_IS_BUILTIN.freetype2:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.freetype2= YES -. endif -. if !empty(PREFER_PKGSRC:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.freetype2= NO -. endif -. if !empty(PREFER_NATIVE:Mfreetype2) && \ - !empty(BUILDLINK_IS_BUILTIN.freetype2:M[yY][eE][sS]) -BUILDLINK_USE_BUILTIN.freetype2= YES -. endif -. if !empty(PREFER_PKGSRC:Mfreetype2) -BUILDLINK_USE_BUILTIN.freetype2= NO -. endif -.endif - -.if !empty(BUILDLINK_USE_BUILTIN.freetype2:M[nN][oO]) -# -# If we depend on the package, depend on the latest version with a library -# major number bump. -# -BUILDLINK_DEPENDS.freetype2+= freetype2>=2.1.3 -. if !empty(BUILDLINK_DEPTH:M+) -BUILDLINK_DEPENDS+= freetype2 -. endif -.endif +BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nfreetype2} +BUILDLINK_PACKAGES+= freetype2 .if !empty(FREETYPE2_BUILDLINK3_MK:M+) -. if !empty(BUILDLINK_USE_BUILTIN.freetype2:M[yY][eE][sS]) -BUILDLINK_PREFIX.freetype2= ${X11BASE} -USE_X11= yes -. endif +BUILDLINK_DEPENDS.freetype2+= freetype2>=2.1.0 +BUILDLINK_PKGSRCDIR.freetype2?= ../../graphics/freetype2 +BUILDLINK_INCDIRS.freetype2?= include/freetype2 FREETYPE_CONFIG?= ${BUILDLINK_PREFIX.freetype2}/bin/freetype-config CONFIGURE_ENV+= FREETYPE_CONFIG="${FREETYPE_CONFIG}" + .endif # FREETYPE2_BUILDLINK3_MK BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} diff --git a/graphics/freetype2/builtin.mk b/graphics/freetype2/builtin.mk new file mode 100644 index 00000000000..10ab50c29ce --- /dev/null +++ b/graphics/freetype2/builtin.mk @@ -0,0 +1,66 @@ +# $NetBSD: builtin.mk,v 1.1 2004/03/10 17:57:14 jlam Exp $ + +_FREETYPE2_FREETYPE_H= ${X11BASE}/include/freetype2/freetype/freetype.h +_X11_TMPL= ${X11BASE}/lib/X11/config/X11.tmpl + +.if !defined(IS_BUILTIN.freetype2) +IS_BUILTIN.freetype2= no +. if exists(${_FREETYPE2_FREETYPE_H}) && exists(${_X11_TMPL}) +IS_BUILTIN.freetype2!= \ + if ${GREP} -q BuildFreetype2Library ${_X11_TMPL}; then \ + ${ECHO} "yes"; \ + else \ + ${ECHO} "no"; \ + fi +. if !empty(IS_BUILTIN.freetype2:M[yY][eE][sS]) +# +# Create an appropriate package name for the built-in freetype2 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. +# +_FREETYPE2_MAJOR!= \ + ${AWK} '/\#define[ ]*FREETYPE_MAJOR/ { print $$3 }' ${_FREETYPE2_FREETYPE_H} +_FREETYPE2_MINOR!= \ + ${AWK} '/\#define[ ]*FREETYPE_MINOR/ { print "."$$3 }' ${_FREETYPE2_FREETYPE_H} +_FREETYPE2_PATCH!= \ + ${AWK} 'BEGIN { patch=0; } /\#define[ ]*FREETYPE_PATCH/ { patch=$$3; } END { print "."patch; }' ${_FREETYPE2_FREETYPE_H} +_FREETYPE2_VERSION= ${_FREETYPE2_MAJOR}${_FREETYPE2_MINOR}${_FREETYPE2_PATCH} +BUILTIN_PKG.freetype2= freetype2-${_FREETYPE2_VERSION} +MAKEFLAGS+= BUILTIN_PKG.freetype2=${BUILTIN_PKG.freetype2} +. endif +. endif +MAKEFLAGS+= IS_BUILTIN.freetype2=${IS_BUILTIN.freetype2} +.endif + +CHECK_BUILTIN.freetype2?= no +.if !empty(CHECK_BUILTIN.freetype2:M[yY][eE][sS]) +USE_BUILTIN.freetype2= yes +.endif + +.if !defined(USE_BUILTIN.freetype2) +USE_BUILTIN.freetype2?= ${IS_BUILTIN.freetype2} + +. if defined(BUILTIN_PKG.freetype2) +USE_BUILTIN.freetype2= yes +. for _depend_ in ${BUILDLINK_DEPENDS.freetype2} +. if !empty(USE_BUILTIN.freetype2:M[yY][eE][sS]) +USE_BUILTIN.freetype2!= \ + if ${PKG_ADMIN} pmatch '${_depend_}' ${BUILTIN_PKG.freetype2}; then \ + ${ECHO} "yes"; \ + else \ + ${ECHO} "no"; \ + fi +. endif +. endfor +. endif +.endif # USE_BUILTIN.freetype2 + +.if !empty(USE_BUILTIN.freetype2:M[nN][oO]) +BUILDLINK_DEPENDS.freetype2+= freetype2>=2.1.3 +.endif + +.if !empty(USE_BUILTIN.freetype2:M[yY][eE][sS]) +BUILDLINK_PREFIX.freetype2= ${X11BASE} +USE_X11= yes +.endif |