unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Corwin Brust <corwin@bru.st>
To: Arash Esbati <arash@gnu.org>
Cc: "H. Dieter Wilhelm" <dieter@duenenhof-wilhelm.de>,
	Eli Zaretskii <eliz@gnu.org>,
	Phillip Lord <phillip.lord@russet.org.uk>,
	Emacs developers <emacs-devel@gnu.org>
Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed
Date: Sun, 30 Jan 2022 16:16:52 -0600	[thread overview]
Message-ID: <CAJf-WoT1vJ9g2Rp9nhw6romVGBtPOnFuF0X=u2pSL7Dy-Eoctw@mail.gmail.com> (raw)
In-Reply-To: <86sft4c3ij.fsf@gnu.org>

Thanks Arash.  This is very helpful.

On Sun, Jan 30, 2022 at 3:34 PM Arash Esbati <arash@gnu.org> wrote:
>
> I'm not tracking this development, so please bear with me.  Is the plan
> to unpack the file emacs-28.0.91-no-deps.zip into, say C:\emacs and
> unpack the .dll from emacs-28-deps.zip[1] into C:\emacs\bin?  If so, I'm

That should work.  Unpacking emacs-28.0.91.zip somewhere should be a
short-cut for that, exactly.

> afraid that the compiled features will not work since dependencies are
> missing in emacs-28-deps.zip, e.g.:
>
> 1)  libgnutls-30.dll has these dependencies:
> Found: C:\path\to\msys64\mingw64\bin\libgnutls-30.dll
> C:\path\to\msys64\mingw64\bin\libgnutls-30.dll
>   C:\path\to\msys64\mingw64\bin\libwinpthread-1.dll
>   C:\path\to\msys64\mingw64\bin\libgcc_s_seh-1.dll
>   C:\path\to\msys64\mingw64\bin\libgmp-10.dll
>   C:\path\to\msys64\mingw64\bin\libhogweed-6.dll
>     C:\path\to\msys64\mingw64\bin\libnettle-8.dll
>   C:\path\to\msys64\mingw64\bin\libidn2-0.dll
>     C:\path\to\msys64\mingw64\bin\libiconv-2.dll
>     C:\path\to\msys64\mingw64\bin\libintl-8.dll
>     C:\path\to\msys64\mingw64\bin\libunistring-2.dll
>   C:\path\to\msys64\mingw64\bin\libp11-kit-0.dll
>     C:\path\to\msys64\mingw64\bin\libffi-7.dll
>   C:\path\to\msys64\mingw64\bin\libtasn1-6.dll
>
> 2)  libharfbuzz-0.dll has these dependencies:
> Found: C:\path\to\msys64\mingw64\bin\libharfbuzz-0.dll
> C:\path\to\msys64\mingw64\bin\libharfbuzz-0.dll
>   C:\path\to\msys64\mingw64\bin\libgcc_s_seh-1.dll
>     C:\path\to\msys64\mingw64\bin\libwinpthread-1.dll
>   C:\path\to\msys64\mingw64\bin\libstdc++-6.dll
>   C:\path\to\msys64\mingw64\bin\libfreetype-6.dll
>     C:\path\to\msys64\mingw64\bin\libbz2-1.dll
>     C:\path\to\msys64\mingw64\bin\libbrotlidec.dll
>       C:\path\to\msys64\mingw64\bin\libbrotlicommon.dll
>     C:\path\to\msys64\mingw64\bin\libharfbuzz-0.dll
>       C:\path\to\msys64\mingw64\bin\libglib-2.0-0.dll
>         C:\path\to\msys64\mingw64\bin\libintl-8.dll
>           C:\path\to\msys64\mingw64\bin\libiconv-2.dll
>         C:\path\to\msys64\mingw64\bin\libpcre-1.dll
>       C:\path\to\msys64\mingw64\bin\libgraphite2.dll
>     C:\path\to\msys64\mingw64\bin\libpng16-16.dll
>       C:\path\to\msys64\mingw64\bin\zlib1.dll
>
> libgcc_s_seh-1.dll is an important one and IIRC, this dependency was the
> one pushing Phillip into packaging the GCC source next to his binaries.
>

IIUC, there is special-casing in the dependency packaging script that
prevents "recursing" exactly this chain:

$ grep -C1 gcc build-dep-zips.py
## Packages to fiddle with
## Source for gcc-libs is part of gcc
SKIP_SRC_PKGS=["mingw-w64-gcc-libs"]
SKIP_DEP_PKGS=["mingw-w64-glib2"]

I surmise people who want TLS (just as, now, people who want
native-comp) must install MSYS2 and place it's bin directory directory
on the windows path before starting Emacs.

If we want source zips to include gcc then we can probably do likewise
for gccjit.  To me, it sounds to if native-comp (and TLS) "just work",
i.e. so people don't need to hand-install MSYS2 to use the
"batteries-included"  versions of the binary distributions for
windows.

I'll do some experimentation.  I'd like to understand what this does
to the packaging times and file sizes. If this is something we are
already sure that we don't want to do, please let me know.

> I checked the dependencies with cygcheck program shipped with Msys2 (and
> snipped the standard Win libraries)
>
> Best, Arash
>
> Footnotes:
> [1]  Files from https://git.sr.ht/~mplscorwin/emacs-w64

Thanks for working on this; I really appreciate your diligence.



  reply	other threads:[~2022-01-30 22:16 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-14 11:36 Bootstrap Compilation Speed phillip.lord
2022-01-14 13:21 ` Eli Zaretskii
2022-01-14 14:16   ` phillip.lord
2022-01-15  9:34 ` Eli Zaretskii
2022-01-15 11:29   ` phillip.lord
2022-01-15 10:29 ` H. Dieter Wilhelm
2022-01-15 11:28   ` phillip.lord
2022-01-15 16:24     ` Corwin Brust
2022-01-15 19:06       ` Native compilation on Windows, was " H. Dieter Wilhelm
2022-01-15 19:15         ` Eli Zaretskii
2022-01-15 19:27           ` H. Dieter Wilhelm
2022-01-16 11:47             ` H. Dieter Wilhelm
2022-01-16 12:13               ` Eli Zaretskii
2022-01-17  9:39                 ` Phillip Lord
2022-01-17 12:35                   ` Eli Zaretskii
2022-01-17 14:07                     ` Phillip Lord
2022-01-17 14:09                       ` Eli Zaretskii
2022-01-17 16:25                       ` H. Dieter Wilhelm
2022-01-17 18:07                         ` Corwin Brust
2022-01-17 18:13                         ` Eli Zaretskii
2022-01-17 20:25                         ` Phillip Lord
2022-01-17 20:46                           ` H. Dieter Wilhelm
2022-01-18 16:38                             ` Phillip Lord
2022-01-18 19:37                               ` H. Dieter Wilhelm
2022-01-18 19:46                                 ` Eli Zaretskii
2022-01-18 21:36                                   ` H. Dieter Wilhelm
2022-01-19  0:02                                     ` Corwin Brust
2022-01-19  7:45                                       ` Eli Zaretskii
2022-01-19 14:26                                         ` Corwin Brust
2022-01-19 14:42                                           ` Eli Zaretskii
2022-01-19 18:38                                         ` Phillip Lord
2022-01-19 14:01                                       ` H. Dieter Wilhelm
2022-01-19 18:59                                         ` H. Dieter Wilhelm
2022-01-19 20:21                                           ` Corwin Brust
2022-01-20  7:12                                             ` H. Dieter Wilhelm
2022-01-20 14:32                                               ` Corwin Brust
2022-01-20 22:56                                                 ` H. Dieter Wilhelm
2022-01-21  6:58                                                   ` Eli Zaretskii
2022-01-21 11:07                                                     ` H. Dieter Wilhelm
2022-01-21 12:04                                                       ` Eli Zaretskii
2022-01-21 19:22                                                         ` H. Dieter Wilhelm
2022-01-21 19:57                                                           ` Eli Zaretskii
2022-01-22 10:30                                                             ` H. Dieter Wilhelm
2022-01-22 10:44                                                               ` Eli Zaretskii
2022-01-25 19:45                                                               ` H. Dieter Wilhelm
2022-01-25 19:56                                                                 ` Eli Zaretskii
2022-01-26 19:49                                                                   ` H. Dieter Wilhelm
2022-01-21 12:21                                                       ` Phillip Lord
2022-01-21 12:51                                                         ` H. Dieter Wilhelm
2022-01-21 12:59                                                           ` Eli Zaretskii
2022-01-21 17:48                                                             ` phillip.lord
2022-01-21 19:36                                                               ` Eli Zaretskii
2022-01-21 19:47                                                                 ` Corwin Brust
2022-01-21 19:58                                                                   ` Eli Zaretskii
2022-01-21 19:58                                                                 ` H. Dieter Wilhelm
2022-01-22 12:52                                                                   ` Phillip Lord
2022-01-22 12:40                                                                 ` Phillip Lord
2022-01-22 12:46                                                                   ` Eli Zaretskii
2022-01-22 17:56                                                                     ` Phillip Lord
2022-01-21  9:05                                                   ` Corwin Brust
2022-01-22 21:51                                                     ` H. Dieter Wilhelm
2022-01-22 22:52                                                       ` Corwin Brust
2022-01-23 21:16                                                         ` H. Dieter Wilhelm
2022-01-24  3:24                                                           ` Eli Zaretskii
2022-01-24  4:17                                                           ` Corwin Brust
2022-01-24 15:43                                                             ` H. Dieter Wilhelm
2022-01-24 16:56                                                               ` Eli Zaretskii
2022-01-24 18:28                                                                 ` H. Dieter Wilhelm
2022-01-24 18:35                                                                   ` Eli Zaretskii
     [not found]                                                                     ` <86czkgztcv.fsf@duenenhof-wilhelm.de>
     [not found]                                                                       ` <83zgnkijfo.fsf@gnu.org>
2022-01-25 10:34                                                                         ` H. Dieter Wilhelm
2022-01-25 12:32                                                                           ` Eli Zaretskii
2022-01-25 13:46                                                                             ` H. Dieter Wilhelm
2022-01-25 13:50                                                                               ` Eli Zaretskii
2022-01-30 11:57                                                                                 ` H. Dieter Wilhelm
2022-01-30 14:12                                                                                   ` Eli Zaretskii
2022-01-30 18:12                                                                                     ` H. Dieter Wilhelm
2022-01-30 18:34                                                                                       ` Eli Zaretskii
2022-01-30 21:31                                                                                         ` H. Dieter Wilhelm
2022-01-25 10:45                                                               ` H. Dieter Wilhelm
2022-01-26  4:40                                                                 ` Corwin Brust
2022-01-19 18:33                                       ` Phillip Lord
2022-01-19  7:28                                     ` Eli Zaretskii
2022-01-19 13:57                                       ` H. Dieter Wilhelm
2022-01-19 14:39                                         ` Eli Zaretskii
2022-01-19 18:48                                           ` Phillip Lord
2022-01-29 21:32                                           ` H. Dieter Wilhelm
2022-01-29 22:01                                             ` Corwin Brust
2022-01-29 22:23                                               ` H. Dieter Wilhelm
2022-01-30  1:58                                                 ` Corwin Brust
2022-01-30 10:13                                                   ` H. Dieter Wilhelm
2022-01-30 10:19                                                     ` Eli Zaretskii
2022-01-30 21:33                                                     ` Arash Esbati
2022-01-30 22:16                                                       ` Corwin Brust [this message]
2022-01-31 10:57                                                         ` Arash Esbati
2022-01-31 15:58                                                           ` H. Dieter Wilhelm
2022-01-31 22:17                                                             ` Corwin Brust
2022-02-01 12:45                                                               ` H. Dieter Wilhelm
2022-02-01 15:28                                                                 ` Óscar Fuentes
2022-02-01 19:26                                                                   ` H. Dieter Wilhelm
2022-02-01 18:38                                                                 ` Arash Esbati
2022-02-01 19:02                                                                   ` H. Dieter Wilhelm
2022-02-01 19:10                                                                     ` Arash Esbati
2022-02-01 19:27                                                                       ` H. Dieter Wilhelm
2022-02-01 21:56                                                                   ` H. Dieter Wilhelm
2022-02-03  3:22                                                                 ` Corwin Brust
2022-02-03  7:10                                                                   ` H. Dieter Wilhelm
2022-02-03  7:47                                                                   ` Eli Zaretskii
2022-02-03 13:57                                                                     ` Corwin Brust
2022-02-03 16:53                                                                       ` Eli Zaretskii
2022-02-03 17:45                                                                         ` Corwin Brust
2022-02-02 22:06                                                               ` Phillip Lord
2022-02-02 23:28                                                                 ` Corwin Brust
2022-02-04 10:12                                                                   ` Phillip Lord
2022-02-02 23:31                                                                 ` Corwin Brust
2022-01-31 12:27                                                         ` Eli Zaretskii
2022-02-02 22:04                                                         ` Phillip Lord
2022-02-02 22:22                                                           ` Corwin Brust
2022-02-04 10:05                                                             ` Phillip Lord
2022-02-03  7:10                                                           ` Eli Zaretskii
2022-02-21 21:59                                                             ` H. Dieter Wilhelm
2022-02-22  3:31                                                               ` Eli Zaretskii
2022-02-23  6:44                                                                 ` H. Dieter Wilhelm
2022-02-23  9:32                                                                   ` Arash Esbati
2022-02-23 18:30                                                                     ` H. Dieter Wilhelm
2022-02-23 12:39                                                                   ` Eli Zaretskii
2022-02-27 10:49                                                                     ` Acquiring dependencies for Windows builds, was: Native compilation on Windows H. Dieter Wilhelm
2022-02-27 11:07                                                                       ` Eli Zaretskii
2022-02-28 21:51                                                                         ` H. Dieter Wilhelm
2022-03-01 13:32                                                                           ` Eli Zaretskii
2022-03-08 15:52                                                                             ` Acquiring dependencies for Windows builds H. Dieter Wilhelm
2022-03-08 16:48                                                                               ` Eli Zaretskii
2022-01-31 12:26                                                       ` Native compilation on Windows, was Re: Bootstrap Compilation Speed Eli Zaretskii
2022-01-30  2:37                                                 ` chad
2022-01-30 12:29                                                   ` H. Dieter Wilhelm
2022-02-01 17:17                                                   ` H. Dieter Wilhelm
2022-02-01 17:53                                                     ` Eli Zaretskii
2022-02-01 18:59                                                       ` H. Dieter Wilhelm
2022-02-01 19:23                                                         ` Eli Zaretskii
2022-02-02 10:36                                                           ` Robert Pluim
2022-02-02 11:28                                                             ` H. Dieter Wilhelm
2022-02-02 12:57                                                             ` Eli Zaretskii
2022-02-02 13:00                                                               ` Robert Pluim
2022-02-02 15:23                                                                 ` H. Dieter Wilhelm
2022-02-02 16:20                                                                   ` Robert Pluim
2022-02-02 17:04                                                                   ` Eli Zaretskii
2022-02-02 17:58                                                                     ` H. Dieter Wilhelm
2022-02-02 18:18                                                                       ` Robert Pluim
2022-02-01 19:00                                                       ` chad
2022-02-01 19:08                                                         ` H. Dieter Wilhelm
2022-02-02 22:12                                                       ` Phillip Lord
2022-02-05 21:46                                                         ` H. Dieter Wilhelm
2022-02-05 23:18                                                           ` Corwin Brust
2022-02-06 15:00                                                             ` Stefan Monnier
2022-02-06 17:21                                                               ` H. Dieter Wilhelm
2022-02-07 12:54                                                                 ` Stefan Monnier
2022-02-09 18:23                                                                   ` H. Dieter Wilhelm
2022-02-09 19:09                                                                     ` Eli Zaretskii
2022-02-09 20:13                                                                     ` Stefan Monnier
2022-02-09 23:32                                                                     ` Corwin Brust
2022-02-10 10:28                                                                     ` Robert Pluim
2022-02-02 21:58                                               ` Phillip Lord
2022-02-02 22:09                                                 ` Corwin Brust
2022-02-03  6:25                                                 ` H. Dieter Wilhelm
2022-02-03 13:30                                                   ` Stefan Monnier
2022-02-05 21:34                                                     ` H. Dieter Wilhelm
2022-01-30  7:59                                             ` Eli Zaretskii
2022-01-19 18:46                                         ` Phillip Lord
2022-01-19 19:25                                           ` H. Dieter Wilhelm
2022-01-19 18:28                                 ` Phillip Lord
2022-01-17  9:44               ` Phillip Lord
2022-01-17 16:08                 ` Óscar Fuentes
2022-01-17 17:23                   ` H. Dieter Wilhelm
2022-01-17 17:46                     ` Óscar Fuentes
2022-01-17 19:09                       ` H. Dieter Wilhelm
2022-01-17 20:21                   ` Phillip Lord
2022-01-18  9:03                     ` Robert Pluim
2022-01-18 14:50                       ` Eli Zaretskii
2022-01-18 15:09                       ` Óscar Fuentes
2022-01-18 16:40                       ` Phillip Lord
2022-01-15 22:14         ` phillip.lord
2022-01-15 22:32           ` H. Dieter Wilhelm
2022-01-16  8:54           ` Eli Zaretskii
2022-01-17  9:34             ` Andrea Corallo
2022-01-17  9:56             ` Phillip Lord
2022-01-17 12:37               ` Eli Zaretskii
2022-01-16 14:31       ` H. Dieter Wilhelm

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to='CAJf-WoT1vJ9g2Rp9nhw6romVGBtPOnFuF0X=u2pSL7Dy-Eoctw@mail.gmail.com' \
    --to=corwin@bru.st \
    --cc=arash@gnu.org \
    --cc=dieter@duenenhof-wilhelm.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=phillip.lord@russet.org.uk \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).