emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed


From: Eli Zaretskii
Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed
Date: Tue, 22 Feb 2022 05:31:49 +0200

> From: "H. Dieter Wilhelm" <dieter@duenenhof-wilhelm.de>
> Cc: Phillip Lord <phillip.lord@russet.org.uk>,  arash@gnu.org,
>   corwin@bru.st,  emacs-devel@gnu.org
> Date: Mon, 21 Feb 2022 22:59:07 +0100
> 
> > 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

The dependency on the optional DLLs is implicit, because Emacs loads
them dynamically at run time.  You need to place the DLLs mentioned in
dynamic-library-alist defined in w32-win.el in the bin/ directory, and
_then_ repeat the process.  That's because we are talking about the
dependencies of those dynamically-loaded DLLs.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]