From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#22240: Build instructions for 64-bit Windows? Date: Sat, 26 Dec 2015 10:58:12 +0200 Message-ID: <83d1ttk2mz.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1451120305 18184 80.91.229.3 (26 Dec 2015 08:58:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 26 Dec 2015 08:58:25 +0000 (UTC) Cc: 22240@debbugs.gnu.org To: Brian Burns Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Dec 26 09:58:14 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1aCkg1-000864-1c for geb-bug-gnu-emacs@m.gmane.org; Sat, 26 Dec 2015 09:58:13 +0100 Original-Received: from localhost ([::1]:37936 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCkg0-0008Io-Ic for geb-bug-gnu-emacs@m.gmane.org; Sat, 26 Dec 2015 03:58:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51923) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCkfw-0008IT-3H for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 03:58:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aCkfr-0003Rn-2q for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 03:58:08 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:57364) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCkfq-0003Rj-VC for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 03:58:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aCkfq-0000rZ-QG for bug-gnu-emacs@gnu.org; Sat, 26 Dec 2015 03:58:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 26 Dec 2015 08:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22240-submit@debbugs.gnu.org id=B22240.14511202613271 (code B ref 22240); Sat, 26 Dec 2015 08:58:02 +0000 Original-Received: (at 22240) by debbugs.gnu.org; 26 Dec 2015 08:57:41 +0000 Original-Received: from localhost ([127.0.0.1]:36729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aCkfU-0000qh-Md for submit@debbugs.gnu.org; Sat, 26 Dec 2015 03:57:40 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:60880) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aCkfS-0000qT-Ju for 22240@debbugs.gnu.org; Sat, 26 Dec 2015 03:57:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aCkfI-0003PD-B8 for 22240@debbugs.gnu.org; Sat, 26 Dec 2015 03:57:33 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44781) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aCkfI-0003P9-7m; Sat, 26 Dec 2015 03:57:28 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1040 helo=HOME-C4E4A596F7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aCkfH-0006rN-KF; Sat, 26 Dec 2015 03:57:28 -0500 In-reply-to: (message from Brian Burns on Fri, 25 Dec 2015 16:49:55 -0600) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:110584 Archived-At: > From: Brian Burns > Date: Fri, 25 Dec 2015 16:49:55 -0600 > > I noticed recently that Emacs didn't have any build instructions for 64-bit > Windows - I tried the instructions for the 32-bit build in nt/INSTALL last > year [1] but something went wrong at some point (I don't remember what, > exactly). I tried again recently using the instructions from the Emacs-w64 > project [2] which uses MSYS2 and MinGW-w64 - it worked well and it was also > easier to get the necessary libraries, as it has a package manager, pacman. > > So I thought I would try adapting those instructions to include with Emacs, if > it would be helpful - the author Chris Zheng said he wouldn't mind, and I could > post it here or the devlist for feedback - it could go in a separate INSTALL64 > document, if the existing one is too long. It's OK to have a separate file, but then nt/INSTALL should say right at the beginning that instructions for a 64-bit build are in that file. Also, if we are going to install this, we will need the full name and email address of Chris Zheng, to give him credit. The instructions are short enough to consider them a "tiny change", so no legal paperwork is necessary in this case. > Are there any issues with using MSYS2 over MSYS? I think you can build a 32-bit > Emacs with MSYS2 also, but I'm not sure - if so it would be possible to cover > both with one document, which might be simpler, but I could start with the > 64-bit instructions anyway. I'm okay with saying that MSYS2 instructions cover the 32-bit build as well, but they require installing a different toolchain, so I think the current instructions should stay, at least for those who prefer mingw.org's tools and the optional libraries pointed to in INSTALL, which were all compiled using mingw.org's tools (I have no idea whether some subtle incompatibilities might exist between the binaries produced by the two toolchains). > [1] https://github.com/emacs-mirror/emacs/blob/master/nt/INSTALL > [2] > http://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ Finally, I have some comments on the MSYS2 instructions, if they are to be added to the repository: . The "Get the source code" section should be rewritten to cater both to those who build from the Git repository (and it's better to refer those to the corresponding Savannah page, like nt/INSTALL does, than to repeat the URL, which might become outdated, in the file), and those who build from a source tarball of an official release. . The "configure; make; make install" section should avoid showing non-essential switches to configure, except as an example: users should decide by themselves what switches to use. Specifically: . the --host, --target, and --build switches should not be needed at all, ever . the --with-wide-int switch is a no-op in a 64-bit build . the --with-png and other similar switches should not be used at all, since configure will detect whatever libraries are available by default (only the corresponding --without-FOO switches should ever be used to _disable_ a package that would otherwise be detected) . the --prefix should be on the configure command, and it should NOT advise any particular location (there's a discussion in nt/INSTALL where PREFIX should be, and I suggest to either repeat it or point to it, because I believe the same considerations are valid for a MinGW64 build; if MinGW64 has a popular location of the root of its tree, the preferred PREFIX should use it) . the 'cp' commands I don't understand at all: if PREFIX is chosen correctly, the Emacs's bin/ directory and the MinGW64's bin/ directory should be the same, so there's no need to copy; and even if these two bin/ directories are different, the directory with DLLs should be on PATH. this sounds like some workaround for some misconfiguration, so we had better not repeated that. . The "Run" section doesn't belong in installation instructions. I invite people who use MinGW64 to build Emacs to please send their comments and observations about the build, so that they could be reflected in what we install, if needed. Thanks.