${_EMACS_VERSION_MAJOR} and ${_EMACS_VERSION_MINOR} to determine installed
version of emacs.
Also, set minimum version of _EMACS_REQD to the same as
${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}. Otherwise, buildlink
does not work for emacs lisp libraries.
Should fix PR/42763.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Don't call pkg_info to get the installed Emacs version; always use the
version matching EMACS_TYPE set by users. Be DEPENDS to it. This should
address pkg/37146 by Aleksey Cheusov.
While here convert some emacs lisp packages to user-destdir.
patch files. This makefile should probably be rearranged to work the
same way as the emacs22 nox11 package (or the nox11 packages should be
finally dropped), but not until after Q2 is branched.
(1) Get rid of "nox11" -- the concept of "no" in package options is
expressed by negating an option; use "-x11" instead.
(2) Teach editors/emacs20 to use package options instead of EMACS_USE_POP,
EMACS_USE_X, EMACS_USE_X_TOOLKIT and USE_INET6. We now use similar
options as the other emacs packages, i.e. "x11", "motif", "xaw",
as well as "pop" and "inet6".
(3) Make the emacs*-nox11 packages simply remove all X11 options by
setting PKG_OPTIONS.emacs appropriately and include the corresponding
emacs Makefile. This allows for modifications to the emacs "X11"
versions to be automatically picked up by the "non-X11" versions.
The two corresponding versions of emacs now share the same version
numbering, including PKGREVISIONs.
Bump the PKGREVISIONs on all Emacs editor packages.