Subject: toolchain/21504: make and empty(NON_EXISTENT_VAR) fails
To: None <gnats-bugs@gnats.netbsd.org>
From: None <heas@shrubbery.net>
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
>Closed-Date:
>Last-Modified:
>Originator:     john heasley
>Release:        NetBSD 1.6L
>Organization:
	
>Environment:
	
	
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
>Description:
with the introduction of the conditional

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

to bsd.sys.mk, make in src/tools fails with the error

nbmake: "/home/src/share/mk/bsd.sys.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:
build.sh's building of the host tools was the first to reveal this to me.
>Fix:
	
>Release-Note:
>Audit-Trail:
>Unformatted: