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.