Subject: Re: Malformed conditional (!empty(MANINSTALL:Mcatinstall))
To: Simon J. Gerraty <sjg@crufty.net>
From: Todd Vierling <tv@pobox.com>
List: tech-pkg
Date: 08/21/2003 15:03:39
On Thu, 21 Aug 2003, Simon J. Gerraty wrote:
: Note that if MANINSTALL is defined, its ok (same with -current make etc).
: That said, empty() shouldn't vomit if a variable is undefined - it should
: count as "empty".
Really? When dealing with .if conditionals, given how many test for simple
definition instead of content, an undefined make variable is very different
from a defined but empty one. I'll concede that it probably won't harm much
if empty() is true for undefined variables, but this problem also hits
comparison tests like '.if ${FOO} != "bar"'.
In NetBSD, this is normally handled by a construct that tests for
definition first, e.g. '.if defined(FOO) && !empty(FOO:...)'.
--
-- Todd Vierling <tv@pobox.com>