1. 20 Jun, 2019 3 commits
    • Paul Eggert's avatar
      Fix extraclean in a different way for info+lib/sys · 8bccbb98
      Paul Eggert authored
      * Makefile.in (extraclean):
      * lib/Makefile.in (extraclean): Use rmdir but suppress any
      error indication.  That way, ‘make extraclean’ will remove the
      directory if it’s empty, and successfully do nothing otherwise.
      8bccbb98
    • Lars Ingebrigtsen's avatar
      Leave the emtpy info and lib/sys in extraclean · afc9d9b3
      Lars Ingebrigtsen authored
      * lib/Makefile.in: Ditto.
      
      * Makefile.in (extraclean): Don't use GNU-specific rmdir; just
      leave the empty directory be.
      afc9d9b3
    • Lars Ingebrigtsen's avatar
      Make extraclean return tree to pristine state by deleting more · de4e1bdd
      Lars Ingebrigtsen authored
      * src/Makefile.in (extraclean): Remove TAGS and config.in.
      
      * Makefile.in (extraclean): Remove info, configure and
      emacsver.texi in extraclean.
      * admin/unidata/Makefile.in (extraclean): Make it depend on
      distclean to remove .elc files.
      
      * leim/Makefile.in (extraclean): Depend on bootstrap-clean to
      remove generated .el files.
      
      * lib/Makefile.in (extraclean): Added target to remove sys
      directory and run distclean.
      
      * lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
      de4e1bdd
  2. 03 May, 2019 1 commit
  3. 28 Apr, 2019 1 commit
  4. 24 Apr, 2019 1 commit
  5. 23 Apr, 2019 1 commit
    • Paul Eggert's avatar
      Let plain ‘make’ work even not GNU Make · 6fa8d3c8
      Paul Eggert authored
      * Makefile.in (top_distclean): Clean makefile as well as Makefile.
      * configure.ac: If not using plain ‘make’, create a makefile
      so that plain ‘make’ simply calls $(MAKE).
      6fa8d3c8
  6. 23 Jan, 2019 1 commit
  7. 15 Jan, 2019 1 commit
    • Daniel Colascione's avatar
      Add portable dumper · d12e5d00
      Daniel Colascione authored
      Add a new portable dumper as an alternative to unexec.  Use it by default.
      
      * src/dmpstruct.awk: New file.
      * src/doc.c (get_doc_string): use will_dump_p().
      * src/editfns.c (styled_format): silence compiler warning
      with UNINIT.
      * src/emacs-module.c (syms_of_module): staticpro ltv_mark.
      * src/emacs.c (gflags): new variable.
      (init_cmdargs): unwrap
      (string_starts_with_p, find_argument, dump_error_to_string)
      (load_pdump): new functions.
      (main): detect pdumper and --temacs invocation; actually load
      portable dump when detected; set gflags as appropriate; changes to
      init functions throughout to avoid passing explicit
      'initialized' argument.
      * src/eval.c (inhibit_lisp_code): remove unused variable.
      (init_eval_once_for_pdumper): new function.
      (init_eval_once): call it.
      * src/filelock.c: CANNOT_DUMP -> will_dump_p()
      * src/fingerprint-dummy.c: new file
      * src/fingerprint.h: new file
      * src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
      (weak_hash_tables): remove
      (hashfn_equal, hashfn_eql): un-staticify
      (make_hash_table): set new 'next_weak' hash table field; drop
      global weak_hash_tables logic.
      (copy_hash_table): drop global weak_hash_tables logic.
      (hash_table_rehash): new function.
      (hash_lookup, hash_put, hash_remove_from_table, hash_clear):
      rehash if needed.
      (sweep_weak_table): un-staticify; explain logic; bool-ify.
      (sweep_weak_hash_tables): remove function.
      * src/font.c (syms_of_font): remember pdumper stuff.
      * src/fontset.c (syms_of_fontset): remember pdumper stuff.
      * src/frame.c (make_initial_frame): don't reset Vframe_list.
      (init_frame_once_for_pdumper, init_frame_once): new functions.
      (syms_of_frame): remove redundant staticpro.
      * src/fringe.c (init_fringe_once_for_pdumper): new functin.
      (init_fringe_once): call it.
      * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
      (syms_of_ftcrfont): call it.
      * src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
      (syms_of_ftfont): call it.
      * src/ftxont.c (syms_of_ftxfont_for_pdumper): new function.
      (syms_of_ftxfont): call it.
      * src/gmalloc.c: adjust for pdumper througout
      (DUMPED): remove weird custom dumped indicator.
      * src/gnutls.c (syms_of_gnutls): pdumper note for
      gnutls_global_initialized.
      * src/image.c (syms_of_image): add pdumper comment,
      initializer note.
      * src/insdel.c (prepare_to_modify_buffer_1): account
      for buffer contents possibly being in dump image.
      * src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
      (syms_of_keyboard): staticpro more; call pdumper syms function.
      * src/lisp.h: add comments throughout
      (gflags): declare.
      (will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
      (dumped_with_pdumper_p, will_dump_with_unexec_p)
      (dumped_with_unexec_p, definitely_will_not_unexec_p): new
      functions.
      (POWER_OF_2, ROUNDUP): move macros.
      (PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
      pointer instead of vector; constify.
      (Lisp_Hash_Table): add comment about need to rehash on access; add
      comment for next_weak.
      (HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
      (hash_table_rehash): declare.
      (hash_rehash_needed_p, hash_rehash_if_needed): new functions.
      (finalizers, doomed_finalizers): declare extern.
      (SUBR_SECTION_ATTRIBUTE): new macro.
      (staticvec, staticidx): un-static-ify.
      (sweep_weak_hash_tables): remove declaration.
      (sweep_weak_table): declare.
      (hashfn_eql, hashfn_equal): declare.
      (number_finalizers_run): new variable.
      (Vdead): externify when ENABLE_CHECKING.
      (gc_root_type): new enumeration.
      (gc_root_visitor): new struct.
      (visit_static_gc_roots): declare.
      (vectorlike_nbytes): declare.
      (vector_nbytes): define as trivial inline function wrapper for
      vectorlike_nbytes.
      (init_obarray_once): change signature.
      (primary_thread): extern-ify.
      (init_buffer): change signature.
      (init_frame_once): declare.
      * src/lread.c (readevalloop): adjust for new dumped predicates.
      (init_obarray_once): new function.
      (ndefsubr): new variable.
      (defsubr): increment it.
      (load_path_check): adjust for pdumper.
      (load_path_default): use pdumper functions; adjust for
      dump search.
      * src/macfont.m (macfont_init_font_change_handler): avoid
      shadowing global.
      (syms_of_macfont_for_pdumper): new function.
      (syms_of_macfont): call it.
      * src/menu.c (syms_of_menu): staticpro more stuff.
      * src/minibuf.c (Ftry_completion): rehash if needed.
      (init_minibuf_once_for_pdumper): new function.
      (init_minibuf_once): call it.
      * src/nsfont.m (syms_of_nsfns): staticpro more.
      * src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
      (syms_of_nsfont): call it.
      * src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
      * src/pdumper.c: new file.
      * src/pdumper.h: new file.
      * src/process.c (init_process_emacs): use new pdumper functions
      instead of CANNOT_DUMP.
      * src/profiler.c (syms_of_profiler_for_pdumper): new function.
      (syms_of_profiler_for_pdumper): call it.
      * src/search.c (syms_of_search_for_pdumper): new function.
      (syms_of_search_for_pdumper): call it.
      * src/sheap.c (bss_sbrk_did_unexec): remove.
      * src/sheap.h (bss_sbrk_did_unexec): remove.
      * src/syntax.c (syms_of_syntax): don't redundantly staticpro
      re_match_object.
      * src/sysdep.c: use will_dump_with_unexec_p() instead of bss
      hack thing.
      * src/syssignals.h (init_sigsegv): declare.
      * src/systime.h (init_timefns): remove bool from signature.
      * src/textprop.c (syms_of_textprop): move staticpro.
      * src/thread.c (main_thread_p): constify.
      * src/thread.h (main_thread_p): constify.
      * src/timefns.c (init_timefns): remove bool from signature.
      (syms_of_timefns_for_pdumper): new function.
      (syms_of_timefns): call it.
      * src/w32.c: rearrange code.
      * src/w32.h (w32_relocate): declare.
      * src/w32fns.c (syms_of_w32fns): add pdumper note.
      * src/w32font.c (syms_of_w32font_for_pdumper): new function.
      (syms_of_w32font): call it.
      * src/w32heap.c (using_dynamic_heap): new variable.
      (init_heap): use it.
      * src/w32menu.c (syms_of_w32menu): add pdumper note.
      * src/w32proc.c
      (ctrl_c_handler, mainCRTStartup, _start, open_input_file)
      (rva_to_section, close_file_data): move here.
      * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
      new function.
      (syms_of_w32uniscribe): call it.
      * src/window.c (init_window_once_for_pdumper): new function.
      (init_window_once): call it; staticpro more stuff.
      * src/xfont.c (syms_of_xfont_for_pdumper): new function.
      (syms_of_xfont): call it.
      * src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
      (syms_of_xftfont): call it.
      * src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
      (syms_of_xmenu): call it.
      * src/xselect.c (syms_of_xselect_for_pdumper): new function.
      (syms_of_xselect): call it.
      * src/xsettings.c (syms_of_xsettings): add more pdumper notes.
      * src/term.c (syms_of_xterm): add pdumper note.
      
      * src/dispnew.c (init_faces_initial): new function.
      (init_display_interactive): rename from init_display; use
      will_dump_p instead of !initialized.  Initialize faces early for
      pdumper if needed.
      (init_display): new function.
      (syms_of_display_for_pdumper): new function.
      (syms_of_display): call it.
      
      * src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
      on pdumper load.
      
      * src/data.c (Fdefalias): Use will_dump_p
      instead of Vpurify_flag.
      (Fmake_variable_buffer_local): silence compiler warning with -Og
      by making valcontents UNINIT.
      (arith_driver): silence compiler warning with UNINIT.
      
      * src/conf_post.h (ATTRIBUTE_SECTION): new macro.
      
      * src/composite.c (composition_gstring_put_cache): rehash hash
      table if needed.
      
      * src/coding.c (init_coding_once, syms_of_coding): remember
      pdumper stuff.
      
      * src/charset.h (charset_table_size, charset_table_user): declare.
      
      * src/charset.c (charset_table_used, charset_table_size): un-static.
      (init_charset_oncem, syms_of_charset): remember pdumper stuff.
      
      * src/category.c (category_table_version): remove obsolete
      variable.
      
      * src/callint.c (syms_of_callint): staticpro 'preserved_fns'
      (init_callproc): use will_dump_p instead of !CANNOT_DUMP.
      
      * src/bytecode.c (exec_byte_code): rehash table tables if needed
      
      * src/buffer.c (alloc_buffer_text, free_buffer_text): account for
      pdumper
      (init_buffer_once): add TODO; remember stuff for pdumper.
      (init_buffer): don't take initialized argument; adjust
      for pdumper.
      
      * src/atimer.c (init_atimer): initialize subr only if
      !initialized.
      
      * src/alloc.c: (vector_marked_p, set_vector_marked)
      (vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
      (set_cons_marked, string_marked_p, set_string_marked)
      (symbol_marked_p, set_symbol_marked, interval_marked_p)
      (set_interval_marked): new accessor routines.  Use them
      instead of raw GC access throughout.
      (Vdead): make non-static when ENABLE_CHECKING.
      (vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
      header as input instead of a vector.
      (number_finalizers_run): new internal C variable.
      (mark_maybe_object): check for pdumper objects.
      (valid_pointer_p): don't be gratuitously inefficient under rr(1).
      (make_pure_c_string): add support for size_byte = -2 mode
      indicating that string data points into Emacs image rodata.
      (visit_vectorlike_root): visits GC roots embedded in
      vectorlike objects.
      (visit_buffer_root): visits GC roots embedded in
      our totally-not-a-buffer buffer global objects.
      (visit_static_gc_roots): visit GC roots in the Emacs data section.
      (mark_object_root_visitor): root callback used for conventional GC
      marking
      (weak_hash_tables): new internal variable for tracking found weak
      hash tables during GC.
      (mark_and_sweep_weak_table_contents): new weak hash table marking.
      (garbage_collect_1): use new GC root visitor machinery.
      (mark_vectorlike): accept a vectorlike_header instead of a
      Lisp_Vector.
      (mark_frame, mark_window, mark_hash_table): new functions.
      (mark_object): initialize 'm'; check for pdumper objects and use
      new mark-bit accessors throughout.  Remove some object-specific
      marking code and move to helper functions above.
      (survives_gc_p): check for pdumper objects.
      (gc-sweep): clear pdumper mark bits.
      (init_alloc_once_for_pdumper): new helper function for early init
      called both during normal init and pdumper load.
      (init_alloc_once): pdumper integration.
      
      * src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
      invoke temacs with --temacs command line option; build dmpstruct.h
      from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
      intermediate files during build.
      
      * nextstep/Makefile.in: build emacs.pdmp into NS packages
      
      * lisp/startup.el: account for new '--temacs' and '--dump-file'
      command line option.
      
      * lisp/loadup.el: rewrite early init to account for pdumper; use
      injected 'dump-mode' variable (set via the new '--temacs' option)
      instead of parsing command line.
      
      * lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
      since the new 'dump-mode'
      
      * lib-src/make-fingerprint.c: new program
      
      * lib-src/Makefile.in: built make-fingerprint utility program
      
      * configure.ac: Add --with-pdumper toggle to control pdumper
      support; add --with-unexec toggle to control unexec support.
      Add --with-dumping option to control which dumping strategy we use
      by default.  Adjust for pdumper throughout.  Check for
      posix_madvise.
      
      * Makefile.in: Add @DUMPING@ substitution; add pdumper mode.
      
      * .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
      dmpstruct.h, and pdumper dump files.
      d12e5d00
  8. 01 Jan, 2019 1 commit
  9. 16 Oct, 2018 2 commits
  10. 03 Oct, 2018 3 commits
  11. 24 Sep, 2018 1 commit
    • Paul Eggert's avatar
      Fix ‘make clean’ with a file named ‘-.o’ · 36243179
      Paul Eggert authored
      Problem reported by T.V Raman in:
      https://lists.gnu.org/r/emacs-devel/2018-09/msg00866.html
      * Makefile.in (clean, extraclean):
      * doc/emacs/Makefile.in (mostlyclean):
      * doc/lispintro/Makefile.in (mostlyclean):
      * doc/lispref/Makefile.in (mostlyclean):
      * doc/misc/Makefile.in (mostlyclean, clean):
      * etc/refcards/Makefile (clean):
      * lib-src/Makefile.in (mostlyclean, extraclean):
      * lib/Makefile.in (clean):
      * lwlib/Makefile.in (clean mostlyclean):
      * oldXMenu/Makefile.in (clean mostlyclean):
      * src/Makefile.in (mostlyclean, extraclean):
      * test/Makefile.in (mostlyclean):
      Say ‘rm ./*.o’ instead of ‘rm *.o’ to avoid undesirable failure
      when a file name begins with ‘-’.
      36243179
  12. 05 Sep, 2018 1 commit
  13. 21 Jun, 2018 1 commit
  14. 09 Mar, 2018 1 commit
  15. 10 Jan, 2018 1 commit
    • Glenn Morris's avatar
      Tag some unstable tests, and skip by default (bug#24503) · a9b884c6
      Glenn Morris authored
      * Makefile.in (check-all): New phony target.
      * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
      Also skip unstable tests.
      (SELECTOR_ALL): New variable.
      (check-all): New phony target.
      * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
      (eieio-test-method-order-list-6):
      * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
      (eieio-test-37-obsolete-name-in-constructor):
      Mark as unstable rather than skipping on hydra.nixos.org.
      a9b884c6
  16. 01 Jan, 2018 1 commit
  17. 19 Dec, 2017 1 commit
  18. 26 Nov, 2017 1 commit
  19. 05 Oct, 2017 1 commit
  20. 02 Oct, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to HTTP for gnu.org · 5172fa02
      Paul Eggert authored
      This fixes some URLs I omitted from my previous pass,
      notably those in lists.gnu.org.  Although lists.gnu.org
      does not yet support TLS 1.1, TLS 1.0 is better than nothing.
      * lisp/erc/erc.el (erc-official-location):
      * lisp/mail/emacsbug.el (report-emacs-bug):
      Use https:, not http:.
      5172fa02
  21. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      Most of this change is to boilerplate commentary such as license URLs.
      This change was prompted by ftp://ftp.gnu.org's going-away party,
      planned for November.  Change these FTP URLs to https://ftp.gnu.org
      instead.  Make similar changes for URLs to other organizations moving
      away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
      fsf.org when this works, as this will further help defend against
      man-in-the-middle attacks (for this part I omitted the MS-DOS and
      MS-Windows sources and the test tarballs to keep the workload down).
      HTTPS is not fully working to lists.gnu.org so I left those URLs alone
      for now.
      bc511a64
  22. 12 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Less chatter for ’make info/dir’ · cb80fd0d
      Paul Eggert authored
      * Makefile.in (${srcdir}/info/dir): Tweak shell command so
      that an ordinary make says just "GEN info/dir" rather than
      also having a seemingly-unrelated mv line.
      cb80fd0d
  23. 02 Aug, 2017 1 commit
  24. 13 Apr, 2017 2 commits
  25. 27 Mar, 2017 1 commit
    • Paul Eggert's avatar
      Fix obsolete ‘test/automated’ references · 55086ef6
      Paul Eggert authored
      * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
      (bootstrap-clean, maintainer-clean):
      Clean ‘test’, not ‘test/automated’.  Test for existence of
      subdirectory only for ‘test’, not for directories that should
      always exist.
      * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
      * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
      * lisp/man.el (Man-parse-man-k):
      * lisp/url/url-domsuf.el, make-dist:
      * test/file-organization.org:
      Fix obsolete references to test/automated.
      55086ef6
  26. 17 Mar, 2017 2 commits
    • Paul Eggert's avatar
      Fixups for GNU Make switchover · 2f893509
      Paul Eggert authored
      This fixes some minor problems introduced in the recent switch to GNU
      Make, discovered by further testing.  Without some of these changes
      'make -j' would sometimes have race conditions caused by missing
      dependencies.  (Bug#26100)
      * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
      * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
      src/config.in, since the former's timestamp now represents
      the latter's.
      ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
      with other autogen.sh invocations.
      ($(srcdir)/src/stamp-h.in):
      Remove rule, as this file is no longer created.
      * Makefile.in (top_distclean):
      * src/Makefile.in (bootstrap-clean):
      No need to remove stamp-h1, as that was an Automake byproduct
      and Automake is no longer in use.
      * lib/Makefile.in, src/Makefile.in:
      (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
      (../config.status, Makefile): Simplify by limiting dependencies
      to files we care about and files in the repository, and by
      using just one file to represent the timestamps on multiple
      targets updated by the same rule.
      * autogen.sh: Do not create or use src/stamp-h.in.
      Instead, have 'find' test the two output files directly.
      2f893509
    • Paul Eggert's avatar
      Switch from Automake to GNU Make · 65faa7bc
      Paul Eggert authored
      Emacs assumes GNU Make, and GNU Make has much of the functionality of
      Automake built-in.  The Emacs build process uses Automake primarily
      because Emacs uses some Gnulib code and Gnulib formerly required
      Automake.  Now that Gnulib no longer requires Automake, Emacs can
      stop using Automake and this should simplify Emacs maintenance
      in the future (Bug#26100).  Although this patch may look long, most of
      it is generated automatically: the changes to build-aux/config.guess,
      build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
      all done by admin/merge-gnulib.
      * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
      build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
      build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
      as they are no longer built by autogen.sh.
      Add lib/gnulib.mk, as it is now built by 'configure'.
      Remove nt/gnulib.mk, as it is no longer built by 'make'.
      * INSTALL.REPO, README, admin/make-tarball.txt:
      Remove mention of Automake.
      * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
      (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
      ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
      ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
      Remove.
      ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
      ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
      ($(srcdir)/src/config.in):
      Use autogen.sh instead of doing it by hand.
      * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
      New vars, to simplify processing of avoided modules.
      (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
      Add --gnu-make, and change makefile name to gnulib.mk.in.
      Copy config.guess, config.sub, and install-sh too, since
      Automake no longer does that for us.
      * admin/notes/copyright:
      * admin/update_autogen (genfiles):
      Update list of files.
      Remove hack for nt/gnulib.mk, a file that is no longer needed.
      * autogen.sh (progs): Remove Automake.
      (automake_min): Remove.
      Build aclocal.m4 so that autoreconf need not use aclocal.
      * build-aux/config.guess, build-aux/config.sub:
      * build-aux/install-sh:
      New files, copied from Gnulib.  These are now updated by
      admin/merge-gnulib instead by autogen.sh.
      * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
      Remove.
      (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
      (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
      (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
      (--disable-silent-rules): New option, since Automake no longer
      does this for us.
      (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
      with AM_SUBST_NOTMAKE.
      (AC_PROG_INSTALL): Add call.
      (MAKEINFO): Do not bother with the 'missing' program.
      (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
      (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
      (SUBDIR_MAKEFILES): Remove duplication.
      * lib/Makefile.am: Remove, replacing with:
      * lib/Makefile.in: New file, with the old Makefile.am contents
      and with the following changes:
      (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
      (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
      (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
      (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
      Remove.
      (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
      (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
      (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
      (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
      New macros and rules, since Automake no longer does them.
      Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
      instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
      Include dependency files if AUTO_DEPEND.
      (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
      New macros.
      (bootstrap-clean): Depend on distclean, not maintainer-clean,
      and remove gnulib.mk.
      (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
      New macros and rules, copied from ../Makefile.in.
      ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
      (.c.o, e-%.o): New generic rules.
      * lib/gnulib.mk: Remove.
      * lib/gnulib.mk.in: New file, which is built by autogen.sh
      and contains much of what used to be in lib/gnulib.mk.
      * m4/gnulib-common.m4: Copy from gnulib.
      * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
      build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
      nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
      lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
      * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
      (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
      * nt/gnulib-cfg.mk: New file, which supersedes ...
      * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
      * src/Makefile.in (ACLOCAL_INPUTS): Remove.
      (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
      ($(top_srcdir)/configure, ../config.status, config.in Makefile):
      Defer to parent Makefile.
      65faa7bc
  27. 12 Mar, 2017 1 commit
    • Paul Eggert's avatar
      Install update-game-score only on request · 995be66f
      Paul Eggert authored
      Most distributions do not install update-game-score properly
      due to setuid/setgid complications, so install it only when
      the installer specifies a user or group (Bug#25895).
      * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
      * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
      New vars.
      (epaths-force): Use PATH_GAME.
      (uninstall): Remove snake-scores and tetris-scores only if shared.
      * configure.ac: Default --with-gameuser to 'no'.
      (UPDATE_MANIFEST): Remove.
      * etc/NEWS: Mention this.
      * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
      (use_gamedir): New macro.
      (UTILITIES): Remove update-game-score unless use_gamedir.
      (SCRIPTS): Remove $(UPDATE_MANIFEST).
      ($(DESTDIR)${archlibdir}): Install game directory program and data
      only if use_gamedir.
      * lib-src/update-game-score.exe.manifest: Remove, as
      update-game-score is no longer installed on MS-Windows.
      * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
      Use auxiliary program only if setuid or setgid.
      * make-dist: Do not distribute update-game-score.exe.manifest.
      * src/callproc.c (init_callproc):
      Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
      (syms_of_callproc): Remove unnecessary initialization of
      Vshared_game_score_directory.
      995be66f
  28. 07 Mar, 2017 2 commits
    • Phillip Lord's avatar
      Revert "Replace ldefs-boot with a much smaller file" · 542a7632
      Phillip Lord authored
      This reverts commit c27b6459.
      
      This commit has been reverted because the new mechanism was too
      sensitive to changes in the lisp source, generation of new ldefs-boot
      files was platform specific and resulted in warnings about undefined
      variables.
      
      See also 11436e2890d.
      542a7632
    • Phillip Lord's avatar
      Revert "Speed generation of ldefs-boot-auto" · 8f58747a
      Phillip Lord authored
      This reverts commit 7b5e1c82.
      
      This commit has been reverted because the new mechanism was too
      sensitive to changes in the lisp source, generation of new ldefs-boot
      files was platform specific and resulted in warnings about undefined
      variables.
      
      See also 11436e2890d.
      8f58747a
  29. 28 Feb, 2017 1 commit
    • Phillip Lord's avatar
      Speed generation of ldefs-boot-auto · 7b5e1c82
      Phillip Lord authored
      Previously, generation of ldefs-boot-auto required at least one full
      bootstrap and, in extreme cases, two. Now, from build system, it
      requires the same time as taken to dump Emacs.
      
      * Makefile.in: Remove all calls, pass to src.
      * admin/ldefs-clean.el: Update for changed messages.
      * lisp/Makefile.in (compile-first-delete): Add.
      * lisp/ldefs-boot-auto.el: Update.
      * src/Makefile.in (generate-ldefs-boot): Add.
      7b5e1c82
  30. 18 Feb, 2017 1 commit
    • Eli Zaretskii's avatar
      Automatically regenerate emacs.1 and *.rc files · ba6e7232
      Eli Zaretskii authored
      * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
      non-Makefile files produced by config.status.
      ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
      their targets are regenerated when the source changes.
      ba6e7232
  31. 07 Feb, 2017 1 commit
    • Paul Eggert's avatar
      Do not trick info/dir’s timestamp · d7134989
      Paul Eggert authored
      * Makefile.in (${srcdir}/info/dir): When making this file, do not
      do anything special about its timestamp.  Previously this rule
      used move-if-change, which meant that this file’s timestamp could
      end up being older than the files it depends on, and this caused
      ‘make --question info’ to fail, which caused ‘make-dist’ to fail
      now that ‘make-dist’ invokes ‘make --question info’.
      d7134989
  32. 08 Jan, 2017 1 commit