unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: dhruva <dhruva@ymail.com>
Cc: emacs-devel@gnu.org
Subject: Re: Build failure on Windows using MSVC
Date: Fri, 15 Aug 2008 12:31:13 +0300	[thread overview]
Message-ID: <ufxp6fwv2.fsf@gnu.org> (raw)
In-Reply-To: <371102.90263.qm@web95005.mail.in2.yahoo.com>

> Date: Fri, 15 Aug 2008 13:19:37 +0530 (IST)
> From: dhruva <dhruva@ymail.com>
> 
>  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 <windows.h>
> +#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).




  reply	other threads:[~2008-08-15  9:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-15  7:49 Build failure on Windows using MSVC dhruva
2008-08-15  9:31 ` Eli Zaretskii [this message]
2008-08-15 12:50   ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2008-08-15 12:37 dhruva

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ufxp6fwv2.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=dhruva@ymail.com \
    --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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).