aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorPaul Eggert2016-03-02 10:21:45 -0800
committerPaul Eggert2016-03-02 10:24:11 -0800
commit65f692658e81c940df8b3b315be873840dcef92b (patch)
tree6a1b68cef01af388264cc691ab8bf7ec3daa9cbe /doc
parentd5a18a93270bfc8c36e40910f8520b3738a91f43 (diff)
downloademacs-65f692658e81c940df8b3b315be873840dcef92b.tar.gz
emacs-65f692658e81c940df8b3b315be873840dcef92b.zip
Deterministic build improvements
* configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP, and negate its sense. Use it via AC_SUBST, not AC_DEFINE, and have its value be either empty or --no-build-details. All uses changed. Change option to --disable-build-details. * doc/lispref/cmdargs.texi (Initial Options): Document --no-build-details. * doc/lispref/internals.texi (Building Emacs): * etc/NEWS: Document --disable-build-details. * doc/lispref/intro.texi (Version Info): Say that emacs-build-time can be nil. * lisp/erc/erc-compat.el (erc-emacs-build-time): Now nil if details are omitted. * lisp/erc/erc.el (erc-cmd-SV): * lisp/version.el (emacs-build-time): Now nil if no build details. (emacs-version): Output build time only if build details. * src/Makefile.in (BUILD_DETAILS): New macro. (temacs, bootstrap-emacs): Use it. * src/emacs.c (build_details): New var. (standard_args, main): Support --no-build-details. (Vdeterministic_dump): Remove; all uses replaced by !build_details. (syms_of_emacs): Set Vbuild_details to a boolean, not to a Lisp_Object. * src/lisp.h (build_details): New decl. * src/sysdep.c (init_system_name): When !build_details, set system-name to nil, not to "elided".
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/cmdargs.texi7
-rw-r--r--doc/lispref/internals.texi10
-rw-r--r--doc/lispref/intro.texi3
3 files changed, 19 insertions, 1 deletions
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
index a842cb84abd..646c8da1bb8 100644
--- a/doc/emacs/cmdargs.texi
+++ b/doc/emacs/cmdargs.texi
@@ -283,6 +283,13 @@ which will invoke Emacs with @samp{--script} and supply the name of
283the script file as @var{file}. Emacs Lisp then treats the @samp{#!} 283the script file as @var{file}. Emacs Lisp then treats the @samp{#!}
284on this first line as a comment delimiter. 284on this first line as a comment delimiter.
285 285
286@item --no-build-details
287@opindex --no-build-details
288@cindex build details
289@cindex deterministic build
290Omit details like system name and build time from the Emacs executable,
291so that builds are more deterministic.
292
286@item -q 293@item -q
287@opindex -q 294@opindex -q
288@itemx --no-init-file 295@itemx --no-init-file
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 41064df5a28..fedef3d7f46 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -66,6 +66,16 @@ into the dumped Emacs. If you port Emacs to a new operating system,
66and are not able to implement dumping, then Emacs must load 66and are not able to implement dumping, then Emacs must load
67@file{loadup.el} each time it starts. 67@file{loadup.el} each time it starts.
68 68
69@cindex build details
70@cindex deterministic build
71@cindex @option{--disable-build-details} option to @command{configure}
72 By default the dumped @file{emacs} executable records details such
73as the build time and host name. Use the
74@option{--disable-build-details} option of @command{configure} to
75suppress these details, so that building and installing Emacs twice
76from the same sources is more likely to result in identical copies of
77Emacs.
78
69@cindex @file{site-load.el} 79@cindex @file{site-load.el}
70 You can specify additional files to preload by writing a library named 80 You can specify additional files to preload by writing a library named
71@file{site-load.el} that loads them. You may need to rebuild Emacs 81@file{site-load.el} that loads them. You may need to rebuild Emacs
diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi
index 0f42d4d8a7f..2f84aeee39e 100644
--- a/doc/lispref/intro.texi
+++ b/doc/lispref/intro.texi
@@ -494,7 +494,8 @@ giving a prefix argument makes @var{here} non-@code{nil}.
494@defvar emacs-build-time 494@defvar emacs-build-time
495The value of this variable indicates the time at which Emacs was 495The value of this variable indicates the time at which Emacs was
496built. It is a list of four integers, like the value of 496built. It is a list of four integers, like the value of
497@code{current-time} (@pxref{Time of Day}). 497@code{current-time} (@pxref{Time of Day}), or is @code{nil}
498if the information is not available.
498 499
499@example 500@example
500@group 501@group