From: Christoph <cschol2112@googlemail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Building Emacs with MSVC
Date: Tue, 06 Apr 2010 22:49:27 -0600 [thread overview]
Message-ID: <4BBC0ED7.8070209@gmail.com> (raw)
In-Reply-To: <831vesx8d5.fsf@gnu.org>
On 4/6/2010 9:13 PM, Eli Zaretskii wrote:
> Yes, Studio 2003 is the last version known to build a working binary.
>
OK.
> That's a known problem. I forget the details (you can find them in
> the archives), but there's some problem with the library functions
> supplied by later versions of Studio, and/or conflicts with our
> customized malloc, that cause the crash.
>
Yes, one issue is the library libc.lib (single threaded) which was
replaced by libcmt.lib (multithreaded). But there were other issues like
shadowing functions, for example sys_ctime and utime.
Also, maybe this is interesting for you Eli: bidi.c failed because MSVC
does not support the inline keyword for C files (only for C++ files).
__inline is the correct keyword for C files
(http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx) in MSVC.
It might not matter, since GCC compiles fine, but I though I'd mention
it anyway.
> What for? If we cannot build a working binary, why pollute the
> sources with more MSVC-specific patches?
>
The patch is actually for a bug in the existing MSVC makefile in
lib-src. I am pretty sure even older versions would not run with this,
since nmake fails right away:
=== modified file 'lib-src/makefile.w32-in'
--- lib-src/makefile.w32-in 2010-04-03 01:54:24 +0000
+++ lib-src/makefile.w32-in 2010-04-06 03:06:03 +0000
@@ -195,8 +195,8 @@
$(lispsource)term/pc-win.elc \
$(lispsource)x-dnd.elc \
$(lispsource)term/x-win.elc \
- ${lispsource}emacs-lisp/easymenu.elc \
- ${lispsource}term/ns-win.elc
+ $(lispsource)emacs-lisp/easymenu.elc \
+ $(lispsource)term/ns-win.elc
> Right. And since MinGW is available and in pretty good shape, we
> decided at the time not to invest any effort in MSVC.
>
I agree. MinGW works absolutely fine, so is there even any reason to
keep the MSVC stuff around? Was MSVC supported earlier than MinGW? I
surely don't want to start another discussion about backwards
compatibility and supporting older versions but a lot areas could be
cleaned up quite a bit if MSVC/nmake support was dropped in favor of
MinGW/gmake. The only reason for the zipdist batch file was nmake, which
turns out to be horribly limited compared to gmake.
Just my $0.02,
Christoph
next prev parent reply other threads:[~2010-04-07 4:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-07 2:37 Building Emacs with MSVC Christoph
2010-04-07 3:13 ` Eli Zaretskii
2010-04-07 4:49 ` Christoph [this message]
2010-04-07 7:22 ` Eli Zaretskii
2010-04-19 16:26 ` Eli Zaretskii
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=4BBC0ED7.8070209@gmail.com \
--to=cschol2112@googlemail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/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.