Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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: <42FE9575.1060804@familiehaase.de> Date: Sun, 14 Aug 2005 02:51:01 +0200 From: "Gerrit P. Haase" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.11) Gecko/20050728 MIME-Version: 1.0 To: Angel Tsankov CC: cygwin mailing list Subject: Re: g++ defines for win32 References: <000b01c5a032$3dabb7c0$cf34000a AT sven> In-Reply-To: <000b01c5a032$3dabb7c0$cf34000a@sven> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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/