diff options
| author | Glenn Morris | 2015-05-16 17:52:27 -0700 |
|---|---|---|
| committer | Glenn Morris | 2015-05-16 17:52:27 -0700 |
| commit | 46ea93792da1db916305d50272c6465a6dde7c25 (patch) | |
| tree | 8c242b303c11d05c2693f381b1c2a9ed44650667 /src | |
| parent | 576fba5f58dd61163cf92a0c3f93859e047ecefd (diff) | |
| download | emacs-46ea93792da1db916305d50272c6465a6dde7c25.tar.gz emacs-46ea93792da1db916305d50272c6465a6dde7c25.zip | |
* src/lisp.mk: Remove from repository and generate at build-time.
* src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
(shortlisp_filter): New variable.
(emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
(distclean): Remove lisp.mk.
* Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
* lisp/loadup.el: Tweak layout to make it easier to parse.
* make-dist: Do not distribute src/lisp.mk.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile.in | 38 | ||||
| -rw-r--r-- | src/lisp.mk | 168 |
2 files changed, 33 insertions, 173 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index f6fa03a8dfd..57417fcb3fa 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -418,8 +418,36 @@ otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \ | |||
| 418 | FIRSTFILE_OBJ=@FIRSTFILE_OBJ@ | 418 | FIRSTFILE_OBJ=@FIRSTFILE_OBJ@ |
| 419 | ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj) | 419 | ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj) |
| 420 | 420 | ||
| 421 | include $(srcdir)/lisp.mk | 421 | ## This is the list of all Lisp files that might be loaded into the |
| 422 | 422 | ## dumped Emacs. Some of them are not loaded on all platforms, but | |
| 423 | ## the DOC file on every platform uses them (because the DOC file is | ||
| 424 | ## supposed to be platform-independent). | ||
| 425 | ## Note that this list should not include lisp files which might not | ||
| 426 | ## be present, like site-load.el and site-init.el; this makefile | ||
| 427 | ## expects them all to be either present or buildable. | ||
| 428 | ## | ||
| 429 | ## To generate this list from loadup.el, we can either: | ||
| 430 | ## 1) Extract everything matching (load "..."), in which case | ||
| 431 | ## we need to add charprop.el by hand; or | ||
| 432 | ## 2) Extract everything matching (load "...", in which case | ||
| 433 | ## we need to remove leim-list, site-init, and site-load by hand. | ||
| 434 | ## There's not much to choose between these two approaches, | ||
| 435 | ## but the second one seems like it could be more future-proof. | ||
| 436 | shortlisp = | ||
| 437 | lisp.mk: $(lispsource)/loadup.el | ||
| 438 | @rm -f $@ | ||
| 439 | ${AM_V_GEN}( echo "shortlisp = \\"; \ | ||
| 440 | sed -n 's/^[ \t]*(load "\([^"]*\)".*/\1/p' $< | \ | ||
| 441 | sed -e 's/$$/.elc \\/' -e 's/\.el\.elc/.el/'; \ | ||
| 442 | echo "" ) > $@ | ||
| 443 | |||
| 444 | -include lisp.mk | ||
| 445 | shortlisp_filter = leim/leim-list.el site-load.elc site-init.elc | ||
| 446 | shortlisp := $(filter-out ${shortlisp_filter},${shortlisp}) | ||
| 447 | ## Place loaddefs.el first, so it gets generated first, since it is on | ||
| 448 | ## the critical path (relevant in parallel compilations). | ||
| 449 | ## We don't really need to sort, but may as well use it to remove duplicates. | ||
| 450 | shortlisp := loaddefs.el loadup.el $(sort ${shortlisp}) | ||
| 423 | lisp = $(addprefix ${lispsource}/,${shortlisp}) | 451 | lisp = $(addprefix ${lispsource}/,${shortlisp}) |
| 424 | 452 | ||
| 425 | ## Construct full set of libraries to be linked. | 453 | ## Construct full set of libraries to be linked. |
| @@ -454,7 +482,7 @@ $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \ | |||
| 454 | ## since not all pieces are used on all platforms. But DOC depends | 482 | ## since not all pieces are used on all platforms. But DOC depends |
| 455 | ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here. | 483 | ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here. |
| 456 | emacs$(EXEEXT): temacs$(EXEEXT) \ | 484 | emacs$(EXEEXT): temacs$(EXEEXT) \ |
| 457 | $(etc)/DOC $(lisp) $(leimdir)/leim-list.el \ | 485 | lisp.mk $(etc)/DOC $(lisp) $(leimdir)/leim-list.el \ |
| 458 | $(lispsource)/international/charprop.el | 486 | $(lispsource)/international/charprop.el |
| 459 | ifeq ($(CANNOT_DUMP),yes) | 487 | ifeq ($(CANNOT_DUMP),yes) |
| 460 | ln -f temacs$(EXEEXT) $@ | 488 | ln -f temacs$(EXEEXT) $@ |
| @@ -475,7 +503,7 @@ endif | |||
| 475 | ## for the first time, this prevents any variation between configurations | 503 | ## for the first time, this prevents any variation between configurations |
| 476 | ## in the contents of the DOC file. | 504 | ## in the contents of the DOC file. |
| 477 | ## | 505 | ## |
| 478 | $(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp) | 506 | $(etc)/DOC: lisp.mk $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp) |
| 479 | $(AM_V_GEN)$(MKDIR_P) $(etc) | 507 | $(AM_V_GEN)$(MKDIR_P) $(etc) |
| 480 | -$(AM_V_at)rm -f $(etc)/DOC | 508 | -$(AM_V_at)rm -f $(etc)/DOC |
| 481 | $(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \ | 509 | $(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \ |
| @@ -581,7 +609,7 @@ bootstrap-clean: clean | |||
| 581 | fi | 609 | fi |
| 582 | 610 | ||
| 583 | distclean: bootstrap-clean | 611 | distclean: bootstrap-clean |
| 584 | rm -f Makefile | 612 | rm -f Makefile lisp.mk |
| 585 | 613 | ||
| 586 | maintainer-clean: distclean | 614 | maintainer-clean: distclean |
| 587 | rm -f TAGS | 615 | rm -f TAGS |
diff --git a/src/lisp.mk b/src/lisp.mk deleted file mode 100644 index 32882d1ed3d..00000000000 --- a/src/lisp.mk +++ /dev/null | |||
| @@ -1,168 +0,0 @@ | |||
| 1 | ### lisp.mk --- src/Makefile fragment for GNU Emacs | ||
| 2 | |||
| 3 | ## Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2015 Free Software | ||
| 4 | ## Foundation, Inc. | ||
| 5 | |||
| 6 | ## This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | ## GNU Emacs is free software: you can redistribute it and/or modify | ||
| 9 | ## it under the terms of the GNU General Public License as published by | ||
| 10 | ## the Free Software Foundation, either version 3 of the License, or | ||
| 11 | ## (at your option) any later version. | ||
| 12 | |||
| 13 | ## GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | ## GNU General Public License for more details. | ||
| 17 | |||
| 18 | ## You should have received a copy of the GNU General Public License | ||
| 19 | ## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 20 | |||
| 21 | ### Commentary: | ||
| 22 | |||
| 23 | ## This is the list of all Lisp files that might be loaded into the | ||
| 24 | ## dumped Emacs. Some of them are not loaded on all platforms, but | ||
| 25 | ## the DOC file on every platform uses them (because the DOC file is | ||
| 26 | ## supposed to be platform-independent). | ||
| 27 | ## It is arranged like this because it is easier to generate it | ||
| 28 | ## semi-mechanically from loadup.el this way. | ||
| 29 | ## Eg something like: | ||
| 30 | ## sed -e 's/"[ )].*//' -n -e '/(load "/ s/.*load "//p' loadup.el | \ | ||
| 31 | ## grep -vE 'site-|ldefs-boot' | ||
| 32 | ## minus any duplicates. | ||
| 33 | ## Note that you can generally just add a ".elc" extension to every file | ||
| 34 | ## that does not have an explicit .el extension, but beware of any | ||
| 35 | ## no-byte-compile ones. | ||
| 36 | |||
| 37 | ## Note that this list should not include lisp files which might not | ||
| 38 | ## be present, like site-load.el and site-init.el; this makefile | ||
| 39 | ## expects them all to be either present or buildable. | ||
| 40 | |||
| 41 | ## Place loaddefs.el first, so it gets generated first, since it is on | ||
| 42 | ## the critical path (relevant in parallel compilations). | ||
| 43 | |||
| 44 | ### Code: | ||
| 45 | |||
| 46 | shortlisp = \ | ||
| 47 | loaddefs.el \ | ||
| 48 | loadup.el \ | ||
| 49 | emacs-lisp/byte-run.elc \ | ||
| 50 | emacs-lisp/backquote.elc \ | ||
| 51 | subr.elc \ | ||
| 52 | version.elc \ | ||
| 53 | widget.elc \ | ||
| 54 | custom.elc \ | ||
| 55 | emacs-lisp/map-ynp.elc \ | ||
| 56 | cus-start.elc \ | ||
| 57 | international/mule.elc \ | ||
| 58 | international/mule-conf.elc \ | ||
| 59 | env.elc \ | ||
| 60 | format.elc \ | ||
| 61 | bindings.elc \ | ||
| 62 | files.elc \ | ||
| 63 | emacs-lisp/macroexp.elc \ | ||
| 64 | cus-face.elc \ | ||
| 65 | faces.elc \ | ||
| 66 | button.elc \ | ||
| 67 | startup.elc \ | ||
| 68 | emacs-lisp/cl-preloaded.elc \ | ||
| 69 | emacs-lisp/nadvice.elc \ | ||
| 70 | minibuffer.elc \ | ||
| 71 | abbrev.elc \ | ||
| 72 | simple.elc \ | ||
| 73 | help.elc \ | ||
| 74 | jka-cmpr-hook.elc \ | ||
| 75 | epa-hook.elc \ | ||
| 76 | international/mule-cmds.elc \ | ||
| 77 | case-table.elc \ | ||
| 78 | international/characters.elc \ | ||
| 79 | composite.elc \ | ||
| 80 | international/charprop.el \ | ||
| 81 | language/chinese.elc \ | ||
| 82 | language/cyrillic.elc \ | ||
| 83 | language/indian.elc \ | ||
| 84 | language/sinhala.elc \ | ||
| 85 | language/english.elc \ | ||
| 86 | language/ethiopic.elc \ | ||
| 87 | language/european.elc \ | ||
| 88 | language/czech.elc \ | ||
| 89 | language/slovak.elc \ | ||
| 90 | language/romanian.elc \ | ||
| 91 | language/greek.elc \ | ||
| 92 | language/hebrew.elc \ | ||
| 93 | international/cp51932.el \ | ||
| 94 | international/eucjp-ms.el \ | ||
| 95 | language/japanese.elc \ | ||
| 96 | language/korean.elc \ | ||
| 97 | language/lao.elc \ | ||
| 98 | language/tai-viet.elc \ | ||
| 99 | language/thai.elc \ | ||
| 100 | language/tibetan.elc \ | ||
| 101 | language/vietnamese.elc \ | ||
| 102 | language/misc-lang.elc \ | ||
| 103 | language/utf-8-lang.elc \ | ||
| 104 | language/georgian.elc \ | ||
| 105 | language/khmer.elc \ | ||
| 106 | language/burmese.elc \ | ||
| 107 | language/cham.elc \ | ||
| 108 | indent.elc \ | ||
| 109 | window.elc \ | ||
| 110 | emacs-lisp/cl-generic.elc \ | ||
| 111 | frame.elc \ | ||
| 112 | term/tty-colors.elc \ | ||
| 113 | font-core.elc \ | ||
| 114 | facemenu.elc \ | ||
| 115 | emacs-lisp/syntax.elc \ | ||
| 116 | font-lock.elc \ | ||
| 117 | jit-lock.elc \ | ||
| 118 | mouse.elc \ | ||
| 119 | scroll-bar.elc \ | ||
| 120 | select.elc \ | ||
| 121 | emacs-lisp/timer.elc \ | ||
| 122 | isearch.elc \ | ||
| 123 | rfn-eshadow.elc \ | ||
| 124 | menu-bar.elc \ | ||
| 125 | emacs-lisp/lisp.elc \ | ||
| 126 | textmodes/page.elc \ | ||
| 127 | register.elc \ | ||
| 128 | textmodes/paragraphs.elc \ | ||
| 129 | progmodes/prog-mode.elc \ | ||
| 130 | emacs-lisp/lisp-mode.elc \ | ||
| 131 | progmodes/elisp-mode.elc \ | ||
| 132 | textmodes/text-mode.elc \ | ||
| 133 | textmodes/fill.elc \ | ||
| 134 | newcomment.elc \ | ||
| 135 | replace.elc \ | ||
| 136 | emacs-lisp/tabulated-list.elc \ | ||
| 137 | buff-menu.elc \ | ||
| 138 | fringe.elc \ | ||
| 139 | emacs-lisp/regexp-opt.elc \ | ||
| 140 | image.elc \ | ||
| 141 | international/fontset.elc \ | ||
| 142 | dnd.elc \ | ||
| 143 | tool-bar.elc \ | ||
| 144 | dynamic-setting.elc \ | ||
| 145 | x-dnd.elc \ | ||
| 146 | term/common-win.elc \ | ||
| 147 | term/x-win.elc \ | ||
| 148 | w32-vars.elc \ | ||
| 149 | term/w32-win.elc \ | ||
| 150 | ls-lisp.elc \ | ||
| 151 | disp-table.elc \ | ||
| 152 | dos-w32.elc \ | ||
| 153 | w32-fns.elc \ | ||
| 154 | dos-fns.elc \ | ||
| 155 | dos-vars.elc \ | ||
| 156 | term/pc-win.elc \ | ||
| 157 | term/internal.elc \ | ||
| 158 | term/ns-win.elc \ | ||
| 159 | mwheel.elc \ | ||
| 160 | emacs-lisp/float-sup.elc \ | ||
| 161 | vc/vc-hooks.elc \ | ||
| 162 | vc/ediff-hook.elc \ | ||
| 163 | electric.elc \ | ||
| 164 | emacs-lisp/eldoc.elc \ | ||
| 165 | uniquify.elc \ | ||
| 166 | tooltip.elc | ||
| 167 | |||
| 168 | ### lisp.mk ends here | ||