unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Corwin Brust <corwin@bru.st>
To: "H. Dieter Wilhelm" <dieter@duenenhof-wilhelm.de>
Cc: Arash Esbati <arash@gnu.org>,
	Phillip Lord <phillip.lord@russet.org.uk>,
	Eli Zaretskii <eliz@gnu.org>,
	Emacs developers <emacs-devel@gnu.org>
Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed
Date: Wed, 2 Feb 2022 21:22:37 -0600	[thread overview]
Message-ID: <CAJf-WoQh93OG=rLTry-Vfw740uCX6PxDMGiwR-itiupMdqUd3g@mail.gmail.com> (raw)
In-Reply-To: <864k5iwyaa.fsf@duenenhof-wilhelm.de>

[-- Attachment #1: Type: text/plain, Size: 1850 bytes --]

Ahoy Dieter!

On Tue, Feb 1, 2022 at 6:45 AM H. Dieter Wilhelm
<dieter@duenenhof-wilhelm.de> wrote:
>
> I realised that ntldd.exe doesn't show any msys/mingw dependencies at
> all, only Windows stuff! -> So I removed all Windows references from
> PATH.  (Don't ask me why ntldd searches Windows paths first.)
>
> Then, it seem's, that the msys/mingw people changed the tree layout of
> their files!  When I'm changing "msys64" with "mingw64" in
> build-dep-zips.py:
[snip]
>           ## if len(splt) > 2 and "msys64" in splt[2]:
>           if len(splt) > 2 and "mingw64" in splt[2]:

With this, we are much closer.   New set is uploaded to the
with-native-compilation folder in the usual Not Sure If We Are Ready
For Prime Time location[1].

This version has 62 DLLs as were listed in the txt file attached to my
recent reply to to Phil in this same thread.  I still need to review
those against the 77 you reported from 27.2 but that's not going to be
tonight.

Meanwhile, I tested these (using the zip with deps version) on kiddos
gaming rig and verified that the tests from w32-feature pass,
package-refresh-package works, and various types of image load.  I
also checked with ProcessExplorer that I'm not loading DLLs except
those provided with the dist and those under some windows/system path.

As an interesting aside:  I see that it *is* loading the natively
compiled sources that were build and packaged with Emacs.  This is
despite getting a nil return from `native-comp-avialable-p', which
suggests that even people without a local libgccjit+gcc (e.g. a
working MSYS) can benefit from (the bundled) nativly compiled sources
we distribute.  [[stroking chin myscheviously]]

Please let me know if you think these are ready to push to alpha.

Attached are dffs for admin/nt/dist-build thus far.

[1] https://git.sr.ht/~mplscorwin/emacs-w64

[-- Attachment #2: emacs-28-nt-dist-build.patch --]
[-- Type: application/octet-stream, Size: 2865 bytes --]

diff --git a/admin/nt/dist-build/build-dep-zips.py b/admin/nt/dist-build/build-dep-zips.py
index c27045a001..9b8492ff0e 100755
--- a/admin/nt/dist-build/build-dep-zips.py
+++ b/admin/nt/dist-build/build-dep-zips.py
@@ -37,6 +37,7 @@
 mingw-w64-x86_64-librsvg
 mingw-w64-x86_64-libtiff
 mingw-w64-x86_64-libxml2
+mingw-w64-x86_64-gmp
 mingw-w64-x86_64-xpm-nox'''.split()
 
 DLL_REQ='''libgif
@@ -49,7 +50,9 @@
 librsvg
 libtiff
 libxml
-libXpm'''.split()
+libgmp
+libXpm
+libXpm-noX4'''.split()
 
 
 ## Options
@@ -101,7 +104,7 @@ def ntldd_munge(out):
 
         ## if it's the former, we want it, if its the later we don't
         splt = dep.split()
-        if len(splt) > 2 and "msys64" in splt[2]:
+        if len(splt) > 2 and "mingw64" in splt[2]:
             print("Adding dep", splt[0])
             rtn.append(splt[0].split(".")[0])
 
@@ -121,7 +124,7 @@ def ntldd_munge(out):
 
 ## Currently no packages seem to require this!
 ARCH_PKGS=[]
-SRC_REPO="https://sourceforge.net/projects/msys2/files/REPOS/MINGW/Sources"
+SRC_REPO="https://repo.msys2.org/mingw/sources"
 
 
 def immediate_deps(pkg):
@@ -167,7 +170,7 @@ def download_source(tarball):
     if not os.path.exists("../emacs-src-cache/{}".format(tarball)):
         print("Downloading {}...".format(tarball))
         check_output_maybe(
-            "wget -a ../download.log -O ../emacs-src-cache/{} {}/{}/download"
+            "wget -a ../download.log -O ../emacs-src-cache/{} {}/{}"
             .format(tarball, SRC_REPO, tarball),
             shell=True
         )
diff --git a/admin/nt/dist-build/build-zips.sh b/admin/nt/dist-build/build-zips.sh
index 77d20a5a7b..fc3c40d691 100755
--- a/admin/nt/dist-build/build-zips.sh
+++ b/admin/nt/dist-build/build-zips.sh
@@ -47,13 +47,15 @@
     then
         echo [build] Configuring Emacs
         $REPO_DIR/$BRANCH/configure \
+	    --with-json \
             --without-dbus \
+            --with-native-compilation \
             --without-compress-install \
             $CACHE \
-            CFLAGS="$CFLAGS"
+            CFLAGS="$CFLAGS" 
     fi
 
-    make -j 4 $INSTALL_TARGET \
+    make -j 20 $INSTALL_TARGET \
          prefix=$HOME/emacs-build/install/emacs-$VERSION
     cd $HOME/emacs-build/install/emacs-$VERSION
     zip -r -9 emacs-$OF_VERSION-no-deps.zip *
@@ -96,7 +98,7 @@ BUILD=
 BUILD_64=1
 GIT_UP=0
 CONFIG=1
-CFLAGS="-O2 -static"
+CFLAGS="-O2"
 INSTALL_TARGET="install-strip"
 
 ## The location of the git repo
@@ -125,7 +127,7 @@ REPO_DIR=
         ;;
     s)
         SNAPSHOT="-snapshot"
-        CFLAGS="-O2 -static -g3"
+        CFLAGS="-O2 -g3"
         INSTALL_TARGET="install"
         ;;
     h)
@@ -191,7 +193,7 @@ OF_VERSION=
     OF_VERSION="$VERSION-`date +%Y-%m-%d`"
     ## Use snapshot dependencies
     SNAPSHOT=1
-    CFLAGS="-O2 -static -g3"
+    CFLAGS="-O2 -g3"
     INSTALL_TARGET="install"
 fi
 

  parent reply	other threads:[~2022-02-03  3:22 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
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 [this message]
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-WoQh93OG=rLTry-Vfw740uCX6PxDMGiwR-itiupMdqUd3g@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).