From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Build failure on Windows using MSVC Date: Fri, 15 Aug 2008 12:31:13 +0300 Message-ID: References: <371102.90263.qm@web95005.mail.in2.yahoo.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1218792693 12831 80.91.229.12 (15 Aug 2008 09:31:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 15 Aug 2008 09:31:33 +0000 (UTC) Cc: emacs-devel@gnu.org To: dhruva Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 15 11:32:25 2008 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.50) id 1KTvfV-0002jd-5w for ged-emacs-devel@m.gmane.org; Fri, 15 Aug 2008 11:32:25 +0200 Original-Received: from localhost ([127.0.0.1]:34427 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KTveY-0004lh-Dm for ged-emacs-devel@m.gmane.org; Fri, 15 Aug 2008 05:31:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KTveQ-0004km-H0 for emacs-devel@gnu.org; Fri, 15 Aug 2008 05:31:18 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KTveO-0004jd-9R for emacs-devel@gnu.org; Fri, 15 Aug 2008 05:31:17 -0400 Original-Received: from [199.232.76.173] (port=47253 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KTveO-0004jR-2b for emacs-devel@gnu.org; Fri, 15 Aug 2008 05:31:16 -0400 Original-Received: from mtaout4.012.net.il ([84.95.2.10]:13011) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KTveN-0000oh-Jy for emacs-devel@gnu.org; Fri, 15 Aug 2008 05:31:15 -0400 Original-Received: from HOME-C4E4A596F7 ([84.229.211.50]) by i_mtaout4.012.net.il (HyperSendmail v2004.12) with ESMTPA id <0K5M00E3AYGO4I21@i_mtaout4.012.net.il> for emacs-devel@gnu.org; Fri, 15 Aug 2008 12:31:37 +0300 (IDT) In-reply-to: <371102.90263.qm@web95005.mail.in2.yahoo.com> X-012-Sender: halo1@inter.net.il X-detected-kernel: by monty-python.gnu.org: Solaris 9.1 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:102478 Archived-At: > Date: Fri, 15 Aug 2008 13:19:37 +0530 (IST) > From: dhruva > > Build of Emacs from HEAD on WXP using MSVC 2003 fails due to redefinition of a structure MEMORYSTATUSEX. The following patch fixes the issue on WXP (W2K prof and upwards as that structure is available on W2K+). Need to test on older versions and I have no access to it. What is the exact error message emitted by Studio 2003? Is there perhaps a compiler switch to avoid such an error? Is our definition incompatible with what VS 2003 defines? I need the above information to come up with a suitable solution that will work with all supported platforms and compiler versions. Someone else compiled this CVS code with VS 6 and didn't have this problem, so we need to find a solution that doesn't break versions of VS other than yours. > === modified file 'src/w32.c' > --- src/w32.c 2008-08-10 01:05:02 +0000 > +++ src/w32..c 2008-08-15 07:43:51 +0000 > @@ -73,6 +73,7 @@ > #define _ANONYMOUS_STRUCT > #endif > #include > +#if (WINVER<0x0500) I don't want to use WINVER. It's an old and deprecated macro, and we already use its more modern replacement _WIN32_WINNT. Also, the availability of the function at run time is not an issue here, since the code dynamically tests that and only uses the function if it's available. The issue is compilation. >From your report, I understand that the MS header files do not guard the declaration of MEMORYSTATUSEX with _WIN32_WINNT, like the MinGW headers do? Can you verify that, please? If this is so, I prefer to condition the declaration on __MINGW32__ rather than use WINVER. The only thing that bothers me is VS 6 (see above).