[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Avoid duplicate emacs.exe / emacs-$version.exe
From: |
Juan José García-Ripoll |
Subject: |
Re: Avoid duplicate emacs.exe / emacs-$version.exe |
Date: |
Sun, 29 Mar 2020 11:38:08 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (windows-nt) |
So let me pause here and retrace this discussion, because I feel like
the cat that is chasing the red pointer with you guys.
- My original question was: what is the official build process for
making standalone Emasc packages, so as to reproduce the content of
the official distros and understand what goes in. That is in a
separate thread.
- The reply to that answer was to look into admin/nt/ where there are
instructions and two scripts, one for pulling dependencies and another
one for the build
- After reproducing those steps, I end up with zips and installers. The
current official distribution of 26.3 has no installer. Only zips. The
instruction is to unzip those packages.
- Unzipping either the official distro or the ZIPs that are built with
the instructions I was provided creates two identical executables, not
a hard link. This can be checked with Windows's fsutil (see below)
- Phillip's statement is that really this does not matter because the
pretest builds show stripping the executables brings their size down
to 6Mb. I verified this and I verified that this is true also for the
26.3 build.
- Eli's claiming that i) those executables are dynamically linked and
that ii) emacs.exe and emacs-27.0.90.exe (or emacs-26.3.exe in the
previous release) are not two files, but two hard-linked copies.
Now, there are two different lines of thought that diverge: i) the issue
of dynamic linking, ii) the issue of whether the two executables are the
same.
Regarding i)
- I have verified that the distro build process reported in admin/nt
starts with CFLAGS="-O2 -static" by default. Some options change it
to CFLAGS="-O3 -static -g", but the -static flag is never dropped.
Regarding ii)
- I have verified that the files are not hard links. Actually, runing
"configure" with the official sources produces this in config.status
S["LN_S_FILEONLY"]="/bin/ln -s"
so there is no way this is going to create hard links. This is also
true in the case of the builds created with the procedure from
emacs/admin/nt This makes sense for msys/mingw because in general
there may be out there file systems which are still FAT-based and do
not support hard links.
Now I get this reply, which I merge from a different line in the thread
Eli Zaretskii <address@hidden> writes:
>> Just a side note: the build-zips.sh script that makes the Windows
>> distribution files always uses the flag -static when building emacs.
> I don't think the build should use that. It is certainly not the
> default.
So where is the default? Is the default build process not the one in
emacs/admin/nt or, in case one builds from sources without creating zip
files, the one in emacs/nt/? I am reporting data from running those two
procedures. If you are claiming I am not doing the standard thing, where
is the standard thing?
Apologies if I may sometimes sound rude, but I am committing my workflow
and part of my group's to Emacs for various reasons (org-mode, latex, ebib,
etc) and I would like to contribute make the upcoming releases work
nicely with our systems.
Best,
--- checking hard links ---
Official 26.3 distro:
$ fsutil hardlink list emacs.exe
\Users\juanj\emacs-26.3\bin\emacs.exe
$ fsutil hardlink list emacs-26.3.exe
\Users\juanj\emacs-26.3\bin\emacs-26.3.exe
Pretest 27.0.90 installer:
$ fsutil hardlink list emacs.exe
\Users\juanj\emacs-pretest\bin\emacs.exe
$ fsutil hardlink list emacs-27.0.90.exe
\Users\juanj\emacs-pretest\bin\emacs-27.0.90.exe
Emacs built from sources:
$ fsutil hardlink list emacs.exe
\Users\juanj\emacs-27\bin\emacs.exe
$ fsutil hardlink list emacs-27.0.90.exe
\Users\juanj\emacs-27\bin\emacs-27.0.90.exe
etc, etc.
--
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es
Re: Avoid duplicate emacs.exe / emacs-$version.exe, Eli Zaretskii, 2020/03/28
Re: Avoid duplicate emacs.exe / emacs-$version.exe, Eli Zaretskii, 2020/03/28
Re: Avoid duplicate emacs.exe / emacs-$version.exe, Phillip Lord, 2020/03/29