From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] ImageMagick Support on Windows Date: Mon, 13 Oct 2014 12:29:21 +0300 Message-ID: <83siis71xq.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1413192603 20997 80.91.229.3 (13 Oct 2014 09:30:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 13 Oct 2014 09:30:03 +0000 (UTC) Cc: emacs-devel@gnu.org To: Alexander Shukaev Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 13 11:29:57 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Xdbwv-0006Q4-0p for ged-emacs-devel@m.gmane.org; Mon, 13 Oct 2014 11:29:53 +0200 Original-Received: from localhost ([::1]:60962 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xdbwu-0005tz-Kr for ged-emacs-devel@m.gmane.org; Mon, 13 Oct 2014 05:29:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45382) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xdbwe-0005tn-5A for emacs-devel@gnu.org; Mon, 13 Oct 2014 05:29:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XdbwY-000661-T2 for emacs-devel@gnu.org; Mon, 13 Oct 2014 05:29:36 -0400 Original-Received: from mtaout25.012.net.il ([80.179.55.181]:57704) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XdbwY-00065i-L0 for emacs-devel@gnu.org; Mon, 13 Oct 2014 05:29:30 -0400 Original-Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NDD00100LXP0J00@mtaout25.012.net.il> for emacs-devel@gnu.org; Mon, 13 Oct 2014 12:24:43 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NDD00M1ZM57TM40@mtaout25.012.net.il>; Mon, 13 Oct 2014 12:24:43 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.181 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:175320 Archived-At: > From: Alexander Shukaev > To: emacs-diffs@gnu.org > Date: Mon, 13 Oct 2014 10:55:41 +0200 > > Recently I've written to another list that I would be preparing high-quality > feature-rich 32-bit and 64-bit builds of Emacs for Windows in 2 variants: > standalone and as MSYS2 package. Here is my first patch to allow dynamic > linking with ImageMagick runtimes. Thanks. First, please send patches either to emacs-devel@gnu.org or bug-gnu-emacs@gnu.org. The emacs-diffs list is not normally used for discussions, it is where the diffs from commits are sent by the VCS. Now about your patch: in a nutshell, it misses a few more bits necessary to get ImageMagick support in Emacs to work well on Windows. The missing parts are: . configure.ac needs changes to revert IMAGEMAGICK_LIBS to empty value, because otherwise src/Makefile will cause Emacs binary to be linked against the ImageMagick libraries, and the resulting binary will then refuse to start if the corresponding DLL is not available at run time. You can see the example of how we do that with librsvg. . dynamic-library-alist in w32-win.el should acquire an element required for Emacs to know which DLL(s) to look for when ImageMagick support is first required. . If there are several ImageMagick versions out there whose DLLs are not binary compatible, you will need to add version checking, both on init_imagemagick_functions and in dynamic-library-alist, similarly to what we already do with some other image libraries, like libgif, libjpeg, etc. Thanks again for working on this.