From: Glenn Morris Date: Thu, 19 May 2011 06:04:16 +0000 (-0700) Subject: Remove the SOME_MACHINE_LISP distinction in src/Makefile.in. X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~237^2~11 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4a720484822c3a766dd1775dd659e1a969605457;p=emacs.git Remove the SOME_MACHINE_LISP distinction in src/Makefile.in. See discussion in http://debbugs.gnu.org/8302 * configure.in (NS_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) (WINDOW_SUPPORT): Remove output variables that are no longer used. * lib-src/makefile.w32-in (echolisp): Remove rule that is no longer needed. (clean): No more echolisp.tmp. * .bzrignore: Remove lib-src/echolisp.tmp. * lisp/emacs-lisp/autoload.el (batch-update-autoloads): Set autoload-excludes by parsing lisp/loadup.el rather than Makefiles. * lisp/loadup.el: Update commentary. * msdos/sed1x.inp (TOOLTIP_SUPPORT, WINDOW_SUPPORT): * msdos/sed1v2.inp (MSDOS_SUPPORT, NS_SUPPORT, MOUSE_SUPPORT) (TOOLTIP_SUPPORT, WINDOW_SUPPORT): No need to edit these any more. * src/Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT) (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove. (lisp): Set the order to that of loadup.el. (shortlisp): Make it a copy of $lisp. (SOME_MACHINE_LISP): Remove. ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too. Use just $shortlisp, not $SOME_MACHINE_LISP too. --- diff --git a/ChangeLog b/ChangeLog index fb223292cfc..11cb707e1a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-05-19 Glenn Morris + + * configure.in (NS_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) + (WINDOW_SUPPORT): Remove output variables that are no longer used. + 2011-05-17 Paul Eggert * lib/gnulib.mk: diff --git a/configure.in b/configure.in index 5d2992539f0..2255b9110d4 100644 --- a/configure.in +++ b/configure.in @@ -1503,7 +1503,6 @@ AC_SUBST(TEMACS_LDFLAGS2) ns_frag=/dev/null NS_OBJ= NS_OBJC_OBJ= -NS_SUPPORT= if test "${HAVE_NS}" = yes; then window_system=nextstep with_xft=no @@ -1516,13 +1515,11 @@ if test "${HAVE_NS}" = yes; then ns_frag=$srcdir/src/ns.mk NS_OBJ="fontset.o fringe.o image.o" NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o" - NS_SUPPORT="\${lispsource}/emacs-lisp/easymenu.elc \${lispsource}/term/ns-win.elc" fi CFLAGS="$tmp_CFLAGS" CPPFLAGS="$tmp_CPPFLAGS" AC_SUBST(NS_OBJ) AC_SUBST(NS_OBJC_OBJ) -AC_SUBST(NS_SUPPORT) AC_SUBST(LIB_STANDARD) AC_SUBST_FILE(ns_frag) @@ -2476,7 +2473,6 @@ fi ### Use -lgpm if available, unless `--with-gpm=no'. HAVE_GPM=no LIBGPM= -MOUSE_SUPPORT= if test "${with_gpm}" != "no"; then AC_CHECK_HEADER(gpm.h, [AC_CHECK_LIB(gpm, Gpm_Open, HAVE_GPM=yes)]) @@ -2484,8 +2480,6 @@ if test "${with_gpm}" != "no"; then if test "${HAVE_GPM}" = "yes"; then AC_DEFINE(HAVE_GPM, 1, [Define to 1 if you have the gpm library (-lgpm).]) LIBGPM=-lgpm - ## May be reset below. - MOUSE_SUPPORT="\$(GPM_MOUSE_SUPPORT)" fi fi AC_SUBST(LIBGPM) @@ -3421,23 +3415,11 @@ fi dnl if $GCC AC_SUBST(LIB_GCC) -TOOLTIP_SUPPORT= -WINDOW_SUPPORT= ## If we're using X11/GNUstep, define some consequences. if test "$HAVE_X_WINDOWS" = "yes" || test "$HAVE_NS" = "yes"; then AC_DEFINE(HAVE_WINDOW_SYSTEM, 1, [Define if you have a window system.]) AC_DEFINE(HAVE_MOUSE, 1, [Define if you have mouse support.]) - MOUSE_SUPPORT="\$(REAL_MOUSE_SUPPORT)" - TOOLTIP_SUPPORT="\${lispsource}/mouse.elc" - - WINDOW_SUPPORT="\$(BASE_WINDOW_SUPPORT)" - test "$HAVE_X_WINDOWS" = "yes" && \ - WINDOW_SUPPORT="$WINDOW_SUPPORT \$(X_WINDOW_SUPPORT)" - fi -AC_SUBST(MOUSE_SUPPORT) -AC_SUBST(TOOLTIP_SUPPORT) -AC_SUBST(WINDOW_SUPPORT) AH_TOP([/* GNU Emacs site configuration template file. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 27dc3a14d48..33778c1f0ae 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2011-05-19 Glenn Morris + + * makefile.w32-in (echolisp): Remove rule that is no longer needed. + (clean): No more echolisp.tmp. + 2011-05-18 Glenn Morris * fakemail.c: Remove file. diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 0e203d18bd2..07f6170afe4 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in @@ -269,11 +269,6 @@ lisp2 = \ $(lispsource)window.elc \ $(lispsource)version.el -# Used by batch-update-autoloads. -echolisp: - @echo $(lisp1) - @echo $(lisp2) - # This is needed the first time we build the tree, since temacs.exe # does not exist yet, and the DOC rule needs it to rebuild DOC whenever # Emacs is rebuilt. @@ -330,7 +325,6 @@ clean: - $(DEL) ctags.c - $(DEL_TREE) $(OBJDIR) - $(DEL) stamp_BLD - - $(DEL) echolisp.tmp distclean: cleanall - $(DEL) TAGS diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 15bd4b190b2..0548bf9ea28 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-05-19 Glenn Morris + + * emacs-lisp/autoload.el (batch-update-autoloads): + Set autoload-excludes by parsing loadup.el rather than Makefiles. + 2011-05-18 Michael Albinus * net/tramp.el (tramp-process-actions): Set "first-password-request" diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index f8f8d9b00f2..6d5067151d3 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -769,52 +769,21 @@ Calls `update-directory-autoloads' on the command line arguments. Definitions are written to `generated-autoload-file' (which should be non-nil)." ;; For use during the Emacs build process only. + ;; Exclude those files that are preloaded on ALL platforms. + ;; These are the ones in loadup.el where "(load" is at the start + ;; of the line (crude, but it works). (unless autoload-excludes - (let* ((ldir (file-name-directory generated-autoload-file)) - (default-directory - (file-name-as-directory - (expand-file-name (if (eq system-type 'windows-nt) - "../lib-src" - "../src") ldir))) - (mfile "Makefile") - (tmpfile "echolisp.tmp") - lim) - ;; Windows uses the 'echolisp' approach because: - ;; i) It does not have $lisp as a single simple definition, so - ;; it would be harder to parse the Makefile. - ;; ii) It can, since it already has $lisp broken up into pieces - ;; that the command-line can handle. - ;; Non-Windows builds do not use the 'echolisp' approach because - ;; no-one knows (?) the maximum safe command-line length on all - ;; supported systems. $lisp is much longer there since it uses - ;; absolute paths, and it would seem a shame to split it just for this. - (when (file-readable-p mfile) - (if (eq system-type 'windows-nt) - (when (ignore-errors - (if (file-exists-p tmpfile) (delete-file tmpfile)) - ;; FIXME call-process is better, if it works. - (shell-command (format "%s echolisp > %s" - autoload-make-program tmpfile)) - (file-readable-p tmpfile)) - (with-temp-buffer - (insert-file-contents tmpfile) - ;; FIXME could be a single while loop. - (while (not (eobp)) - (setq lim (line-end-position)) - (while (re-search-forward "\\([^ ]+\\.el\\)c?\\>" lim t) - (push (expand-file-name (match-string 1)) - autoload-excludes)) - (forward-line 1)))) - (with-temp-buffer - (insert-file-contents mfile) - (when (re-search-forward "^shortlisp= " nil t) - (while (and (not lim) - (re-search-forward "\\.\\./lisp/\\([^ ]+\\.el\\)c?\\>" - nil t)) - (push (expand-file-name (match-string 1) ldir) - autoload-excludes) - (skip-chars-forward " \t") - (if (eolp) (setq lim t))))))))) + (let ((default-directory (file-name-directory generated-autoload-file)) + file) + (when (file-readable-p "loadup.el") + (with-temp-buffer + (insert-file-contents "loadup.el") + (while (re-search-forward "^(load \"\\([^\"]+\\)\"" nil t) + (setq file (match-string 1)) + (or (string-match "\\.el\\'" file) + (setq file (format "%s.el" file))) + (or (string-match "\\`site-" file) + (push (expand-file-name file) autoload-excludes))))))) (let ((args command-line-args-left)) (setq command-line-args-left nil) (apply 'update-directory-autoloads args))) diff --git a/lisp/loadup.el b/lisp/loadup.el index d348456ae32..d0dc92a1815 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -29,21 +29,16 @@ ;; If you add/remove Lisp files to be loaded here, consider the ;; following issues: -;; i) Any file loaded on all platforms should appear in $lisp -;; and $shortlisp in src/Makefile.in. Use the .el or .elc version as +;; i) Any file loaded on any platform should appear in $lisp and +;; $shortlisp in src/Makefile.in. Use the .el or .elc version as ;; appropriate. -;; ii) Any file that is only loaded on some platforms should appear -;; in the version of $lisp in the generated Makefile on that platform. -;; At the present time, this is achieved by use of #ifdefs. -;; It should also appear in $SOME_MACHINE_LISP on all platforms. +;; This ensures both that the Lisp files are compiled (if necessary) +;; before the emacs executable is dumped, and that they are passed to +;; make-docfile. (Any that are not processed for DOC will not have +;; doc strings in the dumped Emacs.) Because of this: -;; The above steps ensure both that the Lisp files are compiled (if -;; necessary) before the emacs executable is dumped, and that they are -;; passed to make-docfile. (Any that are not processed for DOC will -;; not have doc strings in the dumped Emacs.) Because of this: - -;; iii) If the file is loaded uncompiled, it should (where possible) +;; ii) If the file is loaded uncompiled, it should (where possible) ;; obey the doc-string conventions expected by make-docfile. ;;; Code: diff --git a/msdos/ChangeLog b/msdos/ChangeLog index 12fd7675d67..6c07c76d1bf 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog @@ -1,3 +1,9 @@ +2011-05-19 Glenn Morris + + * sed1x.inp (TOOLTIP_SUPPORT, WINDOW_SUPPORT): + * sed1v2.inp (MSDOS_SUPPORT, NS_SUPPORT, MOUSE_SUPPORT) + (TOOLTIP_SUPPORT, WINDOW_SUPPORT): No need to edit these any more. + 2011-05-07 Eli Zaretskii * inttypes.h: Include stdint.h. diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp index 44ee53a5c34..34c4588f96a 100644 --- a/msdos/sed1v2.inp +++ b/msdos/sed1v2.inp @@ -94,13 +94,11 @@ s/\.h\.in/.h-in/ /^WIDGET_OBJ *=/s/@WIDGET_OBJ@// /^CYGWIN_OBJ *=/s/@CYGWIN_OBJ@// /^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o w16select.o/ -/^MSDOS_SUPPORT *=/s/= */= $(MSDOS_SUPPORT_REAL)/ /^ns_appdir *=/s/@ns_appdir@// /^ns_appbindir *=/s/@ns_appbindir@// /^ns_appsrc *=/s/@ns_appsrc@// /^NS_OBJ *=/s/@NS_OBJ@// /^NS_OBJC_OBJ *=/s/@NS_OBJC_OBJ@// -/^NS_SUPPORT *=/s/@NS_SUPPORT@// /^GNU_OBJC_CFLAGS*=/s/@GNU_OBJC_CFLAGS@// /^LIBRESOLV *=/s/@LIBRESOLV@// /^LIBSELINUX_LIBS *=/s/@LIBSELINUX_LIBS@// @@ -111,9 +109,6 @@ s/\.h\.in/.h-in/ /^OTHER_FILES *=/s/@OTHER_FILES@// /^XMENU_OBJ *=/s/@XMENU_OBJ@/xmenu.o/ /^FONT_OBJ *=/s/@FONT_OBJ@// -/^MOUSE_SUPPORT *=/s/@MOUSE_SUPPORT@/$(REAL_MOUSE_SUPPORT)/ -/^TOOLTIP_SUPPORT *=/s/@TOOLTIP_SUPPORT@// -/^WINDOW_SUPPORT *=/s/@WINDOW_SUPPORT@// /^LIBGPM *=/s/@LIBGPM@// /^EXEEXT *=/s/@EXEEXT@/.exe/ /^OLDXMENU *=/s/@OLDXMENU@/nothing/ diff --git a/msdos/sed1x.inp b/msdos/sed1x.inp index dff76fda27b..d0a37807d9e 100644 --- a/msdos/sed1x.inp +++ b/msdos/sed1x.inp @@ -26,7 +26,5 @@ s/DOC/DOC-X/g /^LIBS_SYSTEM *=/s!= *!= -lxext -lsys! /^MSDOS_X_OBJ *=/s!= *!= w16select.o termcap.o! /^FONT_OBJ *=/s!= *!= xfont.o! -/^TOOLTIP_SUPPORT *=/s!= *!= ${lispsource}tooltip.elc! -/^WINDOW_SUPPORT *=/s!= *!= $(BASE_WINDOW_SUPPORT) $(X_WINDOW_SUPPORT)! /^temacs *:/s!OLDXMENU!LIBXMENU! diff --git a/src/ChangeLog b/src/ChangeLog index 372bf383fb8..1b54ae05c59 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,14 @@ +2011-05-19 Glenn Morris + + * Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT) + (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) + (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove. + (lisp): Set the order to that of loadup.el. + (shortlisp): Make it a copy of $lisp. + (SOME_MACHINE_LISP): Remove. + ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too. + Use just $shortlisp, not $SOME_MACHINE_LISP too. + 2011-05-18 Kenichi Handa * composite.c (CHAR_COMPOSABLE_P): Add more check for efficiency. diff --git a/src/Makefile.in b/src/Makefile.in index 8b596430cf5..6476880a0fd 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -237,18 +237,12 @@ CYGWIN_OBJ=@CYGWIN_OBJ@ MSDOS_OBJ = ## w16select.o termcap.o if MSDOS && HAVE_X_WINDOWS. MSDOS_X_OBJ = -MSDOS_SUPPORT_REAL = $(lispsource)/ls-lisp.elc $(lispsource)/disp-table.elc \ - $(lispsource)/dos-fns.elc $(lispsource)/dos-w32.elc $(lispsource)/dos-vars.elc \ - $(lispsource)/term/internal.elc $(lispsource)/term/pc-win.elc -## $MSDOS_SUPPORT_REAL if MSDOS. -MSDOS_SUPPORT = ns_appdir=@ns_appdir@ ns_appbindir=@ns_appbindir@ ns_appsrc=@ns_appsrc@ NS_OBJ=@NS_OBJ@ NS_OBJC_OBJ=@NS_OBJC_OBJ@ -NS_SUPPORT=@NS_SUPPORT@ ## Only set if NS_IMPL_GNUSTEP. GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ @@ -258,28 +252,7 @@ GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ ## else xfont.o FONT_OBJ=@FONT_OBJ@ -## Used if HAVE_MOUSE. -REAL_MOUSE_SUPPORT=$(lispsource)/mouse.elc $(lispsource)/select.elc \ - $(lispsource)/scroll-bar.elc -## Used if HAVE_GPM && !HAVE_MOUSE -GPM_MOUSE_SUPPORT=$(lispsource)/mouse.elc LIBGPM = @LIBGPM@ -## Either of the two preceding options, or empty. -MOUSE_SUPPORT=@MOUSE_SUPPORT@ - -## $(lispsource)/tooltip.elc if HAVE_WINDOW_SYSTEM, else empty. -TOOLTIP_SUPPORT=@TOOLTIP_SUPPORT@ - -BASE_WINDOW_SUPPORT=$(lispsource)/fringe.elc $(lispsource)/image.elc \ - $(lispsource)/international/fontset.elc $(lispsource)/dnd.elc \ - $(lispsource)/tool-bar.elc $(lispsource)/mwheel.elc - -X_WINDOW_SUPPORT=$(lispsource)/x-dnd.elc $(lispsource)/term/common-win.elc \ - $(lispsource)/term/x-win.elc $(lispsource)/dynamic-setting.elc - -## If HAVE_X_WINDOWS, both the above -## else if HAVE_WINDOW_SYSTEM (ie, HAVE_NS) just the former; else empty. -WINDOW_SUPPORT=@WINDOW_SUPPORT@ ## -lresolv, or empty. LIBRESOLV = @LIBRESOLV@ @@ -385,55 +358,60 @@ POST_ALLOC_OBJ=@POST_ALLOC_OBJ@ otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \ $(POST_ALLOC_OBJ) $(VMLIMIT_OBJ) $(WIDGET_OBJ) $(LIBOBJS) -## This is the platform-specific list of Lisp files loaded into the -## dumped Emacs. It is arranged like this because it is easier to generate -## it semi-mechanically from loadup.el this way. +## This is the list of all Lisp files that might be loaded into the +## dumped Emacs. Some of them are not loaded on all platforms, but +## the DOC file on every platform uses them (because the DOC file is +## supposed to be platform-independent). +## It is arranged like this because it is easier to generate it +## semi-mechanically from loadup.el this way. +## Eg something like: +## sed -e 's/"[ )].*//' -n -e '/(load "/ s/.*load "//p' loadup.el | \ +## grep -vE 'site-|ldefs-boot' +## minus any duplicates. +## Note that you cannot just add a ".elc" extension to every file, +## since some of them are no-byte-compile (eg some language/ ones). +## +## Confusingly, term/internal is not in loadup, but is unconditionally +## loaded by pc-win, which is. ## ## Note that this list should not include lisp files which might not ## be present, like site-load.el and site-init.el; this makefile ## expects them all to be either present or buildable. ## -## Files which are loaded unconditionally (i.e., on all platforms) should -## also be in shortlisp. Files which are loaded conditionally (i.e., only -## on some platforms) should instead be in SOME_MACHINE_LISP. -## ## Place loaddefs.el first, so it gets generated first, since it is on ## the critical path (relevant in parallel compilations). lisp= \ $(lispsource)/loaddefs.el \ - $(lispsource)/abbrev.elc \ - $(lispsource)/buff-menu.elc \ - $(lispsource)/button.elc \ + $(lispsource)/loadup.el \ $(lispsource)/emacs-lisp/byte-run.elc \ - $(lispsource)/composite.elc \ - $(lispsource)/cus-face.elc \ - $(lispsource)/cus-start.elc \ - $(lispsource)/custom.elc \ $(lispsource)/emacs-lisp/backquote.elc \ - $(lispsource)/emacs-lisp/lisp-mode.elc \ - $(lispsource)/emacs-lisp/lisp.elc \ - $(lispsource)/env.elc \ - $(lispsource)/faces.elc \ - $(lispsource)/files.elc \ - $(lispsource)/format.elc \ - $(lispsource)/facemenu.elc \ - $(MOUSE_SUPPORT) \ - $(lispsource)/emacs-lisp/float-sup.elc \ - $(lispsource)/frame.elc \ - $(lispsource)/help.elc \ - $(lispsource)/indent.elc \ - $(lispsource)/isearch.elc \ - $(lispsource)/rfn-eshadow.elc \ - $(lispsource)/loadup.el \ - $(lispsource)/bindings.elc \ + $(lispsource)/subr.elc \ + $(lispsource)/version.el \ + $(lispsource)/widget.elc \ + $(lispsource)/custom.elc \ $(lispsource)/emacs-lisp/map-ynp.elc \ - $(lispsource)/menu-bar.elc \ + $(lispsource)/cus-start.elc \ $(lispsource)/international/mule.elc \ $(lispsource)/international/mule-conf.elc \ + $(lispsource)/env.elc \ + $(lispsource)/format.elc \ + $(lispsource)/bindings.elc \ + $(lispsource)/files.elc \ + $(lispsource)/cus-face.elc \ + $(lispsource)/faces.elc \ + $(lispsource)/button.elc \ + $(lispsource)/startup.elc \ + $(lispsource)/minibuffer.elc \ + $(lispsource)/abbrev.elc \ + $(lispsource)/simple.elc \ + $(lispsource)/help.elc \ + $(lispsource)/jka-cmpr-hook.elc \ + $(lispsource)/epa-hook.elc \ $(lispsource)/international/mule-cmds.elc \ + $(lispsource)/case-table.elc \ $(lispsource)/international/characters.elc \ + $(lispsource)/composite.elc \ $(lispsource)/international/charprop.el \ - $(lispsource)/case-table.elc \ $(lispsource)/language/chinese.elc \ $(lispsource)/language/cyrillic.elc \ $(lispsource)/language/indian.elc \ @@ -449,7 +427,6 @@ lisp= \ $(lispsource)/language/japanese.el \ $(lispsource)/language/korean.el \ $(lispsource)/language/lao.el \ - $(lispsource)/language/cham.el \ $(lispsource)/language/tai-viet.el \ $(lispsource)/language/thai.el \ $(lispsource)/language/tibetan.elc \ @@ -459,72 +436,95 @@ lisp= \ $(lispsource)/language/georgian.el \ $(lispsource)/language/khmer.el \ $(lispsource)/language/burmese.el \ - $(lispsource)/paths.el \ - $(lispsource)/register.elc \ - $(lispsource)/replace.elc \ - $(lispsource)/simple.elc \ - $(lispsource)/minibuffer.elc \ - $(lispsource)/startup.elc \ - $(lispsource)/subr.elc \ + $(lispsource)/language/cham.el \ + $(lispsource)/indent.elc \ + $(lispsource)/window.elc \ + $(lispsource)/frame.elc \ $(lispsource)/term/tty-colors.elc \ $(lispsource)/font-core.elc \ + $(lispsource)/facemenu.elc \ $(lispsource)/emacs-lisp/syntax.elc \ $(lispsource)/font-lock.elc \ $(lispsource)/jit-lock.elc \ - $(lispsource)/textmodes/fill.elc \ + $(lispsource)/mouse.elc \ + $(lispsource)/scroll-bar.elc \ + $(lispsource)/select.elc \ + $(lispsource)/emacs-lisp/timer.elc \ + $(lispsource)/isearch.elc \ + $(lispsource)/rfn-eshadow.elc \ + $(lispsource)/menu-bar.elc \ + $(lispsource)/paths.el \ + $(lispsource)/emacs-lisp/lisp.elc \ $(lispsource)/textmodes/page.elc \ + $(lispsource)/register.elc \ $(lispsource)/textmodes/paragraphs.elc \ + $(lispsource)/emacs-lisp/lisp-mode.elc \ $(lispsource)/textmodes/text-mode.elc \ - $(lispsource)/emacs-lisp/timer.elc \ - $(lispsource)/jka-cmpr-hook.elc \ + $(lispsource)/textmodes/fill.elc \ + $(lispsource)/replace.elc \ + $(lispsource)/buff-menu.elc \ + $(lispsource)/fringe.elc \ + $(lispsource)/image.elc \ + $(lispsource)/international/fontset.elc \ + $(lispsource)/dnd.elc \ + $(lispsource)/tool-bar.elc \ + $(lispsource)/dynamic-setting.elc \ + $(lispsource)/x-dnd.elc \ + $(lispsource)/term/common-win.elc \ + $(lispsource)/term/x-win.elc \ + $(lispsource)/w32-vars.elc \ + $(lispsource)/term/w32-win.elc \ + $(lispsource)/ls-lisp.elc \ + $(lispsource)/disp-table.elc \ + $(lispsource)/dos-w32.elc \ + $(lispsource)/w32-fns.elc \ + $(lispsource)/dos-fns.elc \ + $(lispsource)/dos-vars.elc \ + $(lispsource)/term/pc-win.elc \ + $(lispsource)/term/internal.elc \ + $(lispsource)/term/ns-win.elc \ + $(lispsource)/mwheel.elc \ + $(lispsource)/emacs-lisp/float-sup.elc \ $(lispsource)/vc/vc-hooks.elc \ $(lispsource)/vc/ediff-hook.elc \ - $(lispsource)/epa-hook.elc \ - $(TOOLTIP_SUPPORT) \ - $(MSDOS_SUPPORT) \ - $(WINDOW_SUPPORT) \ - $(NS_SUPPORT) \ - $(lispsource)/widget.elc \ - $(lispsource)/window.elc \ - $(lispsource)/version.el + $(lispsource)/tooltip.elc -## List of relative names for those files from $lisp that are loaded -## unconditionally (i.e. on all platforms). Files from $lisp that -## are only loaded on some platforms should instead be placed in -## SOME_MACHINE_LISP. The only reason this variable exists is to prevent -## the make-docfile command-line getting too long for some systems. +## The same as $lisp, but using relative file names. The only reason +## this variable exists is to prevent the make-docfile command-line +## getting too long for some systems. Unfortunately, no-one has any +## idea how long "too long" is. shortlisp= \ ../lisp/loaddefs.el \ - ../lisp/abbrev.elc \ - ../lisp/buff-menu.elc \ - ../lisp/button.elc \ + ../lisp/loadup.el \ ../lisp/emacs-lisp/byte-run.elc \ - ../lisp/composite.elc \ - ../lisp/cus-face.elc \ - ../lisp/cus-start.elc \ - ../lisp/custom.elc \ ../lisp/emacs-lisp/backquote.elc \ - ../lisp/emacs-lisp/lisp-mode.elc \ - ../lisp/emacs-lisp/lisp.elc \ - ../lisp/facemenu.elc \ - ../lisp/faces.elc \ - ../lisp/files.elc \ - ../lisp/emacs-lisp/float-sup.elc \ - ../lisp/format.elc \ - ../lisp/frame.elc \ - ../lisp/help.elc \ - ../lisp/indent.elc \ - ../lisp/isearch.elc \ - ../lisp/rfn-eshadow.elc \ - ../lisp/loadup.el \ - ../lisp/bindings.elc \ + ../lisp/subr.elc \ + ../lisp/version.el \ + ../lisp/widget.elc \ + ../lisp/custom.elc \ ../lisp/emacs-lisp/map-ynp.elc \ - ../lisp/env.elc \ + ../lisp/cus-start.elc \ ../lisp/international/mule.elc \ ../lisp/international/mule-conf.elc \ + ../lisp/env.elc \ + ../lisp/format.elc \ + ../lisp/bindings.elc \ + ../lisp/files.elc \ + ../lisp/cus-face.elc \ + ../lisp/faces.elc \ + ../lisp/button.elc \ + ../lisp/startup.elc \ + ../lisp/minibuffer.elc \ + ../lisp/abbrev.elc \ + ../lisp/simple.elc \ + ../lisp/help.elc \ + ../lisp/jka-cmpr-hook.elc \ + ../lisp/epa-hook.elc \ ../lisp/international/mule-cmds.elc \ - ../lisp/international/characters.elc \ ../lisp/case-table.elc \ + ../lisp/international/characters.elc \ + ../lisp/composite.elc \ + ../lisp/international/charprop.el \ ../lisp/language/chinese.elc \ ../lisp/language/cyrillic.elc \ ../lisp/language/indian.elc \ @@ -540,7 +540,6 @@ shortlisp= \ ../lisp/language/japanese.el \ ../lisp/language/korean.el \ ../lisp/language/lao.el \ - ../lisp/language/cham.el \ ../lisp/language/tai-viet.el \ ../lisp/language/thai.el \ ../lisp/language/tibetan.elc \ @@ -550,50 +549,58 @@ shortlisp= \ ../lisp/language/georgian.el \ ../lisp/language/khmer.el \ ../lisp/language/burmese.el \ - ../lisp/menu-bar.elc \ - ../lisp/paths.el \ - ../lisp/register.elc \ - ../lisp/replace.elc \ - ../lisp/simple.elc \ - ../lisp/minibuffer.elc \ - ../lisp/startup.elc \ - ../lisp/subr.elc \ + ../lisp/language/cham.el \ + ../lisp/indent.elc \ + ../lisp/window.elc \ + ../lisp/frame.elc \ ../lisp/term/tty-colors.elc \ ../lisp/font-core.elc \ + ../lisp/facemenu.elc \ ../lisp/emacs-lisp/syntax.elc \ ../lisp/font-lock.elc \ ../lisp/jit-lock.elc \ - ../lisp/textmodes/fill.elc \ + ../lisp/mouse.elc \ + ../lisp/scroll-bar.elc \ + ../lisp/select.elc \ + ../lisp/emacs-lisp/timer.elc \ + ../lisp/isearch.elc \ + ../lisp/rfn-eshadow.elc \ + ../lisp/menu-bar.elc \ + ../lisp/paths.el \ + ../lisp/emacs-lisp/lisp.elc \ ../lisp/textmodes/page.elc \ + ../lisp/register.elc \ ../lisp/textmodes/paragraphs.elc \ + ../lisp/emacs-lisp/lisp-mode.elc \ ../lisp/textmodes/text-mode.elc \ - ../lisp/emacs-lisp/timer.elc \ + ../lisp/textmodes/fill.elc \ + ../lisp/replace.elc \ + ../lisp/buff-menu.elc \ + ../lisp/fringe.elc \ + ../lisp/image.elc \ + ../lisp/international/fontset.elc \ + ../lisp/dnd.elc \ + ../lisp/tool-bar.elc \ + ../lisp/dynamic-setting.elc \ + ../lisp/x-dnd.elc \ + ../lisp/term/common-win.elc \ + ../lisp/term/x-win.elc \ + ../lisp/w32-vars.elc \ + ../lisp/term/w32-win.elc \ + ../lisp/ls-lisp.elc \ + ../lisp/disp-table.elc \ + ../lisp/dos-w32.elc \ + ../lisp/w32-fns.elc \ + ../lisp/dos-fns.elc \ + ../lisp/dos-vars.elc \ + ../lisp/term/pc-win.elc \ + ../lisp/term/internal.elc \ + ../lisp/term/ns-win.elc \ + ../lisp/mwheel.elc \ + ../lisp/emacs-lisp/float-sup.elc \ ../lisp/vc/vc-hooks.elc \ ../lisp/vc/ediff-hook.elc \ - ../lisp/jka-cmpr-hook.elc \ - ../lisp/epa-hook.elc \ - ../lisp/widget.elc \ - ../lisp/window.elc \ - ../lisp/version.el - -## Like $shortlisp, but includes only those files from $lisp that are loaded -## conditionally (i.e., only on some platforms). -## Confusingly, term/internal is not in loadup, but is unconditionally -## loaded by pc-win, which is. -SOME_MACHINE_LISP = ../lisp/mouse.elc \ - ../lisp/select.elc ../lisp/scroll-bar.elc \ - ../lisp/ls-lisp.elc ../lisp/dos-fns.elc \ - ../lisp/w32-fns.elc ../lisp/dos-w32.elc \ - ../lisp/disp-table.elc ../lisp/dos-vars.elc ../lisp/w32-vars.elc \ - ../lisp/tooltip.elc ../lisp/image.elc \ - ../lisp/fringe.elc ../lisp/dnd.elc \ - ../lisp/mwheel.elc ../lisp/tool-bar.elc \ - ../lisp/x-dnd.elc ../lisp/dynamic-setting.elc \ - ../lisp/international/fontset.elc \ - ../lisp/term/common-win.elc \ - ../lisp/term/x-win.elc \ - ../lisp/term/pc-win.elc ../lisp/term/internal.elc \ - ../lisp/term/ns-win.elc ../lisp/term/w32-win.elc + ../lisp/tooltip.elc ## Construct full set of libraries to be linked. ## Note that SunOS needs -lm to come before -lc; otherwise, you get @@ -612,6 +619,9 @@ all: emacs$(EXEEXT) $(OTHER_FILES) ## Does anyone ever pay attention to the load-path-shadows output here? ## The dumped Emacs is as functional and more efficient than ## bootstrap-emacs, so we replace the latter with the former. +## Strictly speaking, emacs does not depend directly on all of $lisp, +## since not all pieces are used on all platforms. But DOC depends +## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here. emacs$(EXEEXT): temacs$(EXEEXT) $(etc)/DOC $(lisp) if test "$(CANNOT_DUMP)" = "yes"; then \ ln -f temacs$(EXEEXT) emacs$(EXEEXT); \ @@ -630,16 +640,15 @@ emacs$(EXEEXT): temacs$(EXEEXT) $(etc)/DOC $(lisp) ## $(SOME_MACHINE_OBJECTS). Since a file is processed when it is mentioned ## for the first time, this prevents any variation between configurations ## in the contents of the DOC file. -## Likewise for $(SOME_MACHINE_LISP). ## Most of this Makefile refers to Lisp files via $(lispsource), so ## we also use $(lisp) rather than $(shortlisp) for the dependency since ## the Makefile uses string equality to decide when we talk about identical ## files. Apparently we pass $(shortlisp) rather than $(lisp) to make-docfile ## only in order to reduce the command line length. --Stef -$(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp) $(SOME_MACHINE_LISP) +$(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp) -rm -f $(etc)/DOC $(libsrc)/make-docfile -d $(srcdir) $(SOME_MACHINE_OBJECTS) $(obj) > $(etc)/DOC - $(libsrc)/make-docfile -a $(etc)/DOC -d $(srcdir) $(SOME_MACHINE_LISP) $(shortlisp) + $(libsrc)/make-docfile -a $(etc)/DOC -d $(srcdir) $(shortlisp) $(libsrc)/make-docfile$(EXEEXT): cd $(libsrc); $(MAKE) $(MFLAGS) make-docfile$(EXEEXT) @@ -797,7 +806,7 @@ tags: TAGS TAGS-LISP $(lwlibdir)/TAGS THEFILE=$< EMACS=$(bootstrap_exe) ## Since the .el.elc rule cannot specify an extra dependency, we do it here. -$(lisp) $(SOME_MACHINE_LISP): $(BOOTSTRAPEMACS) +$(lisp): $(BOOTSTRAPEMACS) ## VCSWITNESS points to the file that holds info about the current checkout. ## We use it as a heuristic to decide when to rebuild loaddefs.el.