all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Juan José García-Ripoll" <juanjose.garciaripoll@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: Avoid duplicate emacs.exe / emacs-$version.exe
Date: Sun, 29 Mar 2020 11:38:08 +0200	[thread overview]
Message-ID: <86ftdrxzzz.fsf@csic.es> (raw)
In-Reply-To: 83o8sf6ge3.fsf@gnu.org

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 <eliz@gnu.org> 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




  reply	other threads:[~2020-03-29  9:38 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-28 16:53 Avoid duplicate emacs.exe / emacs-$version.exe Juan José García-Ripoll
2020-03-28 18:19 ` Eli Zaretskii
2020-03-28 20:41   ` Juan José García-Ripoll
2020-03-28 22:45     ` Phillip Lord
2020-03-29  2:31     ` Eli Zaretskii
2020-03-29  9:38       ` Juan José García-Ripoll [this message]
2020-03-29 13:08         ` Phillip Lord
2020-03-29 14:10         ` Eli Zaretskii
2020-03-28 18:19 ` Eli Zaretskii
2020-03-28 20:13   ` Phillip Lord
2020-03-28 20:48     ` Juan José García-Ripoll
2020-03-28 22:22       ` Phillip Lord
2020-03-28 23:36         ` Juan José García-Ripoll
2020-03-29 12:55           ` Phillip Lord
2020-03-29  2:27     ` Eli Zaretskii
2020-03-29 12:52       ` Phillip Lord
2020-03-29 13:56         ` Eli Zaretskii
2020-03-29 17:25           ` Phillip Lord
2020-03-28 23:36   ` Juan José García-Ripoll
2020-03-29  2:36     ` Eli Zaretskii
2020-03-29 12:59       ` Phillip Lord
2020-03-29 13:59         ` Eli Zaretskii
2020-03-29 18:18           ` Phillip Lord
2020-03-29 18:34             ` Eli Zaretskii
2020-03-29 20:49               ` Phillip Lord
  -- strict thread matches above, loose matches on Subject: below --
2020-03-29 17:01 Angelo Graziosi
2020-03-29 17:22 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86ftdrxzzz.fsf@csic.es \
    --to=juanjose.garciaripoll@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.