summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in7
-rw-r--r--src/emacs.c18
-rw-r--r--src/lisp.h3
-rw-r--r--src/sysdep.c7
4 files changed, 19 insertions, 16 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 8dcaf7e4759..c290a6082da 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -313,6 +313,9 @@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
RUN_TEMACS = ./temacs
+# Whether builds should contain details. '--no-build-details' or empty.
+BUILD_DETAILS = @BUILD_DETAILS@
+
UNEXEC_OBJ = @UNEXEC_OBJ@
CANNOT_DUMP=@CANNOT_DUMP@
@@ -534,7 +537,7 @@ emacs$(EXEEXT): temacs$(EXEEXT) \
ifeq ($(CANNOT_DUMP),yes)
ln -f temacs$(EXEEXT) $@
else
- LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
+ LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
$(PAXCTL_if_present) -zex $@
ln -f $@ bootstrap-emacs$(EXEEXT)
endif
@@ -740,7 +743,7 @@ bootstrap-emacs$(EXEEXT): temacs$(EXEEXT)
ifeq ($(CANNOT_DUMP),yes)
ln -f temacs$(EXEEXT) $@
else
- $(RUN_TEMACS) --batch --load loadup bootstrap
+ $(RUN_TEMACS) --batch $(BUILD_DETAILS) --load loadup bootstrap
$(PAXCTL_if_present) -zex emacs$(EXEEXT)
mv -f emacs$(EXEEXT) $@
endif
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);
diff --git a/src/lisp.h b/src/lisp.h
index 18d986441f0..9c7955e2bc4 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4132,6 +4132,9 @@ extern bool noninteractive;
/* True means remove site-lisp directories from load-path. */
extern bool no_site_lisp;
+/* True means put details like time stamps into builds. */
+extern bool build_details;
+
/* Pipe used to send exit notification to the daemon parent at
startup. On Windows, we use a kernel event instead. */
#ifndef WINDOWSNT
diff --git a/src/sysdep.c b/src/sysdep.c
index b01c64d52ac..a01bf1d7c10 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1408,11 +1408,10 @@ setup_pty (int fd)
void
init_system_name (void)
{
- if (DETERMINISTIC_DUMP && (might_dump || ! NILP (Vpurify_flag)))
+ if (!build_details)
{
- /* If we're dumping, set the hostname to a literal so that the
- dump is deterministic. */
- Vsystem_name = build_pure_c_string ("elided");
+ /* Set system-name to nil so that the build is deterministic. */
+ Vsystem_name = Qnil;
return;
}
char *hostname_alloc = NULL;