all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juanma Barranquero <lekktu@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: "Óscar Fuentes" <ofv@wanadoo.es>,
	"Emacs developers" <emacs-devel@gnu.org>
Subject: Re: 64-bit build on Windows
Date: Sat, 21 Jan 2017 19:57:01 +0100	[thread overview]
Message-ID: <CAAeL0SSKnMrp-VHOFcFWJcu2FSuAoHPY4wbmfP10oK8wH7cSmg@mail.gmail.com> (raw)
In-Reply-To: <83y3y5681f.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 3068 bytes --]

On Fri, Jan 20, 2017 at 4:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> There's no problem when Imagemagick is absent.  The --without-*
> switches are only needed when the package is present, but you want to
> override its automatic detection.
>
> AFAIR, the problem with Imagemagick support on Windows is that it can
> only be supported when linked in statically, so the produced binary
> can only be safely used on the system where it was built.  And on top
> of that, there's a problem with Imagemagick 7.x, which I think is not
> specific to Windows.

I think there are two issues here. One is what to do (and explain) when
ImageMagick is present. As you say,

> You see, w32-win.el doesn't have ImageMagick-related DLL names in its
> value of dynamic-library-alist, and without that Emacs won't know
> which libraries to look for when ImageMagick support is requested.
>
> That alist is how officially supported optional libraries should be
> introduced into the Windows build of Emacs -- we want a binary that
> was built with these libraries to be able to run on systems without
> the DLLs being available.  By contrast, just linking with the -lLIB
> link-time switch produces a binary that will refuse to load if the DLL
> is not found.

That's entirely correct and we will want to modify ImageMagick support on
Windows as we did with other image libraries and GnuTLS and libxml.

But I am now worried about nt/INSTALL.W64, which is directed to those who
want to build the 64-bit port anew, from scratch (from the repository or a
source tarball). Following that file's steps, Imagemagick is not installed.
I think that anyone knowledgeable enough to install Imagemagick and try to
build with it will know to use --without-imagemagick if needed. So, I think
the following minimal patch best reflects the current experience:


diff --git a/nt/INSTALL.W64 b/nt/INSTALL.W64
index a12b7fc..1b2bf72 100644
--- a/nt/INSTALL.W64
+++ b/nt/INSTALL.W64
@@ -125,8 +125,8 @@ Now you're ready to build and install Emacs with
autogen, configure, make,
 and make install.

 First we need to switch to the MinGW-w64 environment.  Exit the MSYS2 BASH
-console and run mingw64_shell.bat in the C:\msys64 folder, then cd back to
-your Emacs source directory, e.g.:
+console and run mingw64.exe in the C:\msys64 folder, then cd back to your
+Emacs source directory, e.g.:

   cd /c/emacs/emacs-25

@@ -149,12 +149,9 @@ which 'make install' will use - in this example we set
it to C:\emacs\emacs-25.
 If a prefix is not specified the files will be put in the standard Unix
 directories located in your C:\msys64 directory, but this is not
recommended.

-Note also that we need to disable Imagemagick because Emacs does not yet
-support it on Windows.
-
-  PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
   ./configure --prefix=/c/emacs/emacs-25 --without-imagemagick

+
 ** Run make

 This will compile Emacs and build the executables, putting them in the src
warning: LF will be replaced by CRLF in nt/INSTALL.W64.
The file will have its original line endings in your working directory.

[-- Attachment #2: Type: text/html, Size: 3448 bytes --]

  parent reply	other threads:[~2017-01-21 18:57 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-20  1:40 64-bit build on Windows Juanma Barranquero
2017-01-20  8:06 ` Eli Zaretskii
2017-01-21 18:29   ` Juanma Barranquero
2017-01-21 18:38     ` Eli Zaretskii
2017-01-20 13:42 ` Phillip Lord
2017-01-20 14:32   ` Óscar Fuentes
2017-01-20 15:54     ` Eli Zaretskii
2017-01-20 19:51       ` Fabrice Popineau
2017-01-21 18:25         ` Eli Zaretskii
2017-01-21 19:04           ` Fabrice Popineau
2017-01-21 19:15             ` Juanma Barranquero
2017-01-21 19:23               ` Fabrice Popineau
2017-01-21 19:30                 ` Juanma Barranquero
2017-01-21 19:55                 ` Eli Zaretskii
2017-01-21 20:40                   ` Fabrice Popineau
2017-01-22 16:50                     ` Eli Zaretskii
2017-01-22 20:38                       ` Fabrice Popineau
2017-01-22 21:22                         ` Paul Eggert
2017-01-22 21:39                           ` Fabrice Popineau
2017-01-23  3:37                           ` Eli Zaretskii
2017-01-23  3:30                         ` Eli Zaretskii
2017-01-21 18:57       ` Juanma Barranquero [this message]
2017-01-21 19:52         ` Eli Zaretskii
2017-01-21 21:15           ` Juanma Barranquero
2017-01-21 21:42           ` Juanma Barranquero
2017-01-21 22:30             ` Nikolay Kudryavtsev
2017-01-21 22:43             ` Óscar Fuentes
2017-01-22  3:38               ` Eli Zaretskii
2017-01-21 21:18         ` Juanma Barranquero
2017-01-22 17:50           ` Stephen Leake
2017-01-22 18:07             ` Eli Zaretskii
2017-01-22 20:30               ` Fabrice Popineau
2017-01-21 18:37     ` Juanma Barranquero
2017-01-26 19:05       ` Arash Esbati
2017-01-27  6:07         ` Fabrice Popineau
  -- strict thread matches above, loose matches on Subject: below --
2017-01-21 23:12 Angelo Graziosi

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAeL0SSKnMrp-VHOFcFWJcu2FSuAoHPY4wbmfP10oK8wH7cSmg@mail.gmail.com \
    --to=lekktu@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=ofv@wanadoo.es \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.