[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: |
Wed, 23 Feb 2022 07:44:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (windows-nt) |
Eli Zaretskii <eliz@gnu.org> writes:
>> 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.
I see, thank you for this concrete recipe.
I'm a bit baffled, why is in dynamic-library-alist no harfbuzz but
gccjit, gdiplus and shlwapi are there which seem not to be included in
the list of mingw packages mentioned in README.W64?
Emacs-28.0.91
dynamic-library-alist nt/README.W64
(
(xpm "libxpm.dll" "xpm4.dll" "libXpm-nox4.dll") mingw-w64-x86_64-xpm-nox
\
(tiff "libtiff-5.dll" "libtiff3.dll" "libtiff.dll") mingw-w64-x86_64-libtiff
\
(gif "libgif-7.dll") mingw-w64-x86_64-giflib
\
(png "libpng16.dll" "libpng16-16.dll") mingw-w64-x86_64-libpng
\
(jpeg "libjpeg-8.dll")
mingw-w64-x86_64-libjpeg-turbo \
(svg "librsvg-2-2.dll") mingw-w64-x86_64-librsvg
\
(lcms2 "liblcms2-2.dll") mingw-w64-x86_64-lcms2 \
(json "libjansson-4.dll") mingw-w64-x86_64-jansson
\
(libxml2 "libxml2-2.dll" "libxml2.dll") mingw-w64-x86_64-libxml2
\
(gnutls "libgnutls-30.dll") mingw-w64-x86_64-gnutls
\
(zlib "zlib1.dll" "libz-1.dll") mingw-w64-x86_64-zlib \
mingw-w64-x86_64-harfbuzz
(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
(glib "libglib-2.0-0.dll")
(gio "libgio-2.0-0.dll")
(gobject "libgobject-2.0-0.dll")
;; below DLLs are not part of Emacs-28.0.91 for Windows!
(gccjit "libgccjit-0.dll")
(gdiplus "gdiplus.dll")
(shlwapi "shlwapi.dll")
)
Are gdiplus and shlwapi somehow missing in the current Emacs Windows
distribution? (Existing ert tests don't indicate that.)
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, 2022/02/21
- 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 <=
- 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