>>>> "SY" == Steve Youngs
<youngs(a)xemacs.org> writes:
> This is a sh-ism-in-Makefile syntax bug.
SY> Yes, but it wasn't the fault of the Makefile.
It _was_ the fault of the Makefile. In a GNU Makefile
ifeq(,'')
_fails_. The Makefile attempted to check for empty $(MULE_PACKAGES),
but it did so incorrectly. My change (edited for clarity)
-ifneq ($(MULE_PACKAGES),'')
+ifneq ('$(MULE_PACKAGES)','')
is _necessary_, it's not just feeding my sense of symmetry.
SY> My first thoughts were that maybe a better approach would be
SY> to implement some kind of sanity checking of 'Local.rules'.
SY> In other words, if 'BUILD_WITHOUT_MULE' = '' produce a fatal
SY> error if 'MULE_PACKAGES' is also empty.
It currently is designed to do nothing; it's not clear to me that
that's not useful. See below.
SY> Obviously, the _BEST_ approach would be autoconf.
But autoconf would be capable of inducing that "fatal" error.
Presumably the default for BUILD_WITHOUT_MULE would be generated by
checking for the mule feature in XEmacs, while MULE_PACKAGES would
default to `ls mule` more or less. I can easily imagine a Mule-using
developer who only builds PSGML, say. BOOM!
Sure, you could get autoconf to do more complex checking, but you
could do that in the Makefile, too. And that would probably be
preferable, in case somebody tried to override just one of those
variables on the make command line.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."