From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "H. Dieter Wilhelm" Newsgroups: gmane.emacs.devel Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed Date: Mon, 21 Feb 2022 22:59:07 +0100 Message-ID: References: <87mtjump5q.fsf@russet.org.uk> <86h7a25nz7.fsf@duenenhof-wilhelm.de> <878rve85yy.fsf@russet.org.uk> <86a6fu3xb2.fsf@duenenhof-wilhelm.de> <87tue1j8x0.fsf@russet.org.uk> <86wniw3kdq.fsf@duenenhof-wilhelm.de> <83tue0u8sh.fsf@gnu.org> <86sftk3evj.fsf@duenenhof-wilhelm.de> <83o848tc92.fsf@gnu.org> <86o8473k13.fsf@duenenhof-wilhelm.de> <83ee53ssbx.fsf@gnu.org> <86sft4c3ij.fsf@gnu.org> <87czk59b7p.fsf@russet.org.uk> <83k0ec5st1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11596"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (windows-nt) Cc: arash@gnu.org, corwin@bru.st, emacs-devel@gnu.org, Phillip Lord To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 21 23:00:20 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nMGjD-0002qI-SP for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Feb 2022 23:00:19 +0100 Original-Received: from localhost ([::1]:54922 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMGjC-0008U5-Jl for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Feb 2022 17:00:18 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:39588) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMGiE-0007i5-Cw for emacs-devel@gnu.org; Mon, 21 Feb 2022 16:59:18 -0500 Original-Received: from mout.kundenserver.de ([212.227.17.10]:52649) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMGiC-0002xz-MA; Mon, 21 Feb 2022 16:59:18 -0500 Original-Received: from VSL7V7PW ([92.116.180.161]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MPosX-1naNLx0B4l-00Ms4y; Mon, 21 Feb 2022 22:59:10 +0100 In-Reply-To: <83k0ec5st1.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 03 Feb 2022 09:10:34 +0200") X-Provags-ID: V03:K1:ZcQjLxmucVouhJ+EmB+50WUvWYwfLkeuKzZ7PBO6hW22tWsqzxw ecCM0vQKdQIoCvQG+a22DF2vgp61elFGv5u1DB+qejx4VjMypgKQfzsJA3ktD0rLfqdgyiz KY9yYTB/vnO8VhOifb6nvtGZie7PWt6rehY/3JIoscmcpU9bjxljMZZalJ+xGnBfnuD0Jia 1NDy0t8b6JdjqOu9bNKjg== X-UI-Out-Filterresults: notjunk:1;V03:K0:3gu+dbVEhRM=:YtdVM3Vs5NIlJfW+c9zoQz Z5m7ypDW9upx8xTyP+mCvgsh/4lMGI0nQ+jZok+9YeMYUQdAfPZUY7584wLMjzlwbC4xrz/w7 3PAWxlCPWvLd3Y4EaRtdfTA15J+zR4ZxpeQgR5mzKqd8iAH4f/20DvABKKZBOBFrSgxosdGEl 55vt0Cl2CdQT6QzYoUCFqx/32oE9MjZiEvZpc5Evus2i5OrtINm0FQCnLSQXV3D2e3fYW4WzP zkWVaAINNBgiOS4YUfT6qbTIZSyYvkUq+LgInmFyDp+pf+sXxSqolhOYZJvQkEDnOcZUJU6Ia UBcaPsh3iLYdWzAsK1w8qKVEGWDAak0TnySGCHHwVWNi4JAjrzuy/sebKbnJipc4ZNK7/zte7 AqHSqx/l3QJA+OsMrZUuopzFN6XCWU9+f6QuAQKKUUuloZWhTK2zcmo+xlhWNqA9/ejknWR/0 QIMYylfFdDBirLWhM/cGGGSxPln9cpHJLdBxbbCotAEQc8qok7SxliargFOGDvn6bonIHYvRm jWd0k9nEwYqtIHJMhtL1loLDr3eOZmIjNlV3qhtWpS8bFXCs4vVRl8RbxiMwcVqe26WuMtUpS MYM434ztjzOyP3ClIvbaK7jC0lI+j8qBdZkPHWeA4RNEr0J1ywMYb0rPWZopbgLB6JWDxg8kt m0QgaIn0u0wAPlU2ol1pQT4a2z88LQjTkbdmU7r7VuSPvn/CgBwZDyOgS5KzF2Yc0XgAwXIF7 +1tpZRu47osPFtgy Received-SPF: none client-ip=212.227.17.10; envelope-from=dieter@duenenhof-wilhelm.de; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:286572 Archived-At: Eli Zaretskii writes: >> From: Phillip Lord >> Cc: Arash Esbati , "H. Dieter Wilhelm" >> , Eli Zaretskii , Emacs >> developers >> Date: Wed, 02 Feb 2022 22:04:42 +0000 >> >> If I remember correctly, this is because the msys dependency tree is >> not totally reliable. >> >> At the time, I was trying hard to decrease the binary >> size. Unfortuately, the msys tree is an "at most" dependency rather than >> an "at least"; so, it's very easy to find that, again, you've pulled in >> half of msys2 which is not the intention. >> >> Hence this skipping. > > I can suggest a way to find all the actual dependencies of a set of > *.exe programs and DLLs by using only the standard tools, and > is thus very reliable. The command to use is this: > > objdump -p *.exe *.dll | fgrep "DLL Name:" | gawk " {print $3, $4, $5}" | sort -u > > Run this in the 'bin/' directory where you have executable programs > and DLLs, and it will show a sorted list of all the DLLs needed by > those programs and DLLs. You will need to recognize and ignore any > system DLLs, such as msvcrt.dll, KERNEL32.dll, USER32.dll, WS2_32.dll > etc. in the list; for the rest, make sure every one of them is in the > same 'bin/' directory. Each time you add some DLL to the 'bin/' > directory, re-run the above command again, because adding DLLs can > potentially add dependencies. Repeat this process until all the DLLs > shown by the command are in the same directory: then you are done. When trying above iterative approach, I just find libgmp and after adding libgmp-10.dll to the folder there are no further dependencies to see!? uidg1626@VSL7V7PW MINGW64 ~/emacs-build/build/emacs-28.0.91/bin $ objdump.exe -p *.exe *.dll |grep "DLL Name"|sort -u DLL Name: ADVAPI32.dll DLL Name: COMCTL32.dll DLL Name: GDI32.dll DLL Name: KERNEL32.dll DLL Name: MPR.dll DLL Name: SHELL32.dll DLL Name: USER32.dll DLL Name: USP10.dll DLL Name: WINMM.dll DLL Name: WINSPOOL.DRV DLL Name: WSOCK32.dll DLL Name: comdlg32.dll DLL Name: libgmp-10.dll DLL Name: msvcrt.dll DLL Name: ole32.dll Thank you Dieter