summaryrefslogtreecommitdiff
path: root/src/emacs.c
diff options
context:
space:
mode:
authorPhilipp Stephani <phst@google.com>2016-03-02 10:21:45 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2016-03-02 10:24:11 -0800
commitd5a18a93270bfc8c36e40910f8520b3738a91f43 (patch)
tree9b1ec350299e142d4431ca7da9d519e80c0ca366 /src/emacs.c
parenta59a4bd47a9435fed49213d9613cce7aba193da7 (diff)
downloademacs-d5a18a93270bfc8c36e40910f8520b3738a91f43.tar.gz
emacs-d5a18a93270bfc8c36e40910f8520b3738a91f43.tar.bz2
emacs-d5a18a93270bfc8c36e40910f8520b3738a91f43.zip
Remove build system name from deterministic dumps
* configure.ac (DETERMINISTIC_DUMP): New configuration option. * lisp/version.el (emacs-build-time): Add a comment to make the build time deterministic if requested. (emacs-build-system): Make variable deterministic if requested. * src/emacs.c (main): Initialize `deterministic-dump' from the configuration option. (syms_of_emacs): New constant `deterministic-dump'. * src/sysdep.c (init_system_name): Use a constant if a deterministic dump is requested.
Diffstat (limited to 'src/emacs.c')
-rw-r--r--src/emacs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/emacs.c b/src/emacs.c
index c512885076c..e7cb4ea4aaa 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -872,6 +872,9 @@ 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,
@@ -2532,6 +2535,13 @@ 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);