Support builds configured with a separate --bindir
* src/emacs.c (load_pdump): Don't overwrite the leading directories of the Emacs executable just because the pdumper file was not found in the expected directory relative to the binary. This is needed to support builds with a separate --bindir configure-time option and native-compilation. (Bug#55741)
This commit is contained in:
parent
cf4c204df8
commit
2eb738f2b8
1 changed files with 16 additions and 12 deletions
28
src/emacs.c
28
src/emacs.c
|
@ -940,20 +940,24 @@ load_pdump (int argc, char **argv)
|
|||
sprintf (dump_file, "%s%c%s%s",
|
||||
path_exec, DIRECTORY_SEP, argv0_base, suffix);
|
||||
#if !defined (NS_SELF_CONTAINED)
|
||||
/* Assume the Emacs binary lives in a sibling directory as set up by
|
||||
the default installation configuration. */
|
||||
const char *go_up = "../../../../bin/";
|
||||
needed += (strip_suffix ? strlen (strip_suffix) : 0)
|
||||
- strlen (suffix) + strlen (go_up);
|
||||
if (exec_bufsize < needed)
|
||||
if (!(emacs_executable && *emacs_executable))
|
||||
{
|
||||
xfree (emacs_executable);
|
||||
emacs_executable = xpalloc (NULL, &exec_bufsize, needed - exec_bufsize,
|
||||
-1, 1);
|
||||
/* If we didn't find the Emacs binary, assume that it lives in a
|
||||
sibling directory as set up by the default installation
|
||||
configuration. */
|
||||
const char *go_up = "../../../../bin/";
|
||||
needed += (strip_suffix ? strlen (strip_suffix) : 0)
|
||||
- strlen (suffix) + strlen (go_up);
|
||||
if (exec_bufsize < needed)
|
||||
{
|
||||
xfree (emacs_executable);
|
||||
emacs_executable = xpalloc (NULL, &exec_bufsize,
|
||||
needed - exec_bufsize, -1, 1);
|
||||
}
|
||||
sprintf (emacs_executable, "%s%c%s%s%s",
|
||||
path_exec, DIRECTORY_SEP, go_up, argv0_base,
|
||||
strip_suffix ? strip_suffix : "");
|
||||
}
|
||||
sprintf (emacs_executable, "%s%c%s%s%s",
|
||||
path_exec, DIRECTORY_SEP, go_up, argv0_base,
|
||||
strip_suffix ? strip_suffix : "");
|
||||
#endif
|
||||
result = pdumper_load (dump_file, emacs_executable);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue