5311471179
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.
97 lines
3 KiB
Bash
Executable file
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"
|