Mingw32-gcc295.patches
+lib/dummy
+lib/wx*.def
lib/watcom/*.txt
lib/watcom/*.lib
lib/watcom/*.bat
include/wx/msw/*.ico
include/wx/msw/*.bmp
-lib/dummy
-
samples/ownerdrw/*.cpp
samples/ownerdrw/*.h
samples/ownerdrw/makefile.*
dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
-test: $(MSWDIR)\$D\wave.obj
-test2: ..\common\Debug\config.obj
-
$D:
mkdir $D
$(implib) @<<
-out:$@
-machine:$(CPU)
-$(OBJECTS) $(PERIPH_LIBS)
+$(OBJECTS) $D\dummy.obj $(PERIPH_LIBS)
<<
!else
<<
# Compile certain files with no optimization (some files cause a
-# compiler crash for buggy versions of VC++, e.g. 4.0)
+# compiler crash for buggy versions of VC++, e.g. 4.0).
+# Don't forget to put FINAL=1 on the command line.
noopt:
cl @<<
$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\datetime.obj /c /Tp $(COMMDIR)\datetime.cpp
-erase $(COMMDIR)\$D\*.obj
-erase $(COMMDIR)\$D\*.pdb
-erase $(COMMDIR)\$D\*.sbr
- -erase $(COMMDIR)\\y_tab.c
+ -erase $(COMMDIR)\y_tab.c
-erase $(COMMDIR)\lex_yy.c
-erase $(MSWDIR)\$D\*.obj
-erase $(MSWDIR)\$D\*.sbr
move referenc.ps $(WXDIR)\docs\ps\referenc.ps
cd $(THISDIR)
+# An htb file is a zip file containing the .htm, .gif, .hhp, .hhc and .hhk
+# files, renamed to htb.
+# This can then be used with e.g. helpview.
+# Optionally, a cached version of the .hhp file can be generated with hhp2cached.
+htb:
+ cd $(WXDIR)\docs\html\wx
+ -erase /Y wx.zip wx.htb
+ zip32 wx.zip *.htm *.gif *.hhp *.hhc *.hhk
+ ren wx.zip wx.htb
+ cd $(THISDIR)
+
# In order to force document reprocessing
touchmanual:
-touch $(WXDIR)\docs\latex\wx\manual.tex
'nmake -f makefile.vc'
to make the wxWindows core library with debug information
- (wx\lib\wx_d.lib), or
+ (wx\lib\wxd.lib), then
+ 'nmake -f makefile.vc cleanall FINAL=1'
'nmake -f makefile.vc FINAL=1'
to make the wxWindows core library without debug information
Makefile notes:
- Use the 'clean' target to clean all objects, libraries and
+ Use the 'cleanall' target to clean all objects, libraries and
executables.
To build the release version using makefiles, add FINAL=1 to your
nmake invocation, both when building the library and for samples.
+ You MUST use the 'cleanall' target (with FINAL=1 or FINAL=0)
+ before making a different configuration, because otherwise
+ object files used to build the previous configuration may be
+ used accidentally for the current configuation. You might see
+ this manifested in unexpected link errors or warnings. This problem
+ doesn't occur when using project files to build wxWindows.
Note that the wxWindows core library allows you to have debug
and release libraries available simultaneously, by compiling the
objects in different subdirectories, whereas samples must be
- cleaned and re-made to build a different configuration. This
- may be changed in later versions of wxWindows.
+ cleaned and re-made to build a different configuration.
To build the DLL version using makefiles:
nmake -f makefile.vc noopt FINAL=1
and then resume compilation in the normal way. This will build
-troublesome files with no optimization.
+troublesome files with no optimization. However, there now seems to be
+an internal linker error using VC++ 4, in addition to internal
+compiler errors for most of the samples, so this version of the compiler
+cannot be recommended!
Note (4): some crash problems can be due to inconsistent compiler
options. If strange/weird/impossible things start to happen please
wxUSE_LIBJPEG because there is a conflict in the BC++ headers
(actually this problem seems to have gone away with 5.5 and SP1).
+Note (7): If you wish debug messages to be sent to the console in
+debug mode, edit src\makeb32.env and change /aa to /Tpe in
+LINK_FLAGS.
+
Compiling using the IDE files:
1. Load src\bc32.ide (Release settings)
// support instead.
#define wxUSE_BITMAP_MESSAGE 1
// Define 1 to use bitmap messages.
-#define wxUSE_PORTABLE_FONTS_IN_MSW 0
- // Define 1 to use new portable font scheme in Windows
- // (used by default under X)
#define wxFONT_SIZE_COMPATIBILITY 0
// Define 1 for font size to be backward compatible
// to 1.63 and earlier. 1.64 and later define point
// sizes to be compatible with Windows.
-#define wxUSE_PENWINDOWS 0
+#define wxUSE_PENWINDOWS 0
// Set to 1 to use PenWindows
#define wxUSE_OWNER_DRAWN 1
#undef wxUSE_DEBUG_NEW_ALWAYS
#define wxUSE_DEBUG_NEW_ALWAYS 0
-
-#ifndef _MBCS
-// #define _MBCS
-#endif
#endif // wxUSE_MFC
#if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS)
!include $(WXDIR)\src\makeprog.vc
+# For broken VC++ 4
+noopt:
+ cl @<<
+$(CPPFLAGS2) /Od /c /Tp $(PROGRAM).cpp
+<<
+
nmake -f makefile.vc clean
# cd $(THISDIR)
-$(PROGRAM).exe: $(DUMMYOBJ) $(WXLIB) $(OBJECTS) $(PROGRAM).res
+$(PROGRAM).exe: $(WXLIB) $(OBJECTS) $(PROGRAM).res
$(link) @<<
-out:$(PROGRAM).exe
$(LINKFLAGS)
-$(DUMMYOBJ) $(OBJECTS) $(PROGRAM).res
+$(OBJECTS) $(DUMMYOBJ) $(PROGRAM).res
$(LIBS)
<<
// This is to foil optimizations in Visual C++ that throw out dummy.obj.
// PLEASE DO NOT ALTER THIS.
-#if defined(__VISUALC__) && !defined(WXMAKINGDLL)
+#if defined(__VISUALC__) && defined(__WIN16__) && !defined(WXMAKINGDLL)
extern char wxDummyChar;
if (wxDummyChar) wxDummyChar++;
#endif
// Foils optimizations in Visual C++ (see also app.cpp). Without it,
// dummy.obj isn't linked and we get a linker error.
-#if defined(__VISUALC__)
+#if defined(__VISUALC__) && defined(__WIN16__)
char wxDummyChar = 0;
#endif
#include "wx/msw/private.h"
- IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
-
- #if wxUSE_PORTABLE_FONTS_IN_MSW
- IMPLEMENT_DYNAMIC_CLASS(wxFontNameDirectory, wxObject)
- #endif
+IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
// ----------------------------------------------------------------------------
// wxFontRefData - the internal description of the font
dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
-test: $(MSWDIR)\$D\wave.obj
-test2: ..\common\Debug\config.obj
-
$D:
mkdir $D
$(implib) @<<
-out:$@
-machine:$(CPU)
-$(OBJECTS) $(PERIPH_LIBS)
+$(OBJECTS) $D\dummy.obj $(PERIPH_LIBS)
<<
!else
# Compile certain files with no optimization (some files cause a
# compiler crash for buggy versions of VC++, e.g. 4.0)
+# Don't forget to put FINAL=1 on the command line.
noopt:
cl @<<
$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\datetime.obj /c /Tp $(COMMDIR)\datetime.cpp
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\src\msw
-cleanall: clean_png clean_zlib clean_xpm clean_jpeg clean_tiff
+cleanall: clean clean_png clean_zlib clean_xpm clean_jpeg clean_tiff
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).dll
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).lib
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).exp
-erase $(COMMDIR)\$D\*.obj
-erase $(COMMDIR)\$D\*.pdb
-erase $(COMMDIR)\$D\*.sbr
- -erase $(COMMDIR)\\y_tab.c
+ -erase $(COMMDIR)\y_tab.c
-erase $(COMMDIR)\lex_yy.c
-erase $(MSWDIR)\$D\*.obj
-erase $(MSWDIR)\$D\*.sbr
all: $(WINPNGLIB)
$(WINPNGLIB): $(OBJECTS)
- -del $(WINPNGLIB)
+ -erase $(WINPNGLIB)
lib @<<
-out:$(WINPNGLIB)
$(OBJECTS)
clean:
-erase *.obj
-erase *.exe
- -erase *.lib
+ -erase $(WINPNGLIB)
cleanall: clean
LIBOBJECTS = $(OBJ1) $(OBJ2)
$(LIBTARGET): $(LIBOBJECTS)
- -del $(LIBTARGET)
+ -erase $(LIBTARGET)
lib @<<
-out:$(LIBTARGET)
$(LIBOBJECTS)