From: Julian Smart Date: Sat, 22 Jul 2000 14:03:36 +0000 (+0000) Subject: Cygwin 1.1 mods (main branch) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/74afbadc175932c2d28d4da4fc0fd381d9ef006a Cygwin 1.1 mods (main branch) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/msw/install.txt b/docs/msw/install.txt index 279aab16a4..5411f3f952 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -474,14 +474,14 @@ the debugging version of the library is 90MB, with samples coming in at 40MB :-) However, wxWindows at least makes a good test suite for improving the compiler. -Cygwin b19/b20/Mingw32 compilation +Cygwin/Mingw32 compilation ---------------------------------- -wxWindows 2 supports Cygwin (formerly GnuWin32) b19, b20, Mingw32, -and Mingw32/EGCS. Cygwin 1.1.0 and 1.1.1 are not yet supported. +wxWindows 2 supports Cygwin (formerly GnuWin32) betas and +releases, and Mingw32. -Thanks are due to Keith Garry Boyce (garp@opustel.com) and Cygnus for making -it all possible. +Thanks are due to Keith Garry Boyce (garp@opustel.com), Cygnus +and others for making it all possible. Both Cygwin and Mingw32 (the minimal distribution of Cygwin) can be used with the same makefiles. @@ -491,11 +491,10 @@ Here are the steps required: - Retrieve and install the latest beta of Cygwin, or Mingw32, as per the instructions with either of these packages. -- If using Mingw32 (including the EGCS variant), you need some - extra files to use the wxWindows makefiles. You can find these - files in ports/mingw32 on the ftp site or CD-ROM, as extra.zip. - These should be extracted to the Mingw32 directory. - If you have alread downloaded bison, flex, make, rm, cp, mv +- If using Mingw32, you need some extra files to use the wxWindows + makefiles. You can find these files in ports/mingw32 on the ftp + site or CD-ROM, as extra.zip. These should be extracted to the Mingw32 + directory. If you have alread downloaded bison, flex, make, rm, cp, mv from elsewhere, you won't need this. If using Mingw32 2.95 and below with wxWindows 2.1 or above, you @@ -513,10 +512,9 @@ Here are the steps required: supplied). - Edit wx/src/makeg95.env and set the MINGW32 variable at the top of - the file to either 1 (you have Mingw32) or 0 (you have Cygwin32). - If using MINGW32, also set the MINGW32VERSION variable - appropriately. Note: Cygwin 1.1.0 and above may - need MINGW32 set to 1 to compile properly. + the file to either 1 (you have Mingw32 or Cygwin 1.x releases) or 0 + (if you have Cygwin betas). If using Mingw32, also set the + MINGW32VERSION variable appropriately. - Set your WXWIN variable to where wxWindows is installed. *** IMPORTANT: For Cygwin/Mingw32, use forward slashes in the path, not @@ -533,7 +531,7 @@ Here are the steps required: - Use the 'strip' command to reduce executable size. -- With Cygnus Cygwin, you can invoke gdb --nw myfile.exe to +- With Cygwin, you can invoke gdb --nw myfile.exe to debug an executable. If there are memory leaks, they will be flagged when the program quits. @@ -585,11 +583,10 @@ Notes: References: - - The GNU-WIN32 site is at - http://www.cygnus.com/gnu-win32/ + - The Cygwin site is at + http://sourceware.cygnus.com - Mingw32 is available at: - ftp://www,mingw.org - - See also http://web.ukonline.co.uk/julian.smart/wxwin/gnuwin32.htm + ftp://www.mingw.org TWIN32 and gcc on Linux ----------------------- diff --git a/include/wx/defs.h b/include/wx/defs.h index 22a59d3d5b..cd05a672e0 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -142,7 +142,7 @@ // Mingw32 gcc-2.95 uses new windows headers which are more ms-like // we are setting this define because of the complex check // using NORLANDER as Cygwin may follow. (header author is Anders Norlander) -#if defined(__MINGW32__) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) +#if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) #ifndef wxUSE_NORLANDER_HEADERS #define wxUSE_NORLANDER_HEADERS 1 #endif diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index 2f4fb7f723..06343cbb48 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -626,7 +626,7 @@ #define wxUSE_OWNER_DRAWN 1 // Owner-drawn menus and listboxes -#if defined(__MINGW32__) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) +#if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) #ifndef wxUSE_NORLANDER_HEADERS # define wxUSE_NORLANDER_HEADERS 1 #endif @@ -650,14 +650,16 @@ #undef wxUSE_MS_HTML_HELP #define wxUSE_MS_HTML_HELP 0 -#endif // __GNUWIN32__ - -// Cygwin b20 doesn't have wcslen -#if defined(__GNUWIN32__) && !defined(__MINGW32__) -#undef wxUSE_WCHAR_T -#define wxUSE_WCHAR_T 0 +// Cygwin betas don't have wcslen +#if defined(__CYGWIN__) || defined(__CYGWIN32__) +# if ! ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))) +# undef wxUSE_WCHAR_T +# define wxUSE_WCHAR_T 0 +# endif #endif +#endif // __GNUWIN32__ + // MFC duplicates these operators #if wxUSE_MFC #undef wxUSE_GLOBAL_MEMORY_OPERATORS diff --git a/src/common/string.cpp b/src/common/string.cpp index b0ab44d21c..512206fe57 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -113,7 +113,7 @@ extern const wxChar WXDLLEXPORT *wxEmptyString = &g_strEmpty.dummy; // function wxVsnprintfA (A for ANSI), should also find one for Unicode // strings in Unicode build #ifdef __WXMSW__ - #if defined(__VISUALC__) || wxUSE_NORLANDER_HEADERS + #if defined(__VISUALC__) || defined(__MINGW32__) #define wxVsnprintfA _vsnprintf #endif #else // !Windows diff --git a/src/makeg95.env b/src/makeg95.env index 72f8ce0e0b..a0461f5fa3 100644 --- a/src/makeg95.env +++ b/src/makeg95.env @@ -10,8 +10,8 @@ # CVS_ID: $Id$ # -# If using Cygwin, set this to 0. -# If using Mingw32, set this to 1. +# If using Cygwin beta, set this to 0. +# If using Mingw32 or Cygwin 1.0 or later, set this to 1. MINGW32=1 # Set to the version you have