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 --]
next prev 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.