* some C++ness correction in wxStream.
* added support for DLL on Borland32 * fixed export bugs * fixed a portability problem in socket.cpp * added a missing function in utilsexc.cpp git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
|
||||
#include <wx/stream.h>
|
||||
|
||||
class wxDataInputStream: virtual public wxFilterInputStream {
|
||||
class wxDataInputStream: public virtual wxFilterInputStream {
|
||||
public:
|
||||
wxDataInputStream(wxInputStream& s);
|
||||
virtual ~wxDataInputStream();
|
||||
@@ -31,7 +31,7 @@ public:
|
||||
wxString ReadString();
|
||||
};
|
||||
|
||||
class wxDataOutputStream: virtual public wxFilterOutputStream {
|
||||
class wxDataOutputStream: public virtual wxFilterOutputStream {
|
||||
public:
|
||||
wxDataOutputStream(wxOutputStream& s);
|
||||
virtual ~wxDataOutputStream();
|
||||
|
@@ -51,7 +51,7 @@
|
||||
@param szFile and nLine - file name and line number of the ASSERT
|
||||
szMsg - optional message explaining the reason
|
||||
*/
|
||||
void wxOnAssert(const char *szFile, int nLine, const char *szMsg = (const char *) NULL);
|
||||
void WXDLLEXPORT wxOnAssert(const char *szFile, int nLine, const char *szMsg = (const char *) NULL);
|
||||
|
||||
/// generic assert macro
|
||||
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
|
||||
|
@@ -22,8 +22,8 @@ protected:
|
||||
bool m_file_destroy;
|
||||
};
|
||||
|
||||
class wxFileInputStream: virtual public wxInputStream,
|
||||
virtual public wxFileStreamBase {
|
||||
class wxFileInputStream: public virtual wxInputStream,
|
||||
public virtual wxFileStreamBase {
|
||||
public:
|
||||
wxFileInputStream(const wxString& fileName);
|
||||
virtual ~wxFileInputStream();
|
||||
@@ -40,8 +40,8 @@ class wxFileInputStream: virtual public wxInputStream,
|
||||
off_t DoTellInput() const;
|
||||
};
|
||||
|
||||
class wxFileOutputStream: virtual public wxOutputStream,
|
||||
virtual public wxFileStreamBase {
|
||||
class wxFileOutputStream: public virtual wxOutputStream,
|
||||
public virtual wxFileStreamBase {
|
||||
public:
|
||||
wxFileOutputStream(const wxString& fileName);
|
||||
virtual ~wxFileOutputStream();
|
||||
|
@@ -115,7 +115,7 @@ private:
|
||||
// ----------------------------------------------------------------------------
|
||||
// global functions
|
||||
// ----------------------------------------------------------------------------
|
||||
WXDLLEXPORT wxLocale* wxGetLocale();
|
||||
wxLocale* WXDLLEXPORT wxGetLocale();
|
||||
|
||||
// get the translation of the string in the current locale
|
||||
inline WXDLLEXPORT const char *wxGetTranslation(const char *sz)
|
||||
|
@@ -27,7 +27,7 @@ class wxMemoryStreamBase {
|
||||
int m_iolimit;
|
||||
};
|
||||
|
||||
class wxMemoryInputStream: virtual public wxMemoryStreamBase, public wxInputStream {
|
||||
class wxMemoryInputStream: public virtual wxMemoryStreamBase, public wxInputStream {
|
||||
public:
|
||||
wxMemoryInputStream(const char *data, size_t length);
|
||||
virtual ~wxMemoryInputStream();
|
||||
@@ -44,7 +44,7 @@ class wxMemoryInputStream: virtual public wxMemoryStreamBase, public wxInputStre
|
||||
off_t m_position_i;
|
||||
};
|
||||
|
||||
class wxMemoryOutputStream: virtual public wxMemoryStreamBase, public wxOutputStream {
|
||||
class wxMemoryOutputStream: public virtual wxMemoryStreamBase, public wxOutputStream {
|
||||
public:
|
||||
wxMemoryOutputStream(char *data = NULL, size_t length = 0);
|
||||
virtual ~wxMemoryOutputStream();
|
||||
|
@@ -183,8 +183,8 @@ class WXDLLEXPORT wxOutputStream {
|
||||
wxStreamBuffer *m_o_streambuf;
|
||||
};
|
||||
|
||||
class wxStream: virtual public wxInputStream,
|
||||
virtual public wxOutputStream
|
||||
class wxStream: public virtual wxInputStream,
|
||||
public virtual wxOutputStream
|
||||
{
|
||||
public:
|
||||
wxStream();
|
||||
@@ -194,7 +194,7 @@ class wxStream: virtual public wxInputStream,
|
||||
// "Filter" streams
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxFilterInputStream: virtual public wxInputStream {
|
||||
class WXDLLEXPORT wxFilterInputStream: public virtual wxInputStream {
|
||||
public:
|
||||
wxFilterInputStream();
|
||||
wxFilterInputStream(wxInputStream& stream);
|
||||
@@ -215,7 +215,7 @@ class WXDLLEXPORT wxFilterInputStream: virtual public wxInputStream {
|
||||
wxInputStream *m_parent_i_stream;
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxFilterOutputStream: virtual public wxOutputStream {
|
||||
class WXDLLEXPORT wxFilterOutputStream: public virtual wxOutputStream {
|
||||
public:
|
||||
wxFilterOutputStream();
|
||||
wxFilterOutputStream(wxOutputStream& stream);
|
||||
@@ -237,8 +237,8 @@ class WXDLLEXPORT wxFilterOutputStream: virtual public wxOutputStream {
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxFilterStream: public wxStream,
|
||||
virtual public wxFilterInputStream,
|
||||
virtual public wxFilterOutputStream {
|
||||
public virtual wxFilterInputStream,
|
||||
public virtual wxFilterOutputStream {
|
||||
public:
|
||||
wxFilterStream(wxStream& stream);
|
||||
wxFilterStream();
|
||||
|
@@ -1022,10 +1022,11 @@ void wxSocketBase::WantSpeedBuffer(char *buffer, size_t nbytes,
|
||||
switch (evt) {
|
||||
case EVT_PEEK:
|
||||
case EVT_READ:
|
||||
ret = read(m_fd, buffer, nbytes);
|
||||
ret = recv(m_fd, buffer, nbytes,
|
||||
(evt == EVT_PEEK) ? MSG_PEEK : 0);
|
||||
break;
|
||||
case EVT_WRITE:
|
||||
ret = write(m_fd, buffer, nbytes);
|
||||
ret = send(m_fd, buffer, nbytes, 0);
|
||||
break;
|
||||
}
|
||||
if (ret < 0) {
|
||||
|
@@ -17,9 +17,44 @@ DEBUG_FLAGS= -v -DWXDEBUG=1 -D__WXDEBUG__ -DUSE_DEFINE
|
||||
OPT = -O2
|
||||
DEBUG_FLAGS = -DUSE_DEFINE
|
||||
!endif
|
||||
CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
|
||||
|
||||
LIBTARGET= $(WXLIBDIR)\wx32.lib
|
||||
!ifndef DLL
|
||||
DLL=0
|
||||
!endif
|
||||
|
||||
# Target WXMAKINGDLL WXUSINGDLL WXBUILDDLL
|
||||
# wxWin DLL 1 0 1
|
||||
# wxWin STATIC 0 0 0
|
||||
# App use wxWin DLL 0 1 0
|
||||
# DLL use wxWin DLL 0 1 1
|
||||
# DLL use wxWin STATIC 0 0 1
|
||||
#
|
||||
|
||||
!if "$(WXMAKINGDLL)" == "1"
|
||||
DLL_FLAGS= -DWXMAKINGDLL=1 -D_WINDLL
|
||||
WXLIB= $(WXLIBDIR)\wx200.lib
|
||||
|
||||
!else
|
||||
|
||||
LINK_FLAGS= /Tpe /ap /c
|
||||
|
||||
!if "$(WXUSINGDLL)" == "1"
|
||||
DLL_FLAGS= -DWXUSINGDLL=1
|
||||
WXLIB= $(WXLIBDIR)\wx200.lib
|
||||
!else
|
||||
DLL_FLAGS=
|
||||
WXLIB= $(WXLIBDIR)\wx32.lib
|
||||
!endif
|
||||
|
||||
!endif
|
||||
|
||||
!if "$(WXBUILDDLL)" == "1"
|
||||
DLL_FLAGS= $(DLL_FLAGS) -D_RTLDLL
|
||||
LINK_FLAGS= /Tpd /ap /c
|
||||
!endif
|
||||
|
||||
CPPFLAGS=$(DLL_FLAGS) @$(CFG)
|
||||
|
||||
DUMMY=dummy
|
||||
|
||||
SRCSUFF = cpp
|
||||
|
@@ -19,6 +19,12 @@
|
||||
!endif
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
# Set all these to 1 if you want to build a dynamic library
|
||||
#DLL=1
|
||||
#WXMAKINGDLL=1
|
||||
#WXBUILDDLL=1
|
||||
|
||||
!include $(WXDIR)\src\makeb32.env
|
||||
|
||||
# Please set these according to the settings in wx_setup.h, so we can include
|
||||
@@ -43,8 +49,18 @@ PERIPH_TARGET=xpm $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
|
||||
!endif
|
||||
|
||||
LIBTARGET= $(WXLIBDIR)\wx32.lib
|
||||
PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(PERIPH_LIBS)
|
||||
PERIPH_TARGET=zlib $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_zlib $(PERIPH_CLEAN_TARGET)
|
||||
|
||||
!if "$(DLL)" == "0"
|
||||
DUMMY=dummy
|
||||
!else
|
||||
DUMMY=dummydll
|
||||
LIBS= cw32 import32 ole2w32
|
||||
!endif
|
||||
|
||||
LIBTARGET=$(WXLIB)
|
||||
|
||||
GENDIR=..\generic
|
||||
COMMDIR=..\common
|
||||
@@ -89,7 +105,6 @@ COMMONOBJS = \
|
||||
$(MSWDIR)\memory.obj \
|
||||
$(MSWDIR)\module.obj \
|
||||
$(MSWDIR)\object.obj \
|
||||
$(MSWDIR)\odbc.obj \
|
||||
$(MSWDIR)\postscrp.obj \
|
||||
$(MSWDIR)\prntbase.obj \
|
||||
$(MSWDIR)\resource.obj \
|
||||
@@ -112,9 +127,22 @@ COMMONOBJS = \
|
||||
$(MSWDIR)\mstream.obj \
|
||||
$(MSWDIR)\zstream.obj \
|
||||
$(MSWDIR)\datstrm.obj \
|
||||
$(MSWDIR)\sckstrm.obj \
|
||||
$(MSWDIR)\extended.obj \
|
||||
$(MSWDIR)\wincmn.obj
|
||||
$(MSWDIR)\wincmn.obj \
|
||||
$(MSWDIR)\objstrm.obj \
|
||||
$(MSWDIR)\dynlib.obj \
|
||||
$(MSWDIR)\tokenzr.obj \
|
||||
$(MSWDIR)\socket.obj \
|
||||
$(MSWDIR)\sckaddr.obj \
|
||||
$(MSWDIR)\protocol.obj \
|
||||
$(MSWDIR)\url.obj \
|
||||
$(MSWDIR)\http.obj \
|
||||
$(MSWDIR)\ftp.obj \
|
||||
$(MSWDIR)\sckfile.obj \
|
||||
$(MSWDIR)\sckipc.obj
|
||||
|
||||
# $(MSWDIR)\odbc.obj \
|
||||
# $(MSWDIR)\matrix.obj \
|
||||
|
||||
MSWOBJS = \
|
||||
@@ -200,8 +228,8 @@ MSWOBJS = \
|
||||
$(MSWDIR)\window.obj \
|
||||
$(MSWDIR)\droptgt.obj \
|
||||
$(MSWDIR)\dropsrc.obj \
|
||||
$(MSWDIR)\dataobj.obj \
|
||||
$(MSWDIR)\oleutils.obj \
|
||||
$(MSWDIR)\dataobj.obj \
|
||||
$(MSWDIR)\uuid.obj
|
||||
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
||||
@@ -212,12 +240,30 @@ wx: $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
|
||||
|
||||
all: all_libs all_execs
|
||||
|
||||
!if "$(DLL)" == "0"
|
||||
|
||||
$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(BASEOBJECTS)
|
||||
erase $(LIBTARGET)
|
||||
tlib $(LIBTARGET) /P512 @&&!
|
||||
-+$(OBJECTS:.obj =.obj -+) -+$(BASEOBJECTS:.obj =.obj -+) -+$(PERIPH_LIBS:.lib =.lib -+)
|
||||
!
|
||||
|
||||
!else
|
||||
|
||||
$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(BASEOBJECTS)
|
||||
erase $(LIBTARGET)
|
||||
erase $(WXLIBDIR)\wx.dll
|
||||
tlink32 $(LINK_FLAGS) /v @&&!
|
||||
c0d32.obj $(OBJECTS)
|
||||
$(WXLIBDIR)\wx
|
||||
nul
|
||||
$(PERIPH_LIBS) $(LIBS)
|
||||
wxb32
|
||||
!
|
||||
implib -c $(LIBTARGET) $(WXLIBDIR)\wx.dll
|
||||
|
||||
!endif
|
||||
|
||||
dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
|
||||
dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
|
||||
|
||||
@@ -416,6 +462,8 @@ $(MSWDIR)\docmdi.obj: $(COMMDIR)\docmdi.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\dynarray.obj: $(COMMDIR)\dynarray.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\dynlib.obj: $(COMMDIR)\dynlib.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\event.obj: $(COMMDIR)\event.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\file.obj: $(COMMDIR)\file.$(SRCSUFF)
|
||||
@@ -482,6 +530,8 @@ $(MSWDIR)\time.obj: $(COMMDIR)\time.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\datstrm.obj: $(COMMDIR)\datstrm.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\sckstrm.obj: $(COMMDIR)\sckstrm.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\mstream.obj: $(COMMDIR)\mstream.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\zstream.obj: $(COMMDIR)\zstream.$(SRCSUFF)
|
||||
@@ -490,10 +540,30 @@ $(MSWDIR)\fstream.obj: $(COMMDIR)\fstream.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\stream.obj: $(COMMDIR)\stream.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\objstrm.obj: $(COMMDIR)\objstrm.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\wincmn.obj: $(COMMDIR)\wincmn.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\extended.obj: $(COMMDIR)\extended.c
|
||||
|
||||
$(MSWDIR)\tokenzr.obj: $(COMMDIR)\tokenzr.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\socket.obj: $(COMMDIR)\socket.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\sckaddr.obj: $(COMMDIR)\sckaddr.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\protocol.obj: $(COMMDIR)\protocol.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\url.obj: $(COMMDIR)\url.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\http.obj: $(COMMDIR)\http.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\ftp.obj: $(COMMDIR)\ftp.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\sckfile.obj: $(COMMDIR)\sckfile.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\sckipc.obj: $(COMMDIR)\sckipc.$(SRCSUFF)
|
||||
|
||||
########################################################
|
||||
# Generic objects (not always compiled, depending on
|
||||
# whether platforms have native implementations)
|
||||
@@ -561,6 +631,16 @@ wxxpm: $(CFG)
|
||||
make -f makefile.b32 -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
zlib: $(CFG)
|
||||
cd $(WXDIR)\src\zlib
|
||||
make -f makefile.b32 lib
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_zlib:
|
||||
cd $(WXDIR)\src\zlib
|
||||
make -f makefile.b32 clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
$(CFG): makefile.b32
|
||||
copy &&!
|
||||
-H=$(WXDIR)\src\msw\wx32.csm
|
||||
|
@@ -31,7 +31,6 @@
|
||||
|
||||
#include <wx/setup.h>
|
||||
|
||||
#if USE_DRAG_AND_DROP
|
||||
|
||||
#include <wx/log.h>
|
||||
|
||||
@@ -60,6 +59,8 @@ bool IsIidFromList(REFIID riid, const IID *aIids[], size_t nCount)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#if USE_DRAG_AND_DROP
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Debug support
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@@ -203,3 +203,16 @@ long wxExecute(const wxString& command, bool sync, wxProcess *handler)
|
||||
return(instanceID);
|
||||
#endif
|
||||
}
|
||||
|
||||
long wxExecute(char **argv, bool sync, wxProcess *handler)
|
||||
{
|
||||
wxString command = "";
|
||||
|
||||
while (*argv != NULL) {
|
||||
command += *argv;
|
||||
command += ' ';
|
||||
argv++;
|
||||
}
|
||||
command.RemoveLast();
|
||||
return wxExecute(command, sync, handler);
|
||||
}
|
||||
|
9
src/msw/wxb32.def
Normal file
9
src/msw/wxb32.def
Normal file
@@ -0,0 +1,9 @@
|
||||
LIBRARY WX
|
||||
|
||||
DESCRIPTION 'wxWindows DLL'
|
||||
|
||||
CODE EXECUTEREAD MOVEABLE LOADONCALL
|
||||
DATA READWRITE
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user