From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Christoph Newsgroups: gmane.emacs.devel Subject: Re: Building Emacs with MSVC Date: Tue, 06 Apr 2010 22:49:27 -0600 Message-ID: <4BBC0ED7.8070209@gmail.com> References: <4BBBEFE2.5040003@gmail.com> <831vesx8d5.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1270615789 29083 80.91.229.12 (7 Apr 2010 04:49:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 7 Apr 2010 04:49:49 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 07 06:49:48 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NzND0-0004Dv-UJ for ged-emacs-devel@m.gmane.org; Wed, 07 Apr 2010 06:49:47 +0200 Original-Received: from localhost ([127.0.0.1]:59758 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NzND0-0007Qh-9M for ged-emacs-devel@m.gmane.org; Wed, 07 Apr 2010 00:49:46 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NzNCt-0007Qc-Ud for emacs-devel@gnu.org; Wed, 07 Apr 2010 00:49:39 -0400 Original-Received: from [140.186.70.92] (port=41977 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NzNCr-0007QU-BC for emacs-devel@gnu.org; Wed, 07 Apr 2010 00:49:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NzNCq-000513-8F for emacs-devel@gnu.org; Wed, 07 Apr 2010 00:49:37 -0400 Original-Received: from mail-pv0-f169.google.com ([74.125.83.169]:39196) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NzNCn-00050U-Lz; Wed, 07 Apr 2010 00:49:33 -0400 Original-Received: by pvg11 with SMTP id 11so541991pvg.0 for ; Tue, 06 Apr 2010 21:49:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=Xtskcc+gP/ckk5ZPhRw7Zu/ZAZB+oJPWgque/bRTiC8=; b=GulON1toUJXerQk3wMnkMJYE43dihJ564wkheiNMOGP57r9uqVsspxiZMn7OFtj2k6 jhcDjHitXcVa/jl46f1Q+Qn1+V4vSPltVxiSn5DdhqoePnANmvHgCIcKIieIzGpesuuh +lrF/j6T4XMpZMuf5GKyibz0z/YG+3yCgcefk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=I6/wwGi5Ft7Wt/tq29XGhGNdiwRJaVDEzMPXNWHTH37ndan8LKoDl8bvscuEQ6uJ7/ Pq9vIeQ7+y2P16PjnV0mENAwfyNlRwCvUTF2KTN+++oNa26h/MUYj6c328jbXFPZ33t/ C+JsOyu7gs4ek4MpPacf2sn35bG+pnbSvsnLE= Original-Received: by 10.115.84.27 with SMTP id m27mr5613990wal.167.1270615772324; Tue, 06 Apr 2010 21:49:32 -0700 (PDT) Original-Received: from [192.168.1.2] (67-41-143-56.hlrn.qwest.net [67.41.143.56]) by mx.google.com with ESMTPS id 20sm3449641pzk.15.2010.04.06.21.49.30 (version=SSLv3 cipher=RC4-MD5); Tue, 06 Apr 2010 21:49:31 -0700 (PDT) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 In-Reply-To: <831vesx8d5.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:123296 Archived-At: 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