[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Optional libraries
Re: Optional libraries
Mon, 19 Sep 2016 19:37:58 +0300
> From: Nikolay Kudryavtsev <address@hidden>
> Date: Mon, 19 Sep 2016 02:05:20 +0300
> I'm currently trying to make sense of the possible optional libraries that
> are used on Windows.
Dependency Walker (http://www.dependencywalker.com/) is your friend.
You can run it for each DLL and see its dependency DLLs.
> Can someone help me document them?
> Here's a list I lifted from emacs-w64 project, with some commentaries added.
I try adding some info below, but I don't have MinGW64 and cannot
check things myself. (I also find many MSYS2 packages bloated with
unneeded stuff, which then requires users to have many redundant DLLs
> libbwinpthread-*.dll ; msys2 built emacs does not work without it? Does not
> exist in official builds...
I believe the MinGW64 GCC produces DLLs that depend on this and on
libgcc_s_seh-*.dll. The package builders should be told to avoid
that, since these 2 dependencies require the corresponding sources be
available (and the sources for libgcc_s_seh-*.dll is the entire 80MB
> libdbus-*.dll ; is there a single legitimate usecase for dbus on windows?
There could be, but Emacs built for Windows doesn't support D-Bus, so
until that support is added, linking with this DLL is futile.
> ;; Image support
> libpng*.dll ; png images
> libtiffxx-*.dll ; tiff images
The last one is for C++ programs, so not needed for Emacs.
> libjpeg-*.dll ; jpeg images
> libgif-*.dll ; gif images
> libXpm-noX*.dll ; xpm images
> ;; rsvg dependencies
> librsvg-*.dll ; svg images
You've missed some rsvg dependencies, which appear under "unknown":
> ;; Gnutls dependencies
> libffi-*.dll ; only needed for msys2-based builds
> libgnutls-openssl-*.dll ; only in Eli's gnutls build
It's in the GnuTLS binary distro, but is not needed for Emacs.
> libgnutlsxx-*.dll ; only in msys2, same library as the previous one, with a
> different name?
No, it's C++ APIs for GnuTLS; again, not needed for Emacs.
> libidn-*.dll ; only needed for msys2-based builds
zlib is also used by Emacs directly.
> ;; Unknown
This one is part of GCC, use the Dependency Walker to see who needs
it, if at all.
This is the XML support library, required for HTML and XML support in
Not sure which DLL needs it, perhaps libxml2?
Perhaps rsvg dependencies?
- Optional libraries, Nikolay Kudryavtsev, 2016/09/18
- Re: Optional libraries,
Eli Zaretskii <=