some wxMSW/gcc compile fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4131
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
14 files changed:
PLEASE APPLY THESE PATCHES BY HAND! There are apparently a few
different versions of the headers floating around.
PLEASE APPLY THESE PATCHES BY HAND! There are apparently a few
different versions of the headers floating around.
-->copy wxWin\src\makeg295.env to wxWin\src\makeg95.env
+->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.
-> type: cd c:\wxWin\src\msw
-> type: make -f makefile.g95 (if using GNU tools)
-> type: cd c:\wxWin\src\msw
-> type: make -f makefile.g95 (if using GNU tools)
-or type: make -f makefile.g295 (if using Mingw32/gcc-2.95)
or type: make -f makefile.vc (if using MS VC++)
or type: make -f makefile.vc (if using MS VC++)
samples/wizard/*.ico
samples/wizard/*.txt
samples/wizard/*.ico
samples/wizard/*.txt
+samples/console/*.cpp
+samples/console/*.h
+samples/console/makefile*
+samples/console/*.rc
+samples/console/*.def
+samples/console/*.bmp
+samples/console/*.xpm
+samples/console/*.xbm
+samples/console/*.png
+samples/console/*.ico
+samples/console/*.txt
+
next if $wxCommon{$file} =~ /\b(16)\b/;
#! needs extra files (sql*.h) so not compiled by default.
next if $wxCommon{$file} =~ /\b(16)\b/;
#! needs extra files (sql*.h) so not compiled by default.
- next if $file =~ /^odbc\./;
+ #! next if $file =~ /^odbc\./;
- $file =~ s/cp?p?$/\$(OBJSUFF)/;
- $project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
+ if ( $file =~ /^odbc\./ )
+ {
+ $file =~ s/cp?p?$/\$(OBJSUFF)/;
+ $project{"ADVANCEDOBJS"} .= '$(COMMDIR)/' . $file . " "
+ }
+ else
+ {
+ $file =~ s/cp?p?$/\$(OBJSUFF)/;
+ $project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
+ }
}
foreach $file (sort keys %wxMSW) {
}
foreach $file (sort keys %wxMSW) {
- #! Mingw32 doesn't have the OLE headers and has some troubles with
- #! socket code
- next if $wxMSW{$file} =~ /\b(O|16)\b/;
-
#! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
next if $file =~ /^dirdlg\./;
#! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
next if $file =~ /^dirdlg\./;
- $file =~ s/cp?p?$/\$(OBJSUFF)/;
- $project{"WXMSWOBJS"} .= '$(MSWDIR)/' . $file . " "
+ next if $wxMSW{$file} =~ /\b(16)\b/;
+
+ #! Mingw32 doesn't have the OLE headers and has some troubles with
+ #! socket code, so put in ADVANCEDOBJS
+ if ( $wxMSW{$file} =~ /\b(O)\b/ )
+ {
+ $file =~ s/cp?p?$/\$(OBJSUFF)/;
+ $project{"ADVANCEDOBJS"} .= '$(MSWDIR)/ole/' . $file . " "
+ }
+ else
+ {
+ $file =~ s/cp?p?$/\$(OBJSUFF)/;
+ $project{"WXMSWOBJS"} .= '$(MSWDIR)/' . $file . " "
+ }
+
}
foreach $file (sort keys %wxHTML) {
}
foreach $file (sort keys %wxHTML) {
MSWOBJS = \
#$ ExpandList("WXMSWOBJS");
MSWOBJS = \
#$ ExpandList("WXMSWOBJS");
+ADVANCEDOBJS = \
+ #$ ExpandList("ADVANCEDOBJS");
+
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
+ $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(ADVANCEDOBJS) # $(XPMOBJECTS)
+
+ifeq ($(MINGW32),1)
+ ifeq ($(MINGW32VERSION),2.95)
+ OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
+ $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS)
+ else
+ OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
+ $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
+ endif
+else
+ OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
# mv y.tab.c $(COMMDIR)/y_tab.c
clean:
# mv y.tab.c $(COMMDIR)/y_tab.c
clean:
- -erase *.o
- -erase *.bak
- -erase core
- -erase ..\common\y_tab.c
- -erase ..\common\lex_yy.c
- -erase ..\common\*.o
- -erase ..\common\*.bak
- -erase ..\generic\*.o
- -erase ..\generic\*.bak
- -erase ..\html\*.o
- -erase ..\png\*.o
- -erase ..\png\*.bak
- -erase ..\zlib\*.o
- -erase ..\zlib\*.bak
- -erase ..\jpeg\*.o
- -erase ..\..\lib\libwx.a
+ rm -f *.o
+ rm -f *.bak
+ rm -f core
+ rm -f ..\common\y_tab.c
+ rm -f ..\common\lex_yy.c
+ rm -f ..\common\*.o
+ rm -f ..\common\*.bak
+ rm -f ..\generic\*.o
+ rm -f ..\generic\*.bak
+ rm -f ..\html\*.o
+ rm -f ..\png\*.o
+ rm -f ..\png\*.bak
+ rm -f ..\zlib\*.o
+ rm -f ..\zlib\*.bak
+ rm -f ..\jpeg\*.o
+ rm -f ..\..\lib\libwx.a
supported platforms (currently Windows and GTK only).
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
defaults to wxRegConfig on WIN32, wxIniConfig on WIN16, and wxFileConfig on other platforms.
supported platforms (currently Windows and GTK only).
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
defaults to wxRegConfig on WIN32, wxIniConfig on WIN16, and wxFileConfig on other platforms.
+<li><a href="../../samples/console">console</a>: demonstrates a console application using
+console-mode (no-GUI) compilation of wxWindows.
<li><a href="../../samples/controls">controls</a>: sample showing a variety of controls, including
wxNotebook.
<li><a href="../../samples/db">db</a>: wxDB ODBC sample.
<li><a href="../../samples/controls">controls</a>: sample showing a variety of controls, including
wxNotebook.
<li><a href="../../samples/db">db</a>: wxDB ODBC sample.
'make -f makefile.b32 FINAL=1'
for the library and samples.
'make -f makefile.b32 FINAL=1'
for the library and samples.
-Note: the wxWindows library and (some) samples compile in 16-bit mode
+Note (1): the wxWindows library and (some) samples compile in 16-bit mode
using makefile.bcc, but at present the wxWindows resource system is switched
off in this mode. See issues.txt for details.
using makefile.bcc, but at present the wxWindows resource system is switched
off in this mode. See issues.txt for details.
+Note (2): the wxWindows makefiles assume byte structure alignment. Please
+make sure that your own project or makefile settings use the
+same alignment, or you could experience mysterious crashes. To
+change the alignment, add a suitable option to the $(CFG) target code
+in src/msw/makefile.b32.
+
Compiling using the IDE files:
1. Load src\bc32.ide (or src\bc32d.ide for a debugging version).
Compiling using the IDE files:
1. Load src\bc32.ide (or src\bc32d.ide for a debugging version).
- For Cygwin, make sure there's a \tmp directory on your
Windows drive or bison will crash.
- For Cygwin, make sure there's a \tmp directory on your
Windows drive or bison will crash.
-- makeg95.env configuation:
-
- 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).
- 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.
- Mingw32 may not support winsock.h, so if you have a problem
here, comment out socket-related files in src/msw/makefile.g95.
- Mingw32 may not support winsock.h, so if you have a problem
here, comment out socket-related files in src/msw/makefile.g95.
// 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)))
// 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)))
+#ifndef wxUSE_NORLANDER_HEADERS
# define wxUSE_NORLANDER_HEADERS 1
#endif
# define wxUSE_NORLANDER_HEADERS 1
#endif
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
// complains about deallocating
// arrays of wxPoints if wxPoint is a class.
// complains about deallocating
// arrays of wxPoints if wxPoint is a class.
-#if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__)&&!defined(wxUSE_NORLANDER_HEADERS))
+#if defined(__MINGW32__) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))
+#ifndef wxUSE_NORLANDER_HEADERS
+# define wxUSE_NORLANDER_HEADERS 1
+#endif
+#endif
+
+#if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS))
// Can't use OLE drag and drop in Windows 3.1 because we don't know how
// to implement UUIDs
// GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
// Can't use OLE drag and drop in Windows 3.1 because we don't know how
// to implement UUIDs
// GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
#include "wx/string.h"
#include "wx/splitter.h"
#include "wx/dcscreen.h"
#include "wx/string.h"
#include "wx/splitter.h"
#include "wx/dcscreen.h"
+#include "wx/settings.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxSplitterWindow, wxWindow)
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxSplitterWindow, wxWindow)
# If using Cygwin, set this to 0.
# If using Mingw32, set this to 1.
# If using Cygwin, set this to 0.
# If using Mingw32, set this to 1.
+MINGW32=1
+
+# Set to the version you have
+MINGW32VERSION=2.95
########################## Compiler ##################################
########################## Compiler ##################################
# Put a comment before --pipe for Cygwin, remove comment for Mingw32 2.95
ifeq ($(MINGW32),1)
# Put a comment before --pipe for Cygwin, remove comment for Mingw32 2.95
ifeq ($(MINGW32),1)
-CC = gcc --pipe -fvtable-thunks
+ ifeq ($(MINGW32VERSION),2.95)
+ CC = gcc --pipe -fvtable-thunks
+ else
+ CC = gcc
+ endif
endif
# C compiler for pure C programs
endif
# C compiler for pure C programs
WXBASESRC=$(WXDIR)/src/common
WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx.$(LIBSUFF)
WXBASESRC=$(WXDIR)/src/common
WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx.$(LIBSUFF)
+GNUWIN32EXTRA=-I$(WXDIR)/include/wx/msw/gnuwin32
+
+ifeq ($(MINGW32),1)
+ ifeq ($(MINGW32),2.95)
+ GNUWIN32EXTRA=
+ endif
+endif
+
ifeq ($(MINGW32),1)
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib $(EXTRAINC) $(COMPPATHS)
else
ifeq ($(MINGW32),1)
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib $(EXTRAINC) $(COMPPATHS)
else
-# This file was automatically generated by tmake at 15:16, 1999/10/21
+# This file was automatically generated by tmake at 12:32, 1999/10/22
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
#
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
#
$(MSWDIR)/window.$(OBJSUFF) \
$(MSWDIR)/xpmhand.$(OBJSUFF)
$(MSWDIR)/window.$(OBJSUFF) \
$(MSWDIR)/xpmhand.$(OBJSUFF)
+ADVANCEDOBJS = \
+ $(COMMDIR)/odbc.$(OBJSUFF) \
+ $(MSWDIR)/ole/automtn.$(OBJSUFF) \
+ $(MSWDIR)/ole/dataobj.$(OBJSUFF) \
+ $(MSWDIR)/ole/dropsrc.$(OBJSUFF) \
+ $(MSWDIR)/ole/droptgt.$(OBJSUFF) \
+ $(MSWDIR)/ole/oleutils.$(OBJSUFF) \
+ $(MSWDIR)/ole/uuid.$(OBJSUFF)
+
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
+ $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(ADVANCEDOBJS) # $(XPMOBJECTS)
+
+ifeq ($(MINGW32),1)
+ ifeq ($(MINGW32VERSION),2.95)
+ OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
+ $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS)
+ else
+ OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
+ $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
+ endif
+else
+ OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
# mv y.tab.c $(COMMDIR)/y_tab.c
clean:
# mv y.tab.c $(COMMDIR)/y_tab.c
clean:
- -erase *.o
- -erase *.bak
- -erase core
- -erase ..\common\y_tab.c
- -erase ..\common\lex_yy.c
- -erase ..\common\*.o
- -erase ..\common\*.bak
- -erase ..\generic\*.o
- -erase ..\generic\*.bak
- -erase ..\html\*.o
- -erase ..\png\*.o
- -erase ..\png\*.bak
- -erase ..\zlib\*.o
- -erase ..\zlib\*.bak
- -erase ..\jpeg\*.o
- -erase ..\..\lib\libwx.a
+ rm -f *.o
+ rm -f *.bak
+ rm -f core
+ rm -f ..\common\y_tab.c
+ rm -f ..\common\lex_yy.c
+ rm -f ..\common\*.o
+ rm -f ..\common\*.bak
+ rm -f ..\generic\*.o
+ rm -f ..\generic\*.bak
+ rm -f ..\html\*.o
+ rm -f ..\png\*.o
+ rm -f ..\png\*.bak
+ rm -f ..\zlib\*.o
+ rm -f ..\zlib\*.bak
+ rm -f ..\jpeg\*.o
+ rm -f ..\..\lib\libwx.a
- return n < nFormats ? format : wxDF_INVALID;
+ return (n < nFormats) ? (wxDataFormat) format : (wxDataFormat) wxDF_INVALID;
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\clipcmn.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\cmndata.cpp
# End Source File
# Begin Source File
SOURCE=.\common\cmndata.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\dobjcmn.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\dlgcmn.cpp
# End Source File
# Begin Source File
SOURCE=.\common\dlgcmn.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\clipcmn.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\cmndata.cpp
# End Source File
# Begin Source File
SOURCE=.\common\cmndata.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\dobjcmn.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\dlgcmn.cpp
# End Source File
# Begin Source File
SOURCE=.\common\dlgcmn.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\clipcmn.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\cmndata.cpp
# End Source File
# Begin Source File
SOURCE=.\common\cmndata.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\dobjcmn.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\dlgcmn.cpp
# End Source File
# Begin Source File
SOURCE=.\common\dlgcmn.cpp
# End Source File
# Begin Source File