unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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



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