On December 24, 2002 04:36 pm, David Fraser wrote:
I'd be very interested in this, as I use wxWindows alot in my work...
OK, here are the _raw_ modifications that I had to make. All trivially fixable also (waiting on the __WINE__ decision).
Look for example to the makeg95.env changes to see how few were needed!
Here's the diff (against latest wxWindows CVS).
Index: include/wx/filefn.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/include/wx/filefn.h,v retrieving revision 1.63 diff -u -r1.63 filefn.h --- include/wx/filefn.h 2002/12/07 15:41:11 1.63 +++ include/wx/filefn.h 2002/12/24 22:17:25 @@ -74,9 +74,9 @@ // ----------------------------------------------------------------------------
// Microsoft compiler loves underscores, feed them to it -#if defined( __VISUALC__ ) \ +#if 0 && (defined( __VISUALC__ ) \ || ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \ - || ( defined(__MWERKS__) && defined(__WXMSW__) ) + || ( defined(__MWERKS__) && defined(__WXMSW__) )) // functions #define wxClose _close #define wxRead _read Index: include/wx/sckaddr.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/include/wx/sckaddr.h,v retrieving revision 1.16 diff -u -r1.16 sckaddr.h --- include/wx/sckaddr.h 2002/08/31 11:29:11 1.16 +++ include/wx/sckaddr.h 2002/12/24 22:17:26 @@ -102,7 +102,7 @@ #endif
#if defined(__UNIX__) && (!defined(__WXMAC__) || defined(__DARWIN__)) -#include <sys/socket.h> +//#include <sys/socket.h> #ifndef __VMS__ # include <sys/un.h> #endif Index: include/wx/wxchar.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/include/wx/wxchar.h,v retrieving revision 1.102 diff -u -r1.102 wxchar.h --- include/wx/wxchar.h 2002/12/10 00:43:24 1.102 +++ include/wx/wxchar.h 2002/12/24 22:17:27 @@ -248,6 +248,7 @@ // it in Unicode build as well // ----------------------------------------------------------------------------
+#undef wxHAVE_TCHAR_SUPPORT #ifdef wxHAVE_TCHAR_SUPPORT #include <ctype.h>
Index: include/wx/msw/gccpriv.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/include/wx/msw/gccpriv.h,v retrieving revision 1.6 diff -u -r1.6 gccpriv.h --- include/wx/msw/gccpriv.h 2001/08/02 19:02:17 1.6 +++ include/wx/msw/gccpriv.h 2002/12/24 22:17:28 @@ -48,6 +48,7 @@
// Mingw runtime 1.0-20010604 has some missing _tXXXX functions, // so let's define them ourselves: +#include <tchar.h> #if defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 1, 0 ) #ifndef _tsetlocale #if wxUSE_UNICODE Index: include/wx/msw/gnuwin32/extra.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/include/wx/msw/gnuwin32/extra.h,v retrieving revision 1.8 diff -u -r1.8 extra.h --- include/wx/msw/gnuwin32/extra.h 2001/06/08 15:03:59 1.8 +++ include/wx/msw/gnuwin32/extra.h 2002/12/24 22:17:29 @@ -3,7 +3,7 @@ * have (B18/B19). */
-#ifndef _WX_EXTRAH_ +#if 0 #define _WX_EXTRAH_
#ifndef __CYGWIN10__ Index: include/wx/msw/gnuwin32/winresrc.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/include/wx/msw/gnuwin32/winresrc.h,v retrieving revision 1.2 diff -u -r1.2 winresrc.h --- include/wx/msw/gnuwin32/winresrc.h 1999/01/19 18:20:15 1.2 +++ include/wx/msw/gnuwin32/winresrc.h 2002/12/24 22:17:32 @@ -1409,12 +1409,12 @@
-#ifdef UNICODE -#define __TEXT(quote) L##quote -#else /* UNICODE */ -#define __TEXT(quote) quote -#endif /* UNICODE */ -#define TEXT(quote) __TEXT(quote) +#ifdef UNICODE +#define __TEXT(quote) L##quote +#else +#define __TEXT(quote) quote +#endif +#define TEXT(quote) __TEXT(quote)
// // Language IDs. Index: samples/makefile.g95 =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/samples/makefile.g95,v retrieving revision 1.16 diff -u -r1.16 makefile.g95 --- samples/makefile.g95 2002/04/12 13:15:44 1.16 +++ samples/makefile.g95 2002/12/24 22:17:32 @@ -17,7 +17,7 @@ THISDIR=$(WXDIR)/samples MAKEFILE=makefile.g95 MAKEFLAGS=WXUSINGDLL=$(WXUSINGDLL) UNICODE=$(UNICODE) -CMDLINE=-f $(MAKEFILE) $(MAKEFLAGS) +CMDLINE=-s -f $(MAKEFILE) $(MAKEFLAGS)
# Mingw make may not have a shell to use, so can't use a loop here. Sigh. # Please add new sample directories alphabetically to make it easier to Index: src/makeg95.env =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/makeg95.env,v retrieving revision 1.73 diff -u -r1.73 makeg95.env --- src/makeg95.env 2002/12/18 08:33:27 1.73 +++ src/makeg95.env 2002/12/24 22:17:37 @@ -22,7 +22,7 @@ # use forward slashes, we need to set this when # invoking the makefile from DOS, or the wrong separators # will be assumed. -#OSTYPE=msys +OSTYPE=msys
# If building DLL, the version WXVERSION=250 @@ -81,6 +81,7 @@ else CC = gcc endif +CC=winegcc
# C compiler for pure C programs CCC = $(CC) @@ -102,7 +103,7 @@ # Settings for Cyginw/Mingw32 # Some versions of windres cannot cope with the --preprocessor # option. Uncomment the RCPREPROCESSOR line below if yours can. -RESCOMP=windres +RESCOMP=wrc RCINPUTSWITCH=-i RCOUTPUTSWITCH=-o RCINCSWITCH=--include-dir @@ -125,7 +126,7 @@ # Miscellaneous compiler options # GRG: the __MINGW32__ option is not needed anymore # add "-DHAVE_W32API_H" if you have w32api >= 0.5 -OPTIONS = -DSTRICT # -D__MINGW32__ +OPTIONS = -DSTRICT -DwxSIZE_T_IS_UINT -DHAVE_W32API_H -D__MINGW32__ -D_FORCENAMELESSUNION
# Add "-mthreads" if you want to have threads under mingw32 COMMON_THREADFLAGS = @@ -198,12 +199,12 @@
########################## Directories ###############################
-OLELIBS=-lole32 -loleaut32 -luuid +OLELIBS=-lole32 -loleaut32 /usr/local/lib/libwine_uuid.a BASELIBS=-lstdc++ -lgcc -lodbc32 -lwsock32 ifeq ($(wxUSE_GUI),1) WINLIBS= $(BASELIBS) \ -lwinspool -lwinmm -lshell32 \ - -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 \ + -lcomctl32 -lcomdlg32 -lodbc32 -ladvapi32 \ -lodbc32 -lwsock32 -lopengl32 -lglu32 $(OLELIBS) # -loldnames else WINLIBS=$(BASELIBS) @@ -238,7 +239,7 @@ # png, jpeg, etc are exported from wx dll, so skip and save on link time. LIBS = $(EXTRALIBS) $(WXLIB) $(WINLIBS) $(COMPLIBS) else - LIBS = $(EXTRALIBS) $(WXLIB) -lregex -lpng -ljpeg -lzlib -ltiff $(WINLIBS) $(COMPLIBS) + LIBS = $(EXTRALIBS) $(WXLIB) /home/dimi/dev/wine/wxWindows/lib/libregex.a /home/dimi/dev/wine/wxWindows/lib/libpng.a /home/dimi/dev/wine/wxWindows/lib/libjpeg.a /home/dimi/dev/wine/wxWindows/lib/libzlib.a /home/dimi/dev/wine/wxWindows/lib/libtiff.a $(WINLIBS) $(COMPLIBS) endif
WINFLAGS=-D_X86_=1 -DWIN32 -D_WIN32 $(WINVERSION) Index: src/common/datetime.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/datetime.cpp,v retrieving revision 1.71 diff -u -r1.71 datetime.cpp --- src/common/datetime.cpp 2002/12/04 14:06:21 1.71 +++ src/common/datetime.cpp 2002/12/24 22:17:42 @@ -286,7 +286,8 @@ #ifdef WX_GMTOFF_IN_TM return (int)gmtoffset; #else - return (int)WX_TIMEZONE; + //return (int)WX_TIMEZONE; + return LONG_MAX; #endif }
Index: src/common/dynarray.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/dynarray.cpp,v retrieving revision 1.28 diff -u -r1.28 dynarray.cpp --- src/common/dynarray.cpp 2002/12/04 14:06:27 1.28 +++ src/common/dynarray.cpp 2002/12/24 22:17:43 @@ -28,6 +28,7 @@
#include <stdlib.h> #include <string.h> // for memmove +#include <search.h>
#ifndef max #define max(a, b) (((a) > (b)) ? (a) : (b)) Index: src/common/encconv.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/encconv.cpp,v retrieving revision 1.14 diff -u -r1.14 encconv.cpp --- src/common/encconv.cpp 2002/01/25 14:45:20 1.14 +++ src/common/encconv.cpp 2002/12/24 22:17:44 @@ -23,6 +23,7 @@ #include "wx/encconv.h"
#include <stdlib.h> +#include <search.h>
// conversion tables, generated by scripts in $(WXWIN)/misc/unictabl: #ifdef __BORLANDC__ Index: src/common/filefn.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/filefn.cpp,v retrieving revision 1.161 diff -u -r1.161 filefn.cpp --- src/common/filefn.cpp 2002/12/10 21:44:08 1.161 +++ src/common/filefn.cpp 2002/12/24 22:17:49 @@ -1258,7 +1258,7 @@
// assume mkdir() has 2 args on non Windows-OS/2 platforms and on Windows too // for the GNU compiler -#if (!(defined(__WXMSW__) || defined(__WXPM__) || defined(__DOS__))) || (defined(__GNUWIN32__) && !defined(__MINGW32__)) || defined(__WXWINE__) || defined(__WXMICROWIN__) +#if 1 || (!(defined(__WXMSW__) || defined(__WXPM__) || defined(__DOS__))) || (defined(__GNUWIN32__) && !defined(__MINGW32__)) || defined(__WXWINE__) || defined(__WXMICROWIN__) if ( mkdir(wxFNCONV(dirname), perm) != 0 ) #elif defined(__WXPM__) if (::DosCreateDir((PSZ)dirname, NULL) != 0) // enhance for EAB's?? Index: src/common/filename.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/filename.cpp,v retrieving revision 1.101 diff -u -r1.101 filename.cpp --- src/common/filename.cpp 2002/12/04 14:06:32 1.101 +++ src/common/filename.cpp 2002/12/24 22:17:51 @@ -99,7 +99,7 @@ #include <sys/types.h> #include <utime.h> #include <sys/stat.h> -#include <unistd.h> +//#include <unistd.h> #endif
#ifdef __DJGPP__ Index: src/common/list.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/list.cpp,v retrieving revision 1.38 diff -u -r1.38 list.cpp --- src/common/list.cpp 2002/02/06 01:38:08 1.38 +++ src/common/list.cpp 2002/12/24 22:17:52 @@ -31,6 +31,7 @@ #include <stdarg.h> #include <stdlib.h> #include <string.h> +#include <search.h>
#ifndef WX_PRECOMP #include "wx/defs.h" Index: src/common/mimecmn.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/mimecmn.cpp,v retrieving revision 1.23 diff -u -r1.23 mimecmn.cpp --- src/common/mimecmn.cpp 2002/12/04 14:06:45 1.23 +++ src/common/mimecmn.cpp 2002/12/24 22:17:53 @@ -486,7 +486,7 @@
bool wxMimeTypesManager::Unassociate(wxFileType *ft) { -#if defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WXWINE__) +#if 0 && defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WXWINE__) return m_impl->Unassociate(ft); #else return ft->Unassociate(); @@ -596,7 +596,7 @@ void wxMimeTypesManager::Initialize(int mcapStyle, const wxString& sExtraDir) { -#if defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WXWINE__) +#if 0 && defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WXWINE__) EnsureImpl();
m_impl->Initialize(mcapStyle, sExtraDir); @@ -609,7 +609,7 @@ // and this function clears all the data from the manager void wxMimeTypesManager::ClearData() { -#if defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WXWINE__) +#if 0 && defined(__UNIX__) && !defined(__WXPM__) && !defined(__CYGWIN__) && !defined(__WXWINE__) EnsureImpl();
m_impl->ClearData(); Index: src/common/string.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/string.cpp,v retrieving revision 1.166 diff -u -r1.166 string.cpp --- src/common/string.cpp 2002/12/10 12:13:23 1.166 +++ src/common/string.cpp 2002/12/24 22:17:55 @@ -41,6 +41,7 @@ #include <ctype.h> #include <string.h> #include <stdlib.h> +#include <search.h>
#ifdef __SALFORDC__ #include <clib.h> Index: src/common/wxchar.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/common/wxchar.cpp,v retrieving revision 1.51 diff -u -r1.51 wxchar.cpp --- src/common/wxchar.cpp 2002/12/10 00:43:28 1.51 +++ src/common/wxchar.cpp 2002/12/24 22:17:57 @@ -105,7 +105,7 @@
bool WXDLLEXPORT wxOKlibc() { -#if wxUSE_WCHAR_T && defined(__UNIX__) && defined(__GLIBC__) +#if 0 && wxUSE_WCHAR_T && defined(__UNIX__) && defined(__GLIBC__) // glibc 2.0 uses UTF-8 even when it shouldn't wchar_t res = 0; if ((MB_CUR_MAX == 2) && Index: src/jpeg/jmorecfg.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/jpeg/jmorecfg.h,v retrieving revision 1.19 diff -u -r1.19 jmorecfg.h --- src/jpeg/jmorecfg.h 2002/05/26 11:49:37 1.19 +++ src/jpeg/jmorecfg.h 2002/12/24 22:17:58 @@ -130,6 +130,7 @@ */
/* UINT8 must hold at least the values 0..255. */ +#ifndef __WINE_BASETSD_H
#ifdef HAVE_UNSIGNED_CHAR typedef unsigned char UINT8; @@ -154,6 +155,8 @@ #ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ typedef short INT16; #endif + +#endif /* __WINE_BASETSD_H */
/* INT32 must hold at least signed 32-bit values. */
Index: src/msw/app.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/msw/app.cpp,v retrieving revision 1.174 diff -u -r1.174 app.cpp --- src/msw/app.cpp 2002/12/04 14:09:06 1.174 +++ src/msw/app.cpp 2002/12/24 22:18:01 @@ -1382,5 +1382,5 @@ // For some reason, with MSVC++ 1.5, WinMain isn't linked in properly // if in a separate file. So include it here to ensure it's linked. #if (defined(__VISUALC__) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !defined(__TWIN32__) && !defined(WXMAKINGDLL)) -#include "main.cpp" +//#include "main.cpp" #endif Index: src/msw/dialup.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/msw/dialup.cpp,v retrieving revision 1.34 diff -u -r1.34 dialup.cpp --- src/msw/dialup.cpp 2002/08/30 20:34:25 1.34 +++ src/msw/dialup.cpp 2002/12/24 22:18:02 @@ -50,7 +50,7 @@
// Doesn't yet compile under VC++ 4, BC++, Watcom C++, // Wine: no wininet.h -#if !defined(__BORLANDC__) && \ +#if 0 && !defined(__BORLANDC__) && \ (!defined(__GNUWIN32__) || wxCHECK_W32API_VERSION(0, 5)) && \ !defined(__GNUWIN32_OLD__) && \ !defined(__WATCOMC__) && \ Index: src/msw/gsocket.c =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/msw/gsocket.c,v retrieving revision 1.42 diff -u -r1.42 gsocket.c --- src/msw/gsocket.c 2002/12/06 16:57:30 1.42 +++ src/msw/gsocket.c 2002/12/24 22:18:04 @@ -11,6 +11,8 @@ * PLEASE don't put C++ comments here - this is a C source file. */
+#include <winsock.h> + #ifdef _MSC_VER /* RPCNOTIFICATION_ROUTINE in rasasync.h (included from winsock.h), * warning: conditional expression is constant. @@ -55,8 +57,6 @@ #include <stdlib.h> #include <stddef.h> #include <ctype.h> - -#include <winsock.h>
/* if we use configure for MSW SOCKLEN_T will be already defined */ #ifndef SOCKLEN_T Index: src/msw/utils.cpp =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/msw/utils.cpp,v retrieving revision 1.102 diff -u -r1.102 utils.cpp --- src/msw/utils.cpp 2002/12/07 00:58:11 1.102 +++ src/msw/utils.cpp 2002/12/24 22:18:06 @@ -47,6 +47,7 @@ #endif
#include "wx/timer.h" +#include <unistd.h>
#if !defined(__GNUWIN32__) && !defined(__WXWINE__) && !defined(__SALFORDC__) && !defined(__WXMICROWIN__) #include <direct.h> Index: src/png/pngconf.h =================================================================== RCS file: /pack/cvsroots/wxwindows/wxWindows/src/png/pngconf.h,v retrieving revision 1.7 diff -u -r1.7 pngconf.h --- src/png/pngconf.h 2002/12/04 14:10:03 1.7 +++ src/png/pngconf.h 2002/12/24 22:18:08 @@ -1157,9 +1157,10 @@ # endif #endif
-#if defined(__CYGWIN__) +#if 1 || defined(__CYGWIN__) # undef PNGAPI -# define PNGAPI __cdecl +//# define PNGAPI __cdecl +# define PNGAPI # undef PNG_IMPEXP # define PNG_IMPEXP #endif