www.delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Message-ID: | <42FEE8D7.9060700@softhome.net> |
Date: | Sun, 14 Aug 2005 14:46:47 +0800 |
From: | Chan Kar Heng <karheng AT softhome DOT net> |
User-Agent: | Mozilla Thunderbird 1.0.2 (Windows/20050317) |
MIME-Version: | 1.0 |
To: | cygwin mailing list <cygwin AT cygwin DOT com> |
Subject: | Re: g++ defines for win32 |
References: | <000b01c5a032$3dabb7c0$cf34000a AT sven> <42FE9575 DOT 1060804 AT familiehaase DOT de> |
In-Reply-To: | <42FE9575.1060804@familiehaase.de> |
X-IsSubscribed: | yes |
another way: echo "#include <stdio.h>" | gcc -dM -E - ... but this only shows macros defined for the current target platform unlike -dumpspecs which shows everything. (in the above, the include file used could be removed, or other files could be specified instead). rgds, kh Gerrit P. Haase wrote: > Angel Tsankov wrote: > >> I downloaded g++ from cygwin and installed it. I noticed that it has >> built-in definitions of __stdcall, __cdecl and __fastcall. I've come >> across other g++ builds for Windows that do not have definitions for >> these identifiers, so I had to filter them out from my source code >> with the help of macros. Now I need to know how to distinguish this >> build of g++ from others in order to not filter the above identifiers >> out. >> Here's what I have now: >> >> #if !(defined (_MSC_VER) || (defined (__GNUC__) && defined (__WIN32__))) >> #define __cdecl >> #define __stdcall >> #define __fastcall >> #endif > > > gcc -dumpspecs: > > > *cpp: > %(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{mno-win32:%{mno-cygwin: > %emno-cygwin and mno-win32 are not compatible}} > %{mno-cygwin:-D__MSVCRT__ -D__MINGW32__ %{!ansi:%{mthreads:-D_MT}}} > %{!mno-cygwin:-D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ > -D__unix } %{mwin32|mno-cygwin:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ > %{!ansi:-DWINNT}} %{!nostdinc:%{!mno-win32|mno-cygwin:-idirafter > ../include/w32api%s -idirafter ../../include/w32api%s}} > > > For Cygwin (= -mno-win32 = default): > __CYGWIN32__ > __CYGWIN__ > __unix > __unix__ > unix > > For MinGW (= -mno-cygwin): > __MINGW32__ > __MSVCRT__ > WIN32 > _WIN32 > __WIN32 > __WIN32__ > > For Cygwin (+ -mwin32): > __CYGWIN32__ > __CYGWIN__ > WIN32 > _WIN32 > __WIN32 > __WIN32__ > > > > Gerrit -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |