]> git.saurik.com Git - wxWidgets.git/commitdiff
Modified Mingw32 makefiles to compile with Mingw32 2.95 or earlier;
authorJulian Smart <julian@anthemion.co.uk>
Fri, 22 Oct 1999 12:03:54 +0000 (12:03 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 22 Oct 1999 12:03:54 +0000 (12:03 +0000)
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:
BuildCVS.txt
distrib/msw/generic.rsp
distrib/msw/tmake/g95.t
docs/html/index.htm
docs/msw/install.txt
include/wx/defs.h
include/wx/msw/setup0.h
src/generic/splitter.cpp
src/makeg95.env
src/msw/makefile.g95
src/msw/ole/droptgt.cpp
src/wxvc.dsp
src/wxvc6.dsp
src/wxvc_dll.dsp

index 5090ca048007e1def5ccf542586d3ce6a0fb07c5..75480522d01cb74b4a561a89e7874c6ab59de263 100644 (file)
@@ -51,7 +51,10 @@ Instructions are similar to those for Regular Mingw32 except
   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.
 
 
 c) Build instructions
@@ -81,7 +84,6 @@ c) Build instructions
 
 -> 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++)
 
 
index 281cf708fedf45f5863e7ed0c096912a734da150..c9354a30a73c30fd8262172c49cdcf8244bcc9ef 100644 (file)
@@ -919,3 +919,15 @@ samples/wizard/*.png
 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
+
index d685da66fae7d8c1863fa610f9221d318cfa4250..0148b7e1131ad5df9f8ff71620ab1e1607249390 100644 (file)
         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) {
-        #! 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\./;
 
-        $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) {
@@ -102,6 +119,9 @@ HTMLOBJS = \
 MSWOBJS     = \
                #$ ExpandList("WXMSWOBJS");
 
+ADVANCEDOBJS     = \
+               #$ ExpandList("ADVANCEDOBJS");
+
 ZLIBOBJS    = \
                $(ZLIBDIR)/adler32.$(OBJSUFF) \
                $(ZLIBDIR)/compress.$(OBJSUFF) \
@@ -197,7 +217,20 @@ XPMOBJECTS =       $(XPMDIR)/crbuffri.o\
                $(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)
+endif
 
 all:    $(OBJECTS) $(WXLIB)
 
@@ -247,21 +280,21 @@ $(COMMDIR)/lex_yy.c:    $(COMMDIR)/doslex.c
 #      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
 
 cleanall: clean
index b9410f8706cdace302a9fe4f0c204c707d79e9cc..a789110d601bb1cf75ba21174988e9a1058c6790 100644 (file)
@@ -190,6 +190,8 @@ downloaded from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P
 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.
index ab597749ba4289fd7ce7f534f4f19b10a486973e..597f4a7b52d1387007c7f264eacb1638aaea4933 100644 (file)
@@ -211,10 +211,16 @@ Compiling using the makefiles:
    '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.
 
+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).
@@ -342,10 +348,10 @@ Here are the steps required:
 - 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).
+  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.
index 18aefbaaef007207d2164d191dca97f8c012aa25..5154c388ab4d59979b3a53c81467931dbc8bb2b8 100644 (file)
 // 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
+#endif
 
 
 //////////////////////////////////////////////////////////////////////////////////
index fa3435b1afe0f015801892d15ba5e69916d28519..1dca866f7e5e65ae8565f96edcd76ed0bb1dbf5a 100644 (file)
                                 // 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.
index 70ac816c857e5874c8f2f7c431eccb6ccf5774b9..4360b6c9b9e1a07467a01ffe850044a3f0061d66 100644 (file)
@@ -31,6 +31,7 @@
 #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)
index 2250b07a5c423c63b9b86282fa6bce28c85b4f82..d014e9d8271bf2d8315d8de976c9542f91bad8c6 100644 (file)
@@ -7,7 +7,10 @@
 
 # If using Cygwin, set this to 0.
 # If using Mingw32, set this to 1.
-MINGW32=0
+MINGW32=1
+
+# Set to the version you have
+MINGW32VERSION=2.95
 
 ########################## Compiler ##################################
 
@@ -15,9 +18,13 @@ MINGW32=0
 # 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
 else
-CC = gcc
+  CC = gcc
 endif
 
 # C compiler for pure C programs
@@ -119,6 +126,14 @@ WXINC=$(WXDIR)/include
 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
index acdf0fa1e9ca01d0380d31fb81109f1e9bb73757..e6f37e0f9595eb794aa27072c0a567bbff43bc11 100644 (file)
@@ -1,5 +1,5 @@
 
-# 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!
 
 #
@@ -258,6 +258,15 @@ MSWOBJS     = \
                $(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) \
@@ -353,7 +362,20 @@ XPMOBJECTS =       $(XPMDIR)/crbuffri.o\
                $(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)
+endif
 
 all:    $(OBJECTS) $(WXLIB)
 
@@ -403,21 +425,21 @@ $(COMMDIR)/lex_yy.c:    $(COMMDIR)/doslex.c
 #      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
 
 cleanall: clean
index 8ef6c9cdee88e4e24b87b236eec4ff76cf24ef4b..897e2279dd5012ee593cef2f7265177a7e2b7ca0 100644 (file)
@@ -417,7 +417,7 @@ wxDataFormat wxDropTarget::GetSupportedFormat(IDataObject *pIDataSource) const
         delete [] formats;
     }
 
-    return n < nFormats ? format : wxDF_INVALID;
+    return (n < nFormats) ? (wxDataFormat) format : (wxDataFormat) wxDF_INVALID;
 }
 
 // ----------------------------------------------------------------------------
index beaba79fbd868aec372022a263f9faaca6c48c30..fc79913c22b67b2af089a284c9b0d4243c6cfdc9 100644 (file)
@@ -87,6 +87,10 @@ SOURCE=.\common\choiccmn.cpp
 # 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
@@ -119,6 +123,10 @@ SOURCE=.\common\dcbase.cpp
 # 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
index e32664b1ee0a30a611444dcef09aabb1c044b04a..5f2624c4eb3811f08ba80c80057a6e0fa52b5c0c 100644 (file)
@@ -93,6 +93,10 @@ SOURCE=.\common\choiccmn.cpp
 # 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
@@ -125,6 +129,10 @@ SOURCE=.\common\dcbase.cpp
 # 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
index 301e4cd19105de2585fa82515737323f7173f284..51a29716a086c065dec5828eb8d12ffa4121bf31 100644 (file)
@@ -100,6 +100,10 @@ SOURCE=.\common\choiccmn.cpp
 # 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
@@ -132,6 +136,10 @@ SOURCE=.\common\dcbase.cpp
 # 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