On Fri, Jan 20, 2017 at 4:54 PM, Eli Zaretskii 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.