Subject: toolchain/21504: make and empty(NON_EXISTENT_VAR) fails
To: None <>
From: None <>
List: netbsd-bugs
Date: 05/08/2003 17:29:21
>Number:         21504
>Category:       toolchain
>Synopsis:       make and empty(NON_EXISTENT_VAR) fails
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 08 20:17:00 UTC 2003
>Originator:     john heasley
>Release:        NetBSD 1.6L
System: NetBSD guelah 1.6L NetBSD 1.6L (guelah) #3: Thu Jan 23 06:35:30 UTC 2003 root@guelah:/sys/arch/sparc64/compile/guelah sparc64
Architecture: sparc64
Machine: sparc64
with the introduction of the conditional

.if ! empty(_HOST_CYGWIN)
HOST_SH?=       /usr/bin/bash
HOST_SH?=       sh

to, make in src/tools fails with the error

nbmake: "/home/src/share/mk/" line 71: Malformed conditional (! empty(_HOST_CYGWIN))

apparently this is because _HOST_CYGWIN does not exist.  perhaps there is
change to one of the other share/mk templates that defines _HOST_CYGWIN
that has not appeared on the public cvs repository.  adding _HOST_CYGWIN=
just before the conditional causes make to behave as expected.

however, i do not believe this should fail, ie: for a non-existent variable
it ought to evaluate to true.
>How-To-Repeat:'s building of the host tools was the first to reveal this to me.