pkgsrc/mk/buildlink3/imake-check
tron 5311471179 Fix PR pkg/34139 in a diffent way:
Setting "WRAPPER_SKIP_TRANSFORM" to "yes" isn't enough because "imake"
will invoke the C compiler which might be a wrapper script which always
fails because the package didn't use "USE_LANGUAGES+= c".

The "imake-check" script now simply uses the original command path before
"bsd.pkg.mk" modified and will therefore avoid using any wrappers.
2006-09-10 16:39:31 +00:00

97 lines
3 KiB
Bash
Executable file

#! /bin/sh
#
# $NetBSD: imake-check,v 1.5 2006/09/10 16:39:31 tron Exp $
#
# Copyright (c) 2005 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.
#
# This is the symbol whose value we want to test in the imake config
# files, e.g. NormalLibXpm, BuildXftLibrary, etc.
#
imake_symbol="$1"
: ${X11BASE:=/usr/X11R6}
: ${IMAKE:=${X11BASE}/bin/imake}
: ${CAT:=cat}
: ${ECHO:=echo}
: ${GREP:=grep}
: ${IMAKE_MAKE:=make}
: ${MKDIR:=mkdir}
: ${RM:=rm}
: ${TEST:=test}
# Extract the first word of ${IMAKE}.
for i in ${IMAKE}; do
imake_cmd="$i"; break
done
${TEST} -f "$imake_cmd" || exit 1
# Create a secure temporary directory.
: ${TMPDIR:=/tmp}
tmpdir="${TMPDIR}/imake-check.$$"
umask 077
${MKDIR} "$tmpdir" || exit 1
# Construct an Imakefile that will show whether $imake_symbol is
# true or false.
#
cd "$tmpdir"
${CAT} > Imakefile << EOF
#if $imake_symbol
builtin-test:
@${ECHO} yes
#else
builtin-test:
@${ECHO} no
#endif
EOF
# Reset command path to avoid calling wrapper scripts.
if [ -n "$_PATH_ORIG" ]
then
PATH="$_PATH_ORIG"; export PATH
fi
# Run imake to process the Imakefile.
${IMAKE} -DUseInstalled -I${X11BASE}/lib/X11/config -s - |
${IMAKE_MAKE} -f - builtin-test |
${GREP} -q yes
exitcode="$?"
# Clean up after ourselves.
cd "${TMPDIR}"
${RM} -rf "$tmpdir"
exit "$exitcode"