From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Fabrice Popineau Newsgroups: gmane.emacs.devel Subject: Re: 64-bit build on Windows Date: Sun, 22 Jan 2017 21:38:39 +0100 Message-ID: References: <874m0tc0gn.fsf@russet.org.uk> <87efzxn6or.fsf@wanadoo.es> <83y3y5681f.fsf@gnu.org> <83h94s5kzi.fsf@gnu.org> <838tq45gsk.fsf@gnu.org> <83vat73uoc.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=94eb2c1b45d2774f3b0546b4df5c X-Trace: blaine.gmane.org 1485117604 21195 195.159.176.226 (22 Jan 2017 20:40:04 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 22 Jan 2017 20:40:04 +0000 (UTC) Cc: =?UTF-8?Q?=C3=93scar_Fuentes?= , Juanma Barranquero , Emacs developers To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 22 21:39:59 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 1cVOvO-0003jr-GZ for ged-emacs-devel@m.gmane.org; Sun, 22 Jan 2017 21:39:42 +0100 Original-Received: from localhost ([::1]:37642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cVOvT-0008DR-L0 for ged-emacs-devel@m.gmane.org; Sun, 22 Jan 2017 15:39:47 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53747) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cVOuo-0008DK-PQ for emacs-devel@gnu.org; Sun, 22 Jan 2017 15:39:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cVOun-0002Ru-OD for emacs-devel@gnu.org; Sun, 22 Jan 2017 15:39:06 -0500 Original-Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:35016) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cVOuj-0002QM-T4; Sun, 22 Jan 2017 15:39:02 -0500 Original-Received: by mail-wm0-x232.google.com with SMTP id r126so106293025wmr.0; Sun, 22 Jan 2017 12:39:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=F8gAMqn5/72R4CinFS2N3KaOBpQ5tJTuMKCwE0VFqHo=; b=jv0ej1LQbGOwQX99DARofrYjByvjLIg2cTsItsunwKjekJNKVYzStXNzBJ6unK+tVN OQFYHqjjbVt+qllf08yfhvKi0/3pBoCcNDILFis0DXiaB9duqLEJVyW2M3b8R1P7YVUu pQkilM35bDwmeYeENdXsCfr4hQyGf/zxyLJvzqWFv9YnLKQcnP83roqnLVWBP9mAcaqO sroCW5i6Xv0b79YTjpfSLu3O6Ogh2NsD+mYYtlcX3hkrx1RoFbjFy0O3EaaLzJOS3W2+ mk5Vj2KhHoN8eAUO5mk92FqDYjFghhhzYMemotr/0pxhlbihbHvucCbUw/QVehbLrciS /iDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=F8gAMqn5/72R4CinFS2N3KaOBpQ5tJTuMKCwE0VFqHo=; b=tJSFwyLYd+3ngiQhZqV5lJo9rPWuiXCjNR65OPr355UgmjRXxFNi2A0h9aszZSXVPu t3L3u899JPOAwWgJ87LFOy2cPKkLP9MZaCTLrFF1iS986V6nMcUBctkb5ZZkql2Ge5dD +9UNTqNRu3NQOlCdK9uW4MuQKZMZ8ourcsuLUvZuwmHItIFebg1G+KofT7CSKeMdTkvj PgC7JnZYBnzjm3S8dtkq09EAoYE0dZFP1JEWGfwK8LVqtBkujOSA7bWAe7tZdZNCBB+E 73Kg1oNUeP6Byue2WO6uZwxRzSaeSJZsAzuRG3eeOmL324+P532NF+uhHan7i3OsKsdP +6GA== X-Gm-Message-State: AIkVDXLQTtXAFqEZhB35D7AFjUcv6m84dWhX1VztieiNEDE1IyCmekCYR+VfnHECtm7bJ+moAkIVHs4uv6vg7w== X-Received: by 10.223.170.137 with SMTP id h9mr20468149wrc.202.1485117540746; Sun, 22 Jan 2017 12:39:00 -0800 (PST) Original-Received: by 10.28.173.80 with HTTP; Sun, 22 Jan 2017 12:38:39 -0800 (PST) In-Reply-To: <83vat73uoc.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::232 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:211556 Archived-At: --94eb2c1b45d2774f3b0546b4df5c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 2017-01-22 17:50 GMT+01:00 Eli Zaretskii : > > From: Fabrice Popineau > > Date: Sat, 21 Jan 2017 21:40:44 +0100 > > Cc: Juanma Barranquero , =C3=93scar Fuentes >, > > Emacs developers > > > > Please describe how this would work, without using > > dynamic-library-alist. > > > > But I never said that it would work without using dynamic-library-alist= ? > > Then it seems we are in violent agreement about this. > > This sub-thread started when I said ImageMagick was not supported on > Windows because it could only be linked in statically. You disagreed > with that, but now it looks like you actually agree, and posted a > patch to add the missing stuff. > > > + '(magickwand "libMagickWand-7.Q16HDRI-0.dll" > "libMagickWand-7.Q16-0.dll") > > + '(magickcore "libMagickCore-7.Q16HDRI-0.dll" > "libMagickCore-7.Q16-0.dll") > > Does this mean we will only support ImageMagick 7.x and later on > Windows? If so, the configure-time test should be changed, since it > currently allows 6.x, I think. > Given that MSYS2 itself has switched to IM7, I don't see the point to keep support forIM6. > > +static bool > > +init_imagemagick_functions (void) > > +{ > > + HMODULE magickwand, magickcore; > > + > > + if (!(magickcore =3D w32_delayed_load (Qmagickcore)) > > + || !(magickwand =3D w32_delayed_load (Qmagickwand))) > > + return 0; > > Are these 2 DLLs completely independent? Or will loading one of them > automatically load the other, due to dependencies? > > Actually, it seems that magickwand depends on magickcore. However, you may need later on a handle on both dlls to catch the functions each one holds. > > @@ -8406,7 +8776,7 @@ imagemagick_compute_animated_image (MagickWand > *super_wand, int ino) > > PixelWand **source, **dest; > > size_t source_width, source_height; > > ssize_t source_left, source_top; > > - MagickPixelPacket pixel; > > + PixelInfo pixel; > > What is this about? > > AFAIR they changed the names of a few structures. > > +#if defined HAVE_NTGUI && !defined CYGWIN > > A.k.a. "#ifdef WINDOWSNT". > > Ok. Fabrice --94eb2c1b45d2774f3b0546b4df5c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


2017-01-22 17:50 GMT+01:00 Eli Zaretskii <eliz@gnu.org>:
=
> From: Fabrice Popine= au <fabrice.popineau@gmail= .com>
> Date: Sat, 21 Jan 2017 21:40:44 +0100
> Cc: Juanma Barranquero <lekktu@= gmail.com>, =C3=93scar Fuentes <ofv@wanadoo.es>,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0Emacs developers <emacs-devel@gnu.org>
>
>=C2=A0 Please describe how this would work, with= out using
>=C2=A0 dynamic-library-alist.
>
> But I never said that it would work without using dynamic-library-alis= t ?

Then it seems we are in violent agreement about this.

This sub-thread started when I said ImageMagick was not supported on
Windows because it could only be linked in statically.=C2=A0 You disagreed<= br> with that, but now it looks like you actually agree, and posted a
patch to add the missing stuff.

> +=C2=A0 =C2=A0 =C2=A0 =C2=A0'(magickwand "libMagickWand-7.Q16= HDRI-0.dll" "libMagickWand-7.Q16-0.dll")
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0'(magickcore "libMagickCore-7.Q16= HDRI-0.dll" "libMagickCore-7.Q16-0.dll")


Does this mean we will only support ImageMagick 7.x and later on
Windows?=C2=A0 If so, the configure-time test should be changed, since it currently allows 6.x, I think.
=C2=A0
Given = that MSYS2 itself has switched to IM7, I don't see the point to keep su= pport forIM6.
=C2=A0
> +static bool
> +init_imagemagick_functions (void)
> +{
> +=C2=A0 HMODULE magickwand, magickcore;
> +
> +=C2=A0 if (!(magickcore =3D w32_delayed_load (Qmagickcore))
> +=C2=A0 =C2=A0 =C2=A0 || !(magickwand =3D w32_delayed_load (Qmagickwan= d)))
> +=C2=A0 =C2=A0 return 0;

Are thes= e 2 DLLs completely independent?=C2=A0 Or will loading one of them
automatically load the other, due to dependencies?


Actually, it seems that magickwand dep= ends on magickcore.
However, you may need later on a handle on bo= th dlls to catch the functions each one holds.
=C2=A0
= =C2=A0
> @@ -8406,7 +8776,7 @@ imagemagick_compute_animated_image (MagickW= and *super_wand, int ino)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 PixelWand **source, **dest;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 size_t source_width, source_height;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 ssize_t source_left, source_top;
> -=C2=A0 =C2=A0 =C2=A0 MagickPixelPacket pixel;
> +=C2=A0 =C2=A0 =C2=A0 PixelInfo pixel;

What is this about?


AFAIR they changed the names of a few = structures.
=C2=A0
> +#if defined HAVE_NTGUI && !defined CYGWIN

A.k.a. "#ifdef WINDOWSNT".


Ok.

Fabrice

--94eb2c1b45d2774f3b0546b4df5c--