BC++/16-bit support now working, but without resource system

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 1998-12-29 11:02:36 +00:00
parent 3eb78d7ebb
commit 3b1de9c2ee
10 changed files with 1651 additions and 36 deletions

View File

@ -2,7 +2,7 @@
wxWindows 2.0 for Windows Change Log
------------------------------------
Alpha 18, December 23nd 1998
Alpha 18, December 29th 1998
----------------------------
- Win16 support working again (VC++ 1.5)
@ -11,6 +11,9 @@ Alpha 18, December 23nd 1998
a little work on wxNotebook is still needed.
Under 16-bit Windows, get assertion when you click
on a tab.
- Wrote 16-bit BC++ makefiles: samples don't yet link.
- Added CodeWarrior support to distribution courtesy
of Stefan Csomor.
Alpha 17, November 22nd 1998
----------------------------

View File

@ -19,6 +19,7 @@ wx200hlp.zip WinHelp documentation
wx200pdf.zip Acrobat PDF documentation
wx200htm.zip HTML documentation
wx200vc.zip MS VC++ 5.0 project files
wx200cw.zip Metrowerks CodeWarrior project files
Unarchive the required files plus any optional documentation
files into a suitable directory such as c:\wx. Alter your
@ -73,12 +74,9 @@ Borland C++ 4.5/5.0 compilation
3. Change directory to a sample such as minimal, and type
'make -f makefile.b32'.
Note: the wxWindows library compiles in 16-bit mode (using makefile.bcc),
but the samples do not link because of the error:
Segment TEXT_RESOURCE exceeds 64K.
There may or may not be anything we can do about this.
Note: 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.
Watcom C++ 10.6 compilation
---------------------------
@ -96,8 +94,11 @@ Currently under construction, but so far we have:
Metrowerks CodeWarrior compilation
----------------------------------
Support is currently being added for this compiler by Stefan
Csomor.
1. Downloaded and unzip wx200cw.zip.
2. Load the make_cw.mcp project in wx\src, and compile.
3. Load the make_cw.mcp project in wx\samples\minimal, and compile.
Further project files for samples will be available in due
course.
Gnu-Win32 b19/b20/Mingw32 compilation
-------------------------------------

View File

@ -8,3 +8,22 @@ This conflicts with wxUSE_IOSTREAMSH = 0 using MS VC++ 5.0
(crashes the template code). It should be switched off if you
wish to use wxUSE_IOSTREAMSH = 0.
BC++ in 16-bit mode
-------------------
resource.cpp has to be split into two to compile (hence
resourc2.cpp). Unfortunately we still get the error:
Segment TEXT_RESOURCE exceeds 64K.
The solution is probably to load wxResourceBitListTable
dynamically using LoadString to load the names, and initialize the table
at wxWindows start-up.
Meanwhile the work-around is to switch wxUSE_WX_RESOURCES to 0
(done in setup.h if BC++/16-bit mode is detected).
See also:
http://www.inprise.com/devsupport/borlandcpp/ti_list/TI703.html
http://www.inprise.com/devsupport/borlandcpp/ti/TI1007.html

View File

@ -55,8 +55,16 @@
/// generic assert macro
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
#if 0 // defined(__BORLANDC__) && defined(__WIN16__)
// Too much text, so make wxASSERT_MSG the same as wxASSERT,
// thus removing the text from the program.
#define wxASSERT_MSG(x, m) if ( !(x) ) wxOnAssert(__FILE__, __LINE__)
#else
/// assert with additional message explaining it's cause
#define wxASSERT_MSG(x, m) if ( !(x) ) wxOnAssert(__FILE__, __LINE__, m)
#endif
#else
// nothing to do in release modes (hopefully at this moment there are
// no more bugs ;-)
@ -66,8 +74,15 @@
/// special form of assert: always triggers it (in debug mode)
#define wxFAIL wxASSERT(wxFalse)
#if 0 // defined(__BORLANDC__) && defined(__WIN16__)
// Too much text, so make wxFAIL_MSG the same as wxFAIL,
// thus removing the text from the program.
#define wxFAIL_MSG(msg) wxASSERT(wxFalse)
#else
/// FAIL with some message
#define wxFAIL_MSG(msg) wxASSERT_MSG(wxFalse, msg)
#endif
//@}
// NB: these macros work also in release mode!

View File

@ -88,6 +88,12 @@
#define wxUSE_WX_RESOURCES 1
// Use .wxr resource mechanism (requires PrologIO library)
// BC++/Win16 can't cope with the amount of data in resource.cpp
#if defined(__WIN16__) && defined(__BORLANDC__)
#undef wxUSE_WX_RESOURCES
#define wxUSE_WX_RESOURCES 0
#endif
#define HAVE_SOCKET 1
// Use WinSock if 1
#define wxUSE_DOC_VIEW_ARCHITECTURE 1

1577
src/common/resourc2.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@ -93,10 +93,10 @@ bool wxResourceParseIncludeFile(const wxString& f, wxResourceTable *table = (wxR
wxResourceTable *wxDefaultResourceTable = (wxResourceTable *) NULL;
static char *wxResourceBuffer = (char *) NULL;
static long wxResourceBufferSize = 0;
static long wxResourceBufferCount = 0;
static int wxResourceStringPtr = 0;
char *wxResourceBuffer = (char *) NULL;
long wxResourceBufferSize = 0;
long wxResourceBufferCount = 0;
int wxResourceStringPtr = 0;
void wxInitializeResourceSystem()
{
@ -1423,6 +1423,9 @@ wxFont wxResourceInterpretFontSpec(wxExpr *expr)
return font;
}
// Separate file for the remainder of this, for BC++/Win16
#if !(defined(__BORLANDC__) && defined(__WIN16__))
/*
* (Re)allocate buffer for reading in from resource file
*/
@ -2895,4 +2898,7 @@ wxControl *wxWindow::CreateItem(const wxItemResource *resource, const wxItemReso
#pragma warning(default:4706) // assignment within conditional expression
#endif // VC++
#endif
// BC++/Win16
#endif // wxUSE_WX_RESOURCES

View File

@ -4,22 +4,7 @@
!include $(WXDIR)\src\makebcc.env
WXLIB = $(WXDIR)\lib\wx.lib
LIBS=$(WXLIB) mathwl cwl import
!ifndef FINAL
FINAL=0
!endif
!if "$(FINAL)" == "0"
LINKFLAGS=/v/Vt /Twe /L$(WXDIR)\lib;$(BCCDIR)\lib
OPT = -Od
DEBUG_FLAGS= -v
!else
LINKFLAGS=/Twe /L$(WXDIR)\lib;$(BCCDIR)\lib
OPT = -O2
DEBUG_FLAGS =
!endif
CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
LIBS=$(WXLIB) mathwl cwl import ole2w16
all: $(TARGET).exe

View File

@ -557,7 +557,7 @@ int wxEntry(WXHINSTANCE hInstance,
int nCmdShow,
bool enterLoop)
{
#ifndef __WXDEBUG__ // take everything into a try-except block in release build
#if !defined(__WXDEBUG__) && !defined(__BORLANDC__) // take everything into a try-except block in release build
try {
#endif
@ -627,7 +627,7 @@ int wxEntry(WXHINSTANCE hInstance,
wxApp::CleanUp();
return retValue;
#ifndef __WXDEBUG__ // catch exceptions only in release build
#if !defined(__WXDEBUG__) && !defined(__BORLANDC__) // catch exceptions only in release build
}
except ( EXCEPTION_EXECUTE_HANDLER ) {
/*

View File

@ -115,6 +115,7 @@ COMMONOBJS = \
$(MSWDIR)\postscrp.obj \
$(MSWDIR)\prntbase.obj \
$(MSWDIR)\resource.obj \
$(MSWDIR)\resourc2.obj \
$(MSWDIR)\tbarbase.obj \
$(MSWDIR)\tbarsmpl.obj \
$(MSWDIR)\textfile.obj \
@ -188,7 +189,6 @@ MSWOBJS = \
$(MSWDIR)\gdiobj.obj \
$(MSWDIR)\helpwin.obj \
$(MSWDIR)\icon.obj \
$(MSWDIR)\imaglist.obj \
$(MSWDIR)\iniconf.obj \
$(MSWDIR)\joystick.obj \
$(MSWDIR)\listbox.obj \
@ -236,6 +236,7 @@ MSWOBJS = \
# $(MSWDIR)\uuid.obj
# $(MSWDIR)\droptgt.obj \
# $(MSWDIR)\dropsrc.obj \
# $(MSWDIR)\imaglist.obj \
# $(MSWDIR)\notebook.obj \
# $(MSWDIR)\listctrl.obj \
# $(MSWDIR)\tabctrl.obj \
@ -344,13 +345,13 @@ $(MSWDIR)\gdiobj.obj: $(MSWDIR)\gdiobj.$(SRCSUFF)
$(MSWDIR)\icon.obj: $(MSWDIR)\icon.$(SRCSUFF)
$(MSWDIR)\imaglist.obj: $(MSWDIR)\imaglist.$(SRCSUFF)
# $(MSWDIR)\imaglist.obj: $(MSWDIR)\imaglist.$(SRCSUFF)
$(MSWDIR)\joystick.obj: $(MSWDIR)\joystick.$(SRCSUFF)
$(MSWDIR)\listbox.obj: $(MSWDIR)\listbox.$(SRCSUFF)
$(MSWDIR)\listctrl.obj: $(MSWDIR)\listctrl.$(SRCSUFF)
# $(MSWDIR)\listctrl.obj: $(MSWDIR)\listctrl.$(SRCSUFF)
$(MSWDIR)\main.obj: $(MSWDIR)\main.$(SRCSUFF)
@ -424,7 +425,7 @@ $(MSWDIR)\thread.obj: $(MSWDIR)\thread.$(SRCSUFF)
$(MSWDIR)\timer.obj: $(MSWDIR)\timer.$(SRCSUFF)
$(MSWDIR)\treectrl.obj: $(MSWDIR)\treectrl.$(SRCSUFF)
# $(MSWDIR)\treectrl.obj: $(MSWDIR)\treectrl.$(SRCSUFF)
$(MSWDIR)\utils.obj: $(MSWDIR)\utils.$(SRCSUFF)
@ -499,6 +500,8 @@ $(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF)
$(MSWDIR)\resource.obj: $(COMMDIR)\resource.$(SRCSUFF)
$(MSWDIR)\resourc2.obj: $(COMMDIR)\resourc2.$(SRCSUFF)
$(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF)
$(MSWDIR)\tbarsmpl.obj: $(COMMDIR)\tbarsmpl.$(SRCSUFF)