[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed
From: |
H. Dieter Wilhelm |
Subject: |
Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed |
Date: |
Mon, 21 Feb 2022 22:59:07 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (windows-nt) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Phillip Lord <phillip.lord@russet.org.uk>
>> Cc: Arash Esbati <arash@gnu.org>, "H. Dieter Wilhelm"
>> <dieter@duenenhof-wilhelm.de>, Eli Zaretskii <eliz@gnu.org>, Emacs
>> developers <emacs-devel@gnu.org>
>> 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
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, (continued)
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/02/02
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Corwin Brust, 2022/02/02
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Eli Zaretskii, 2022/02/03
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed,
H. Dieter Wilhelm <=
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Eli Zaretskii, 2022/02/21
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, H. Dieter Wilhelm, 2022/02/23
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Arash Esbati, 2022/02/23
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, H. Dieter Wilhelm, 2022/02/23
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Eli Zaretskii, 2022/02/23
- Re: Acquiring dependencies for Windows builds, was: Native compilation on Windows, H. Dieter Wilhelm, 2022/02/27
- Re: Acquiring dependencies for Windows builds, was: Native compilation on Windows, Eli Zaretskii, 2022/02/27
- Re: Acquiring dependencies for Windows builds, was: Native compilation on Windows, H. Dieter Wilhelm, 2022/02/28
Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/02/02