| 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 |