Pullup ticket #2747 - requested by tez
[pkgsrc.git] / mk / buildlink3 / imake-check.mk
1 # $NetBSD: imake-check.mk,v 1.6 2007/07/27 17:44:43 tnn Exp $
2 #
3 # Copyright (c) 2005 The NetBSD Foundation, Inc.
4 # All rights reserved.
5 #
6 # This code is derived from software contributed to The NetBSD Foundation
7 # by Johnny C. Lam.
8 #
9 # Redistribution and use in source and binary forms, with or without
10 # modification, are permitted provided that the following conditions
11 # are met:
12 # 1. Redistributions of source code must retain the above copyright
13 #    notice, this list of conditions and the following disclaimer.
14 # 2. Redistributions in binary form must reproduce the above copyright
15 #    notice, this list of conditions and the following disclaimer in the
16 #    documentation and/or other materials provided with the distribution.
17 # 3. All advertising materials mentioning features or use of this software
18 #    must display the following acknowledgement:
19 #        This product includes software developed by the NetBSD
20 #        Foundation, Inc. and its contributors.
21 # 4. Neither the name of The NetBSD Foundation nor the names of its
22 #    contributors may be used to endorse or promote products derived
23 #    from this software without specific prior written permission.
24 #
25 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
26 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
29 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 # POSSIBILITY OF SUCH DAMAGE.
36 #
37
38 #
39 # This is a "subroutine" that can be included to detect whether the
40 # X11 distribution we are using with pkgsrc has certain X11 components
41 # built-in to the distribution.
42 #
43 # The following variables must be defined before including this file:
44 #
45 #    BUILTIN_IMAKE_CHECK is a list of <pkg>:<symbol> pairs, where <pkg>
46 #       is the package to check for, and <symbol> is the imake symbol
47 #       to check in the imake config files.
48 #
49 # After including this file, the following variables are defined:
50 #
51 #    BUILTIN_IMAKE_CHECK.<pkg> is "yes" or "no" depending on whether the
52 #       specified imake symbol is "true" in the imake config files.
53 #
54 # An example use is:
55 #
56 # BUILTIN_IMAKE_CHECK:= Xft2:BuildXftLibrary
57 # .include "../../mk/buildlink3/imake-check.mk"
58 #
59
60 .for _pair_ in ${BUILTIN_IMAKE_CHECK}
61 .  for pkg in ${_pair_:C/\:[^:]*$//}
62 .  for symbol in ${_pair_:C/^[^:]*\://}
63 .  if ${X11_TYPE} == "modular"
64 BUILTIN_IMAKE_CHECK.${pkg}=     no
65 .  else
66 USE_TOOLS+=     cat:pkgsrc echo:pkgsrc grep:pkgsrc mkdir:pkgsrc         \
67                 rm:pkgsrc test:pkgsrc
68 USE_TOOLS+=     imake:pkgsrc ${IMAKE_TOOLS:S/$/:pkgsrc/}        # XXX
69 IMAKE?=         ${X11BASE}/bin/imake                            # XXX
70
71 .    if !defined(BUILTIN_IMAKE_CHECK.${pkg})
72 BUILTIN_IMAKE_CHECK.${pkg}!=                            \
73         if ${SETENV} CAT=${CAT:Q} ECHO=${ECHO:Q} GREP=${GREP:Q}         \
74                 IMAKE=${IMAKE:Q} IMAKE_MAKE=${IMAKE_MAKE:Q}             \
75                 MKDIR=${MKDIR:Q} PATH_ORIG=${_PATH_ORIG:Q}              \
76                 RM=${RM:Q} TEST=${TEST:Q}                               \
77                 X11BASE=${X11BASE:Q}                                    \
78            ${SH} ${.CURDIR}/../../mk/buildlink3/imake-check ${symbol};  \
79         then                                                            \
80                 ${ECHO} yes;                                            \
81         else                                                            \
82                 ${ECHO} no;                                             \
83         fi
84 .    endif
85 MAKEVARS+=      BUILTIN_IMAKE_CHECK.${pkg}
86 .  endif
87 .  endfor
88 .  endfor
89 .endfor