aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2015-05-16 17:52:27 -0700
committerGlenn Morris2015-05-16 17:52:27 -0700
commit46ea93792da1db916305d50272c6465a6dde7c25 (patch)
tree8c242b303c11d05c2693f381b1c2a9ed44650667 /src
parent576fba5f58dd61163cf92a0c3f93859e047ecefd (diff)
downloademacs-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.in38
-rw-r--r--src/lisp.mk168
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) \
418FIRSTFILE_OBJ=@FIRSTFILE_OBJ@ 418FIRSTFILE_OBJ=@FIRSTFILE_OBJ@
419ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj) 419ALLOBJS = $(FIRSTFILE_OBJ) $(VMLIMIT_OBJ) $(obj) $(otherobj)
420 420
421include $(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.
436shortlisp =
437lisp.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
445shortlisp_filter = leim/leim-list.el site-load.elc site-init.elc
446shortlisp := $(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.
450shortlisp := loaddefs.el loadup.el $(sort ${shortlisp})
423lisp = $(addprefix ${lispsource}/,${shortlisp}) 451lisp = $(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.
456emacs$(EXEEXT): temacs$(EXEEXT) \ 484emacs$(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
459ifeq ($(CANNOT_DUMP),yes) 487ifeq ($(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
583distclean: bootstrap-clean 611distclean: bootstrap-clean
584 rm -f Makefile 612 rm -f Makefile lisp.mk
585 613
586maintainer-clean: distclean 614maintainer-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
46shortlisp = \
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