From: Arash Esbati <arash@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>, emacs-devel@gnu.org
Subject: Re: Optional libraries
Date: Tue, 28 Feb 2017 12:28:49 +0100 [thread overview]
Message-ID: <86shmyv9ji.fsf@gnu.org> (raw)
In-Reply-To: <83wpi7hml5.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 19 Sep 2016 19:37:58 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
>> 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
prev parent reply other threads:[~2017-02-28 11:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-18 23:05 Optional libraries Nikolay Kudryavtsev
2016-09-19 16:37 ` Eli Zaretskii
2017-02-28 11:28 ` Arash Esbati [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86shmyv9ji.fsf@gnu.org \
--to=arash@gnu.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=nikolay.kudryavtsev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).