Subject: Re: Issue with emacs.mk for the first package to use it...
To: None <tech-pkg@netbsd.org>
From: None <david.sainty@dtsp.co.nz>
List: tech-pkg
Date: 08/12/2007 15:49:19
Joerg Sonnenberger writes:
> On Wed, Aug 08, 2007 at 09:52:43AM -0400, Greg Troxel wrote:
> > But, the whole notion of EMACS_VERSION_MAJOR is itself broken. Is 21
> > emacs or xemacs? Is it really reasonable to want 'version 4 or higher
> > of IE or netscape', ignoring that they are separately maintained?
> >
> > So perhaps instead doxymacs should switch on EMACS_TYPE, adding w3 if
> > the type is in an allowed list.
>
> Exactly my thought.
That's not actually a direct solution. EMACS_TYPE isn't set by
emacs.mk, it's a "user variable". The internal variant _EMACS_TYPE
could be used, but I doubt that's what you were thinking of :)
The correct way to compare both version and variant is via
EMACS_FLAVOR + EMACS_VERSION_*.
Even if EMACS_TYPE was to be used, the Emacs Lisp Package would have
to know about things like "emacs21" and "emacs21nox" both being Emacs
major version 21.
A quick search of packages for EMACS_TYPE finds only www/emacs-w3m.
.if ${EMACS_TYPE} == "emacs21" || ${EMACS_TYPE} == "emacs22"
BUILD_DEPENDS+= ${EMACS_PKGNAME_PREFIX}Mule-UCS>=0.84:../../editors/mule-ucs
.endif
So this one doesn't know about the "nox" flag and will presumably
misbehave if EMACS_TYPE is set to "emacs21nox".
I Guess you can Assume that EMACS_TYPE is set, since
mk/defaults/mk.conf defaults it. But I think what emacs.mk is trying
to do is cleaner, it just doesn't currently work.