summaryrefslogtreecommitdiff
path: root/src/emacs.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-03-02 10:21:45 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2016-03-02 10:24:11 -0800
commit65f692658e81c940df8b3b315be873840dcef92b (patch)
tree6a1b68cef01af388264cc691ab8bf7ec3daa9cbe /src/emacs.c
parentd5a18a93270bfc8c36e40910f8520b3738a91f43 (diff)
downloademacs-65f692658e81c940df8b3b315be873840dcef92b.tar.gz
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 'src/emacs.c')
-rw-r--r--src/emacs.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/emacs.c b/src/emacs.c
index e7cb4ea4aaa..a381da4fb8f 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -181,6 +181,9 @@ bool noninteractive;
/* True means remove site-lisp directories from load-path. */
bool no_site_lisp;
+/* True means put details like time stamps into builds. */
+bool build_details;
+
/* Name for the server started by the daemon.*/
static char *daemon_name;
@@ -222,6 +225,7 @@ Initialization options:\n\
--display, -d DISPLAY use X server DISPLAY\n\
",
"\
+--no-build-details do not add build details such as time stamps\n\
--no-desktop do not load a saved desktop\n\
--no-init-file, -q load neither ~/.emacs nor default.el\n\
--no-loadup, -nl do not load loadup.el into bare Emacs\n\
@@ -872,9 +876,6 @@ main (int argc, char **argv)
SET_BINARY (fileno (stdout));
#endif /* MSDOS */
- if (DETERMINISTIC_DUMP)
- Vdeterministic_dump = Qt;
-
/* Skip initial setlocale if LC_ALL is "C", as it's not needed in that case.
The build procedure uses this while dumping, to ensure that the
dumped Emacs does not have its system locale tables initialized,
@@ -1192,6 +1193,9 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
no_site_lisp
= argmatch (argv, argc, "-nsl", "--no-site-lisp", 11, NULL, &skip_args);
+ build_details = ! argmatch (argv, argc, "-no-build-details",
+ "--no-build-details", 7, NULL, &skip_args);
+
#ifdef HAVE_NS
ns_pool = ns_alloc_autorelease_pool ();
#ifdef NS_IMPL_GNUSTEP
@@ -1641,6 +1645,7 @@ static const struct standard_args standard_args[] =
{ "-help", "--help", 90, 0 },
{ "-nl", "--no-loadup", 70, 0 },
{ "-nsl", "--no-site-lisp", 65, 0 },
+ { "-no-build-details", "--no-build-details", 63, 0 },
/* -d must come last before the options handled in startup.el. */
{ "-d", "--display", 60, 1 },
{ "-display", 0, 60, 1 },
@@ -2535,13 +2540,6 @@ libraries; only those already known by Emacs will be loaded. */);
Vdynamic_library_alist = Qnil;
Fput (intern_c_string ("dynamic-library-alist"), Qrisky_local_variable, Qt);
- DEFVAR_BOOL ("deterministic-dump", Vdeterministic_dump,
- doc: /* If non-nil, attempt to make dumping deterministic by
-avoiding sources of nondeterminism such as absolute file names, the
-hostname, or timestamps. */);
- Vdeterministic_dump = DETERMINISTIC_DUMP ? Qt : Qnil;
- XSYMBOL (intern_c_string ("deterministic-dump"))->constant = 1;
-
#ifdef WINDOWSNT
Vlibrary_cache = Qnil;
staticpro (&Vlibrary_cache);