diff options
Diffstat (limited to 'mk/tools/msgfmt.mk')
-rw-r--r-- | mk/tools/msgfmt.mk | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/mk/tools/msgfmt.mk b/mk/tools/msgfmt.mk new file mode 100644 index 00000000000..36a973aec6f --- /dev/null +++ b/mk/tools/msgfmt.mk @@ -0,0 +1,86 @@ +# $NetBSD: msgfmt.mk,v 1.1 2006/04/13 16:35:58 jlam Exp $ +# +# Copyright (c) 2006 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Johnny C. Lam. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the NetBSD +# Foundation, Inc. and its contributors. +# 4. Neither the name of The NetBSD Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +.if !defined(TOOLS_IGNORE.msgfmt) && !empty(USE_TOOLS:C/:.*//:Mmsgfmt) +. if !empty(PKGPATH:Mdevel/gettext-tools) +MAKEFLAGS+= TOOLS_IGNORE.msgfmt= +. else +. if defined(TOOLS_PLATFORM.msgfmt) && !empty(TOOLS_PLATFORM.msgfmt) +. if !defined(_TOOLS_USE_PKGSRC.msgfmt) +# +# Discover if the version on the builtin msgfmt is new enough to handle +# msgid_plural (at least 0.10.35). +# +_TOOLS_VERSION.msgfmt!= ${TOOLS_PLATFORM.msgfmt} --version | \ + ${AWK} '{ print $$4; exit }' +_TOOLS_USE_PKGSRC.msgfmt!= \ + if ${PKG_ADMIN} pmatch "gettext>=0.10.35" \ + gettext-${_TOOLS_VERSION.msgfmt:Q}; then \ + ${ECHO} no; \ + else \ + ${ECHO} yes; \ + fi +. endif +MAKEVARS+= _TOOLS_USE_PKGSRC.msgfmt +. else +_TOOLS_USE_PKGSRC.msgfmt= yes +. endif + +# If we're not using the builtin gettext implementation, then we should +# definitely be using the pkgsrc version of msgfmt (gettext-tools). +# +CHECK_BUILTIN.gettext:= yes +. include "../../devel/gettext-lib/builtin.mk" +CHECK_BUILTIN.gettext:= no +. if !empty(USE_BUILTIN.gettext:M[nN][oO]) +_TOOLS_USE_PKGSRC.msgfmt= yes +. endif + +. if !empty(_TOOLS_USE_PKGSRC.msgfmt:M[yY][eE][sS]) +TOOLS_CREATE+= msgfmt +TOOLS_DEPENDS.msgfmt?= {gettext>=0.10.36,gettext-tools>=0.14.5}:../../devel/gettext-tools +TOOLS_FIND_PREFIX+= TOOLS_PREFIX.msgfmt=${TOOLS_DEPENDS.msgfmt:C/:.*//} +TOOLS_PATH.msgfmt= ${TOOLS_PREFIX.msgfmt}/bin/msgfmt +. else +USE_TOOLS+= awk sh +TOOLS_PATH.msgfmt= ${PKGSRCDIR}/mk/tools/msgfmt.sh +TOOLS_SCRIPT.msgfmt= AWK=${TOOLS_AWK:Q} \ + MSGFMT=${TOOLS_PLATFORM.msgfmt:Q} \ + ${TOOLS_SH} ${TOOLS_PATH.msgfmt} "$$@" +. endif +. endif +.endif |