emacs-devel
[Top][All Lists]
Advanced

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

Re: Optional libraries


From: Arash Esbati
Subject: Re: Optional libraries
Date: Tue, 28 Feb 2017 12:28:49 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2

Eli Zaretskii <address@hidden> writes:

>> 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.

I had to do this exercise as well lately and I used "cygcheck.exe" which
comes with Msys2 (msys2-runtime).  I configure Emacs with:

./configure
  --with-jpeg --with-xpm --with-png --with-tiff --with-rsvg \
  --with-xml2 --with-gnutls --with-xft \
  --without-imagemagick --without-dbus

Then, the libraries in question will be:

--8<---------------cut here---------------start------------->8---
# mingw-w64-x86_64-libjpeg-turbo
libjpeg-8.dll
libturbojpeg-0.dll

# mingw-w64-x86_64-xpm-nox
libXpm-noX4.dll

# mingw-w64-x86_64-libpng
libpng16-16.dll

# mingw-w64-x86_64-libtiff
libtiff-5.dll
libtiffxx-5.dll

# mingw-w64-x86_64-librsvg
librsvg-2-2.dll

# mingw-w64-x86_64-libxml2
libxml2-2.dll

# mingw-w64-x86_64-gnutls
libgnutls-30.dll
libgnutlsxx-28.dll

# mingw-w64-x86_64-freetype
libfreetype-6.dll
--8<---------------cut here---------------end--------------->8---

If I subtract "libtiffxx-5.dll" and "libgnutlsxx-28.dll" as you wrote,
and "libturbojpeg-0.dll" which is not needed to my understanding, the
net dependencies are:

--8<---------------cut here---------------start------------->8---
libXpm-noX4.dll
libbz2-1.dll
libcairo-2.dll
libcroco-0.6-3.dll
libexpat-1.dll
libffi-6.dll
libfontconfig-1.dll
libfreetype-6.dll
libgcc_s_seh-1.dll
libgdk_pixbuf-2.0-0.dll
libgio-2.0-0.dll
libglib-2.0-0.dll
libgmodule-2.0-0.dll
libgmp-10.dll
libgnutls-30.dll
libgobject-2.0-0.dll
libgraphite2.dll
libharfbuzz-0.dll
libhogweed-4.dll
libiconv-2.dll
libidn-11.dll
libintl-8.dll
libjpeg-8.dll
liblzma-5.dll
libnettle-6.dll
libp11-kit-0.dll
libpango-1.0-0.dll
libpangocairo-1.0-0.dll
libpangoft2-1.0-0.dll
libpangowin32-1.0-0.dll
libpcre-1.dll
libpixman-1-0.dll
libpng16-16.dll
librsvg-2-2.dll
libstdc++-6.dll
libtasn1-6.dll
libtiff-5.dll
libunistring-2.dll
libwinpthread-1.dll
libxml2-2.dll
zlib1.dll
--8<---------------cut here---------------end--------------->8---

>> 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.

libwinpthread-1.dll is also required directly by libgnutls-30.dll.

>> ;; Unknown
>> libgomp-*.dll
>
> This one is part of GCC, use the Dependency Walker to see who needs
> it, if at all.

I think this one is not needed.

>> libexpat-*.dll
>
> Not sure which DLL needs it, perhaps libxml2?

This is the dependency tree:

librsvg-2-2.dll
  libcairo-2.dll
    libfontconfig-1.dll
      libexpat-1.dll

>> liblzma-*.dll

Required by libtiff-5.dll, librsvg-2-2.dll and libxml2-2.dll.

>> libbz2-*.dll

Required by libfontconfig-1.dll (which is required by librsvg-2-2.dll)
and libfreetype-6.dll.

>> libjbig-*.dll

I think this one is not needed.

HTH.  Best, Arash



reply via email to

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