From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Arash Esbati Newsgroups: gmane.emacs.devel Subject: Re: Optional libraries Date: Tue, 28 Feb 2017 12:28:49 +0100 Message-ID: <86shmyv9ji.fsf@gnu.org> References: <95a38ffc-8958-8afa-4ccc-e34616bf83e2@gmail.com> <83wpi7hml5.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1488281385 19230 195.159.176.226 (28 Feb 2017 11:29:45 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 28 Feb 2017 11:29:45 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 Cc: Nikolay Kudryavtsev , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 28 12:29:40 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cifyN-0004Tu-Nc for ged-emacs-devel@m.gmane.org; Tue, 28 Feb 2017 12:29:39 +0100 Original-Received: from localhost ([::1]:60368 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cifyT-0006tj-P5 for ged-emacs-devel@m.gmane.org; Tue, 28 Feb 2017 06:29:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51847) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cifyJ-0006rh-Dt for emacs-devel@gnu.org; Tue, 28 Feb 2017 06:29:36 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cifyG-0001L3-B8 for emacs-devel@gnu.org; Tue, 28 Feb 2017 06:29:35 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45913) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cifyG-0001Kv-8P; Tue, 28 Feb 2017 06:29:32 -0500 Original-Received: from p54aceaaa.dip0.t-ipconnect.de ([84.172.234.170]:52325 helo=MUTANT) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.82) (envelope-from ) id 1cifyF-0003et-Gv; Tue, 28 Feb 2017 06:29:31 -0500 In-Reply-To: <83wpi7hml5.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 19 Sep 2016 19:37:58 +0300") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:212645 Archived-At: Eli Zaretskii writes: >> From: Nikolay Kudryavtsev >> 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