| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: modules.mk,v 1.29 2020/10/08 00:15:35 gutteridge Exp $ | | 1 | # $NetBSD: modules.mk,v 1.30 2022/04/07 10:35:28 ryoon Exp $ |
2 | # | | 2 | # |
3 | # This Makefile fragment handles Emacs Lisp Packages (== ELPs). | | 3 | # This Makefile fragment handles Emacs Lisp Packages (== ELPs). |
4 | # | | 4 | # |
5 | # Note to users: | | 5 | # Note to users: |
6 | # | | 6 | # |
7 | # * Users choose one favourite Emacs version. | | 7 | # * Users choose one favourite Emacs version. |
8 | # | | 8 | # |
9 | # * Emacs Lisp files are installed... | | 9 | # * Emacs Lisp files are installed... |
10 | # GNU emacs | | 10 | # GNU emacs |
11 | # -> ${PREFIX}/share/emacs/site-lisp/foo/... | | 11 | # -> ${PREFIX}/share/emacs/site-lisp/foo/... |
12 | # XEmacs | | 12 | # XEmacs |
13 | # ->${PREFIX}/lib/xemacs/site-packages/lisp/foo/... | | 13 | # ->${PREFIX}/lib/xemacs/site-packages/lisp/foo/... |
14 | # | | 14 | # |
| @@ -31,53 +31,56 @@ | | | @@ -31,53 +31,56 @@ |
31 | # installable for GNU Emacs/XEmacs might be possible.) | | 31 | # installable for GNU Emacs/XEmacs might be possible.) |
32 | # | | 32 | # |
33 | # * Assume each ELP supports all Emacs versions by default. If the | | 33 | # * Assume each ELP supports all Emacs versions by default. If the |
34 | # ELP supports only certain Emacs versions, define EMACS_VERSIONS | | 34 | # ELP supports only certain Emacs versions, define EMACS_VERSIONS |
35 | # _ACCEPTED explicitly before including emacs/modules.mk. | | 35 | # _ACCEPTED explicitly before including emacs/modules.mk. |
36 | # | | 36 | # |
37 | # Variables for users: | | 37 | # Variables for users: |
38 | # | | 38 | # |
39 | # EMACS_TYPE | | 39 | # EMACS_TYPE |
40 | # Description: | | 40 | # Description: |
41 | # The user's favourite Emacs version. The default | | 41 | # The user's favourite Emacs version. The default |
42 | # value is set in mk/defaults/mk.conf. | | 42 | # value is set in mk/defaults/mk.conf. |
43 | # Possible values: | | 43 | # Possible values: |
| | | 44 | # emacs28, emacs28nox, |
44 | # emacs27, emacs27nox, emacs26, emacs26nox, | | 45 | # emacs27, emacs27nox, emacs26, emacs26nox, |
45 | # emacs25, emacs25nox, emacs21, emacs21nox, | | 46 | # emacs25, emacs25nox, emacs21, emacs21nox, |
46 | # emacs20, xemacs215, xemacs215nox, | | 47 | # emacs20, xemacs215, xemacs215nox, |
47 | # xemacs214, xemacs214nox | | 48 | # xemacs214, xemacs214nox |
48 | # Default value: | | 49 | # Default value: |
49 | # emacs26 | | 50 | # emacs26 |
50 | # | | 51 | # |
51 | # Variables ELPs can provide: | | 52 | # Variables ELPs can provide: |
52 | # | | 53 | # |
53 | # EMACS_MODULES | | 54 | # EMACS_MODULES |
54 | # Description: | | 55 | # Description: |
55 | # List of Emacs LISP modules that the current ELP | | 56 | # List of Emacs LISP modules that the current ELP |
56 | # needs at run-time. | | 57 | # needs at run-time. |
57 | # Possible values: | | 58 | # Possible values: |
58 | # base, leim | | 59 | # base, leim |
59 | # Default value: | | 60 | # Default value: |
60 | # <undefined> | | 61 | # <undefined> |
61 | # | | 62 | # |
62 | # EMACS_VERSIONS_ACCEPTED | | 63 | # EMACS_VERSIONS_ACCEPTED |
63 | # Description: | | 64 | # Description: |
64 | # Versions the ELP accepts (supports). | | 65 | # Versions the ELP accepts (supports). |
65 | # Possible values: | | 66 | # Possible values: |
| | | 67 | # emacs28, emacs28nox, |
66 | # emacs27, emacs27nox, emacs26, emacs26nox, | | 68 | # emacs27, emacs27nox, emacs26, emacs26nox, |
67 | # emacs25, emacs25nox, emacs21, emacs21nox, | | 69 | # emacs25, emacs25nox, emacs21, emacs21nox, |
68 | # emacs20, xemacs215, xemacs215nox, | | 70 | # emacs20, xemacs215, xemacs215nox, |
69 | # xemacs214, xemacs214nox | | 71 | # xemacs214, xemacs214nox |
70 | # Default value: | | 72 | # Default value: |
| | | 73 | # emacs28, emacs28nox, |
71 | # emacs27, emacs27nox, emacs26, emacs26nox, | | 74 | # emacs27, emacs27nox, emacs26, emacs26nox, |
72 | # emacs25, emacs25nox, emacs21, emacs21nox, | | 75 | # emacs25, emacs25nox, emacs21, emacs21nox, |
73 | # emacs20, xemacs215, xemacs215nox, | | 76 | # emacs20, xemacs215, xemacs215nox, |
74 | # xemacs214, xemacs214nox | | 77 | # xemacs214, xemacs214nox |
75 | # | | 78 | # |
76 | # EMACS_BUILDLINK | | 79 | # EMACS_BUILDLINK |
77 | # Description: | | 80 | # Description: |
78 | # Whether create buildlink directory of *.el / *.elc | | 81 | # Whether create buildlink directory of *.el / *.elc |
79 | # files. ELPs which include other ELP's buildlink3.mk | | 82 | # files. ELPs which include other ELP's buildlink3.mk |
80 | # must define this value. | | 83 | # must define this value. |
81 | # Possible values: | | 84 | # Possible values: |
82 | # <defined>, <undefined> | | 85 | # <defined>, <undefined> |
83 | # Default value: | | 86 | # Default value: |
| @@ -170,30 +173,30 @@ | | | @@ -170,30 +173,30 @@ |
170 | # Description: | | 173 | # Description: |
171 | # Same as the one in Makefile, except that | | 174 | # Same as the one in Makefile, except that |
172 | # ${PREFIX} is omitted in PLIST. | | 175 | # ${PREFIX} is omitted in PLIST. |
173 | # Possible values: | | 176 | # Possible values: |
174 | # share/emacs/site-lisp | | 177 | # share/emacs/site-lisp |
175 | # lib/xemacs/site-packages/lisp | | 178 | # lib/xemacs/site-packages/lisp |
176 | # | | 179 | # |
177 | # EMACS_VERSION | | 180 | # EMACS_VERSION |
178 | # Description: | | 181 | # Description: |
179 | # XXX | | 182 | # XXX |
180 | # Possible values: | | 183 | # Possible values: |
181 | # XXX | | 184 | # XXX |
182 | # | | 185 | # |
183 | # FOR_{emacs27,emacs27nox,emacs26,emacs26nox,emacs25,emacs25nox,emacs21,emacs21nox,emacs20,xemacs215,xemacs215nox,xemacs214,xemacs214nox} | | 186 | # FOR_{emacs28,emacs28nox,emacs27,emacs27nox,emacs26,emacs26nox,emacs25,emacs25nox,emacs21,emacs21nox,emacs20,xemacs215,xemacs215nox,xemacs214,xemacs214nox} |
184 | # FOR_{emacs,xemacs} | | 187 | # FOR_{emacs,xemacs} |
185 | # FOR_{emacs_x,emacs_nox} | | 188 | # FOR_{emacs_x,emacs_nox} |
186 | # NOTFOR_{emacs27,emacs27nox,emacs26,eemacs26nox,macs25,emacs25nox,emacs21,emacs21nox,emacs20,xemacs215,xemacs215nox,xemacs214,xemacs214nox} | | 189 | # NOTFOR_{emacs28,emacs28nox,emacs27,emacs27nox,emacs26,eemacs26nox,macs25,emacs25nox,emacs21,emacs21nox,emacs20,xemacs215,xemacs215nox,xemacs214,xemacs214nox} |
187 | # NOTFOR_{emacs,xemacs} | | 190 | # NOTFOR_{emacs,xemacs} |
188 | # NOTFOR_{emacs_x,emacs_nox} | | 191 | # NOTFOR_{emacs_x,emacs_nox} |
189 | # Description: | | 192 | # Description: |
190 | # These macros will become either an empty string or | | 193 | # These macros will become either an empty string or |
191 | # "@comment" depending on the Emacs version; when | | 194 | # "@comment" depending on the Emacs version; when |
192 | # "emacs21" is used, ${FOR_emacs} and ${FOR_emacs21} | | 195 | # "emacs21" is used, ${FOR_emacs} and ${FOR_emacs21} |
193 | # become "" (empty), and other macros become | | 196 | # become "" (empty), and other macros become |
194 | # "@comment"; this means that only the PLIST lines | | 197 | # "@comment"; this means that only the PLIST lines |
195 | # prefixed by ${FOR_emacs} and ${FOR_emacs21} are | | 198 | # prefixed by ${FOR_emacs} and ${FOR_emacs21} are |
196 | # valid. | | 199 | # valid. |
197 | # | | 200 | # |
198 | # NOTFOR_* is the opposite of FOR_*. | | 201 | # NOTFOR_* is the opposite of FOR_*. |
199 | # Possible values: | | 202 | # Possible values: |
| @@ -222,38 +225,41 @@ _LISTED_VARS.emacs= *VERSIONS* | | | @@ -222,38 +225,41 @@ _LISTED_VARS.emacs= *VERSIONS* |
222 | | | 225 | |
223 | BUILD_DEFS+= ${_USER_VARS.emacs} | | 226 | BUILD_DEFS+= ${_USER_VARS.emacs} |
224 | BUILD_DEFS_EFFECTS+= ${_SYS_VARS.emacs} | | 227 | BUILD_DEFS_EFFECTS+= ${_SYS_VARS.emacs} |
225 | | | 228 | |
226 | .include "../../mk/bsd.prefs.mk" | | 229 | .include "../../mk/bsd.prefs.mk" |
227 | | | 230 | |
228 | # | | 231 | # |
229 | # Constants | | 232 | # Constants |
230 | # | | 233 | # |
231 | | | 234 | |
232 | _EMACS_VERSIONS_ALL= \ | | 235 | _EMACS_VERSIONS_ALL= \ |
233 | emacs20 emacs21 emacs21nox emacs25 emacs25nox emacs26 emacs26nox \ | | 236 | emacs20 emacs21 emacs21nox emacs25 emacs25nox emacs26 emacs26nox \ |
234 | emacs27 emacs27nox \ | | 237 | emacs27 emacs27nox \ |
| | | 238 | emacs28 emacs28nox \ |
235 | xemacs214 xemacs214nox xemacs215 xemacs215nox | | 239 | xemacs214 xemacs214nox xemacs215 xemacs215nox |
236 | | | 240 | |
237 | _EMACS_PKGDIR_MAP= \ | | 241 | _EMACS_PKGDIR_MAP= \ |
238 | emacs20@../../editors/emacs20 \ | | 242 | emacs20@../../editors/emacs20 \ |
239 | emacs21@../../editors/emacs21 \ | | 243 | emacs21@../../editors/emacs21 \ |
240 | emacs21nox@../../editors/emacs21-nox11 \ | | 244 | emacs21nox@../../editors/emacs21-nox11 \ |
241 | emacs25@../../editors/emacs25 \ | | 245 | emacs25@../../editors/emacs25 \ |
242 | emacs25nox@../../editors/emacs25-nox11 \ | | 246 | emacs25nox@../../editors/emacs25-nox11 \ |
243 | emacs26@../../editors/emacs26 \ | | 247 | emacs26@../../editors/emacs26 \ |
244 | emacs26nox@../../editors/emacs26-nox11 \ | | 248 | emacs26nox@../../editors/emacs26-nox11 \ |
245 | emacs27@../../editors/emacs27 \ | | 249 | emacs27@../../editors/emacs27 \ |
246 | emacs27nox@../../editors/emacs27-nox11 \ | | 250 | emacs27nox@../../editors/emacs27-nox11 \ |
| | | 251 | emacs28@../../editors/emacs28 \ |
| | | 252 | emacs28nox@../../editors/emacs28-nox11 \ |
247 | xemacs214@../../editors/xemacs \ | | 253 | xemacs214@../../editors/xemacs \ |
248 | xemacs214nox@../../editors/xemacs-nox11 \ | | 254 | xemacs214nox@../../editors/xemacs-nox11 \ |
249 | xemacs215@../../editors/xemacs-current \ | | 255 | xemacs215@../../editors/xemacs-current \ |
250 | xemacs215nox@../../editors/xemacs-current-nox11 | | 256 | xemacs215nox@../../editors/xemacs-current-nox11 |
251 | | | 257 | |
252 | _EMACS_ETCDIR.emacs= share | | 258 | _EMACS_ETCDIR.emacs= share |
253 | _EMACS_INFODIR.emacs= ${PKGINFODIR} | | 259 | _EMACS_INFODIR.emacs= ${PKGINFODIR} |
254 | _EMACS_LISPDIR.emacs= share/emacs/site-lisp | | 260 | _EMACS_LISPDIR.emacs= share/emacs/site-lisp |
255 | _EMACS_PKGNAME_PREFIX.emacs= | | 261 | _EMACS_PKGNAME_PREFIX.emacs= |
256 | _EMACS_CONFLICTS.emacs= xemacs-${PKGBASE}-[0-9]* | | 262 | _EMACS_CONFLICTS.emacs= xemacs-${PKGBASE}-[0-9]* |
257 | | | 263 | |
258 | _EMACS_ETCDIR.xemacs= lib/xemacs/site-packages/etc | | 264 | _EMACS_ETCDIR.xemacs= lib/xemacs/site-packages/etc |
259 | _EMACS_INFODIR.xemacs= lib/xemacs/site-packages/info | | 265 | _EMACS_INFODIR.xemacs= lib/xemacs/site-packages/info |
| @@ -345,22 +351,18 @@ _EMACS_PLIST_SUBST+= FOR_emacs_no_byte_c | | | @@ -345,22 +351,18 @@ _EMACS_PLIST_SUBST+= FOR_emacs_no_byte_c |
345 | PLIST_SUBST+= ${_EMACS_PLIST_SUBST} | | 351 | PLIST_SUBST+= ${_EMACS_PLIST_SUBST} |
346 | | | 352 | |
347 | PRINT_PLIST_AWK+= { gsub(/${EMACS_LISPPREFIX:S|${PREFIX}/||:S|/|\\/|g}/, \ | | 353 | PRINT_PLIST_AWK+= { gsub(/${EMACS_LISPPREFIX:S|${PREFIX}/||:S|/|\\/|g}/, \ |
348 | "$${EMACS_LISPPREFIX}"); \ | | 354 | "$${EMACS_LISPPREFIX}"); \ |
349 | print; next; } | | 355 | print; next; } |
350 | | | 356 | |
351 | # | | 357 | # |
352 | # Build environment (buildlink3) | | 358 | # Build environment (buildlink3) |
353 | # | | 359 | # |
354 | | | 360 | |
355 | .if defined(EMACS_BUILDLINK) | | 361 | .if defined(EMACS_BUILDLINK) |
356 | _EMACS_DIR= ${BUILDLINK_DIR}/share/emacs | | 362 | _EMACS_DIR= ${BUILDLINK_DIR}/share/emacs |
357 | # A development version usually claims three digits, say, 27.0.50 etc. | | 363 | # A development version usually claims three digits, say, 27.0.50 etc. |
358 | . if ${EMACS_TYPE} == emacs28 | | | |
359 | ALL_ENV+= EMACSLOADPATH=${_EMACS_DIR}/${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}.${_EMACS_VERSION_MICRO}/lisp:${_EMACS_DIR}/site-lisp | | | |
360 | . else | | | |
361 | ALL_ENV+= EMACSLOADPATH=${_EMACS_DIR}/${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}/lisp:${_EMACS_DIR}/site-lisp | | 364 | ALL_ENV+= EMACSLOADPATH=${_EMACS_DIR}/${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}/lisp:${_EMACS_DIR}/site-lisp |
362 | . endif | | | |
363 | .include "${_EMACS_PKGDIR}/buildlink3.mk" | | 365 | .include "${_EMACS_PKGDIR}/buildlink3.mk" |
364 | .endif | | 366 | .endif |
365 | | | 367 | |
366 | .endif # EMACS_MK | | 368 | .endif # EMACS_MK |