The __WINE__ macro does not identify the Wine platform

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



According to some old discussion
(http://www.mail-archive.com/wine-devel@xxxxxxxxxx/msg15669.html) on
wine-devel it appears that __WINE__ should be the macro used to
identify the Wine platform,

However, that doesn't appear to work for Windows native MinGW on wine.

Here is my test code:

#include <stdio.h>

int main(int argc, char** argv)
{
#if defined(__WINE__)
  printf("hello, WINE world\n");
#else
  printf("hello, non-WINE world\n");
#endif
  return 0;
}

wine@raven> wine gcc --version
gcc.exe (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
wine@raven> wine gcc test.c
wine@raven> wine ./a.exe
hello, non-WINE world

I have downloaded and unpacked the Windows version of MinGW (version 4.5.0),
and the above gcc --version result shows that is the version
being used under wine.

I have looked in the installed header files for wine-1.2-rc3, and I can find
no mention of __WINE__.  Furthermore, it appears from
http://linux.die.net/man/1/winegcc that only wingcc sets __WINE__. However,
I don't want to cross-compile for the Wine platform under Linux. Instead, my
approach is to use Windows versions of MinGW and CMake to build _AND_ test
applications and libraries directly under wine.

So it appears for now I must set __WINE__ explicitly, e.g.,

wine@raven> wine gcc -D__WINE__ test.c
wine@raven> wine ./a.exe
hello, WINE world

but the issue is that should happen automatically instead.

Is there some better macro I should be using to identify when a build
is occurring on the wine platform?

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________



[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux