<set var="WXLIB_BASE">
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('base')))</if>
</set>
+ <set var="WXLIB_NET">
+ <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('net')))</if>
+ </set>
<set var="WXLIB_CORE">
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('core')))</if>
</set>
<set var="BASE_UNIX_SRC" hints="files">
src/unix/baseunix.cpp
src/unix/dir.cpp
- src/unix/gsocket.c
src/unix/mimetype.cpp
src/unix/snglinst.cpp
src/unix/threadpsx.cpp
src/unix/utilsunx.cpp
</set>
<set var="BASE_UNIX_HDR" hints="files">
- wx/unix/gsockunx.h
wx/unix/mimetype.h
</set>
<set var="BASE_WIN32_SRC" hints="files">
- src/msw/gsocket.c
- src/msw/gsockmsw.c
src/msw/basemsw.cpp
src/msw/dde.cpp
src/msw/dir.cpp
<set var="BASE_DARWIN_SRC" hints="files">
src/unix/baseunix.cpp
src/unix/dir.cpp
- src/unix/gsocket.c
src/unix/mimetype.cpp
src/unix/snglinst.cpp
src/unix/threadpsx.cpp
<set var="BASE_MAC_SRC" hints="files">
src/unix/baseunix.cpp
src/mac/dirmac.cpp
- src/mac/gsocket.c
src/mac/mimetmac.cpp
src/mac/utils.cpp
src/mac/utilsexc.cpp
src/common/filename.cpp
src/common/filesys.cpp
src/common/fmapbase.cpp
- src/common/fs_inet.cpp
src/common/fs_zip.cpp
- src/common/ftp.cpp
src/common/hash.cpp
src/common/hashmap.cpp
- src/common/http.cpp
src/common/init.cpp
src/common/intl.cpp
src/common/ipcbase.cpp
src/common/mstream.cpp
src/common/object.cpp
src/common/process.cpp
- src/common/protocol.cpp
src/common/regex.cpp
- src/common/sckaddr.cpp
- src/common/sckfile.cpp
- src/common/sckipc.cpp
- src/common/sckstrm.cpp
- src/common/socket.cpp
src/common/stopwatch.cpp
src/common/strconv.cpp
src/common/stream.cpp
src/common/tokenzr.cpp
src/common/txtstrm.cpp
src/common/unzip.c
- src/common/url.cpp
src/common/variant.cpp
src/common/wfstream.cpp
src/common/wxchar.cpp
wx/filesys.h
wx/fontenc.h
wx/fontmap.h
- wx/fs_inet.h
wx/fs_zip.h
wx/fs_mem.h
- wx/gsocket.h
wx/hash.h
wx/hashmap.h
wx/iconloc.h
wx/platform.h
wx/process.h
wx/regex.h
- wx/sckaddr.h
- wx/sckipc.h
- wx/sckstrm.h
- wx/socket.h
wx/snglinst.h
wx/stopwatch.h
wx/strconv.h
wx/thrimpl.cpp
wx/tokenzr.h
wx/txtstrm.h
- wx/url.h
wx/utils.h
wx/variant.h
wx/vector.h
wx/wxprec.h
wx/zipstrm.h
wx/zstream.h
+</set>
+
+
+<!-- ====================================================================== -->
+<!-- wxNet (part of wxBase) -->
+<!-- ====================================================================== -->
+
+<set var="NET_UNIX_SRC" hints="files">
+ src/unix/gsocket.c
+</set>
+<set var="NET_UNIX_HDR" hints="files">
+ wx/unix/gsockunx.h
+</set>
+
+<set var="NET_WIN32_SRC" hints="files">
+ src/msw/gsocket.c
+ src/msw/gsockmsw.c
+</set>
+<set var="NET_WIN32_HDR" hints="files">
+ wx/msw/gsockmsw.h
+</set>
+
+<set var="NET_DARWIN_SRC" hints="files">
+ src/unix/gsocket.c
+</set>
+<set var="NET_DARWIN_HDR" hints="files">
+ wx/unix/gsockunx.h
+</set>
+
+<set var="NET_MAC_SRC" hints="files">
+ src/mac/gsocket.c
+</set>
+<set var="NET_MAC_HDR" hints="files">
+ wx/mac/gsockmac.h
+</set>
+
+<set var="NET_OS2_SRC" hints="files">
+</set>
+<set var="NET_OS2_HDR" hints="files">
+</set>
+
+<set var="NET_CMN_SRC" hints="files">
+ src/common/fs_inet.cpp
+ src/common/ftp.cpp
+ src/common/http.cpp
+ src/common/protocol.cpp
+ src/common/url.cpp
+ src/common/sckfile.cpp
+ src/common/sckaddr.cpp
+ src/common/sckipc.cpp
+ src/common/sckstrm.cpp
+ src/common/socket.cpp
+</set>
+<set var="NET_CMN_HDR" hints="files">
+ wx/fs_inet.h
+ wx/url.h
wx/protocol/protocol.h
wx/protocol/http.h
+ wx/protocol/ftp.h
+ wx/protocol/file.h
+ wx/gsocket.h
+ wx/sckaddr.h
+ wx/sckipc.h
+ wx/sckstrm.h
+ wx/socket.h
</set>
<!-- Define sources for specific libraries: -->
<!-- ====================================================================== -->
+ <!-- wxBase files: -->
+
<!-- Nested if would be nicer, but this works -->
<set var="BASE_MACOSX_SRC" hints="files">
<if cond="TOOLKIT=='MAC'">$(BASE_MAC_SRC)</if>
<set var="BASE_AND_GUI_SRC" hints="files">
$(BASE_AND_GUI_CMN_SRC) $(BASE_AND_GUI_PLATFORM_SRC)
</set>
+
+
+ <!-- wxNet files: -->
+ <set var="NET_MACOSX_SRC" hints="files">
+ <if cond="TOOLKIT=='MAC'">$(NET_MAC_SRC)</if>
+ <if cond="TOOLKIT=='COCOA'">$(NET_DARWIN_SRC)</if>
+ <if cond="TOOLKIT=='GTK'">$(NET_DARWIN_SRC)</if>
+ <!-- FIXME: TOOLKIT!='MAC' is what we really want -->
+ </set>
+ <set var="NET_PLATFORM_SRC" hints="files">
+ <if cond="PLATFORM_UNIX=='1'">$(NET_UNIX_SRC)</if>
+ <if cond="PLATFORM_WIN32=='1'">$(NET_WIN32_SRC)</if>
+ <if cond="PLATFORM_MACOSX=='1'">$(NET_MACOSX_SRC)</if>
+ </set>
+ <set var="NET_PLATFORM_HDR" hints="files">
+ <if cond="PLATFORM_UNIX=='1'">$(NET_UNIX_HDR)</if>
+ <if cond="PLATFORM_WIN32=='1'">$(NET_WIN32_HDR)</if>
+ <if cond="TOOLKIT=='MAC'">$(NET_MAC_HDR)</if>
+ <if cond="TOOLKIT=='COCOA'">$(NET_DARWIN_HDR)</if>
+ </set>
+
+ <set var="NET_SRC" hints="files">
+ $(NET_CMN_SRC) $(NET_PLATFORM_SRC)
+ </set>
+
+ <!-- GUI sources: -->
+
<set var="LOWLEVEL_SRC" hints="files">
<if cond="TOOLKIT=='GTK'">$(GTK_LOWLEVEL_SRC)</if>
<if cond="TOOLKIT=='MOTIF'">$(MOTIF_LOWLEVEL_SRC)</if>
<if cond="TOOLKIT=='X11'">$(X11_LOWLEVEL_HDR)</if>
<if cond="TOOLKIT=='MGL'">$(MGL_LOWLEVEL_HDR)</if>
</set>
-
+
<set var="GUI_SRC" hints="files">
<if cond="TOOLKIT=='GTK'">$(GTK_SRC)</if>
<if cond="TOOLKIT=='MOTIF'">$(MOTIF_SRC)</if>
<set var="ALL_HEADERS" hints="files">
$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)
+ $(NET_CMN_HDR) $(NET_PLATFORM_HDR)
$(ALL_GUI_HEADERS)
$(HTML_HDR) $(XML_HDR)
$(OPENGL_HDR)
<if cond="USE_GUI=='1'">$(CORE_SRC) $(HTML_SRC)</if>
</set>
<set var="MONOLIB_SRC">
- $(BASE_SRC) $(BASE_AND_GUI_SRC) $(MONOLIB_GUI_SRC) $(XML_SRC)
+ $(BASE_SRC) $(BASE_AND_GUI_SRC) $(NET_SRC) $(MONOLIB_GUI_SRC) $(XML_SRC)
</set>
<dll id="monodll" template="wx_dll"
<sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
<msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
</lib>
+
+
+ <!-- ================================================================= -->
+ <!-- wxNet library -->
+ <!-- ================================================================= -->
+
+ <dll id="netdll" template="wx_base_dll"
+ cond="SHARED=='1' and MONOLITHIC=='0'">
+ <define>WXUSINGDLL</define>
+ <define>WXMAKINGDLL_NET</define>
+ <sources>$(NET_SRC)</sources>
+ <msvc-headers>$(NET_CMN_HDR) $(NET_PLATFORM_HDR)</msvc-headers>
+ <library>basedll</library>
+ </dll>
+
+ <lib id="netlib" template="wx_base_lib"
+ cond="SHARED=='0' and MONOLITHIC=='0'">
+ <define>WXUSINGDLL</define>
+ <define>WXMAKINGDLL_NET</define>
+ <sources>$(NET_SRC)</sources>
+ <msvc-headers>$(NET_CMN_HDR)</msvc-headers>
+ </lib>
+
<!-- ================================================================= -->
<!-- Main GUI library -->
<!-- ================================================================= -->
# All libs that are part of the main library (i.e. non-contrib):
-MAIN_LIBS = ['mono', 'base', 'core', 'html', 'xml']
+MAIN_LIBS = ['mono', 'base', 'core', 'html', 'xml', 'net']
# List of library names/ids for categories with different names:
-LIBS_NOGUI = ['xml']
+LIBS_NOGUI = ['xml', 'net']
LIBS_GUI = ['core', 'html', 'gl']
def mkLibName(wxid):
#define WXMAKINGDLL_BASE
#endif
+ #define WXMAKINGDLL_NET
#define WXMAKINGDLL_CORE
#define WXMAKINGDLL_HTML
#define WXMAKINGDLL_XML
#define WXDLLIMPEXP_DATA_BASE(type) type
#endif
+#ifdef WXMAKINGDLL_NET
+ #define WXDLLIMPEXP_NET WXEXPORT
+ #define WXDLLIMPEXP_DATA_NET(type) WXEXPORT type
+#elif defined(WXUSINGDLL)
+ #define WXDLLIMPEXP_NET WXIMPORT
+ #define WXDLLIMPEXP_DATA_NET(type) WXIMPORT type
+#else // not making nor using DLL
+ #define WXDLLIMPEXP_NET
+ #define WXDLLIMPEXP_DATA_NET(type) type
+#endif
+
#ifdef WXMAKINGDLL_CORE
#define WXDLLIMPEXP_CORE WXEXPORT
#define WXDLLIMPEXP_DATA_CORE(type) WXEXPORT type
#if wxUSE_FILESYSTEM
#include "wx/stream.h"
-#include "wx/url.h"
#include "wx/datetime.h"
#include "wx/filename.h"
// wxInternetFSHandler
//--------------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxInternetFSHandler : public wxFileSystemHandler
+class WXDLLIMPEXP_NET wxInternetFSHandler : public wxFileSystemHandler
{
private:
wxHashTable m_Cache;
/* kludge for GTK.. gsockgtk.c craps out miserably if we include
defs.h ... no idea how other files get away with it.. */
-#if !defined( __WXMSW__ ) && !defined( WXDLLEXPORT )
-#define WXDLLEXPORT
+#if !defined( __WXMSW__ ) && !defined( WXDLLIMPEXP_NET )
+#define WXDLLIMPEXP_NET
#endif
#endif
* operations do not clear this back to GSOCK_NOERROR, so use it only
* after an error.
*/
-GSocketError WXDLLEXPORT GSocket_GetError(GSocket *socket);
+GSocketError WXDLLIMPEXP_NET GSocket_GetError(GSocket *socket);
/* Callbacks */
#include "wx/protocol/protocol.h"
#include "wx/url.h"
-class WXDLLIMPEXP_BASE wxFileProto: public wxProtocol {
+class WXDLLIMPEXP_NET wxFileProto: public wxProtocol {
DECLARE_DYNAMIC_CLASS_NO_COPY(wxFileProto)
DECLARE_PROTOCOL(wxFileProto)
protected:
#include "wx/protocol/protocol.h"
#include "wx/url.h"
-class WXDLLIMPEXP_BASE wxFTP : public wxProtocol
+class WXDLLIMPEXP_NET wxFTP : public wxProtocol
{
public:
enum TransferMode
#include "wx/hashmap.h"
#include "wx/protocol/protocol.h"
-WX_DECLARE_EXPORTED_STRING_HASH_MAP( wxString, wxStringToStringHashMap );
+WX_DECLARE_STRING_HASH_MAP_WITH_DECL( wxString, wxStringToStringHashMap,
+ class WXDLLIMPEXP_NET );
-class WXDLLIMPEXP_BASE wxHTTP : public wxProtocol
+class WXDLLIMPEXP_NET wxHTTP : public wxProtocol
{
public:
wxHTTP();
// wxProtocol: abstract base class for all protocols
// ----------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxProtocol
+class WXDLLIMPEXP_NET wxProtocol
#if wxUSE_SOCKETS
: public wxSocketClient
#else
};
#if wxUSE_SOCKETS
-wxProtocolError WXDLLIMPEXP_BASE GetLine(wxSocketBase *sock, wxString& result);
+wxProtocolError WXDLLIMPEXP_NET GetLine(wxSocketBase *sock, wxString& result);
#endif
// ----------------------------------------------------------------------------
wxProtocolUserFor##class() { wxProtocolUse##class = TRUE; } \
} wxProtocolDoUse##class;
-class WXDLLIMPEXP_BASE wxProtoInfo : public wxObject
+class WXDLLIMPEXP_NET wxProtoInfo : public wxObject
{
public:
wxProtoInfo(const wxChar *name,
#include "wx/gsocket.h"
-class WXDLLIMPEXP_BASE wxSockAddress : public wxObject {
+class WXDLLIMPEXP_NET wxSockAddress : public wxObject {
DECLARE_ABSTRACT_CLASS(wxSockAddress)
public:
typedef enum { IPV4=1, IPV6=2, UNIX=3 } Addr;
void Init();
};
-class WXDLLIMPEXP_BASE wxIPV4address : public wxSockAddress {
+class WXDLLIMPEXP_NET wxIPV4address : public wxSockAddress {
DECLARE_DYNAMIC_CLASS(wxIPV4address)
public:
wxIPV4address();
};
#ifdef ENABLE_IPV6
-class WXDLLIMPEXP_BASE wxIPV6address : public wxSockAddress {
+class WXDLLIMPEXP_NET wxIPV6address : public wxSockAddress {
DECLARE_DYNAMIC_CLASS(wxIPV6address)
private:
struct sockaddr_in6 *m_addr;
# include <sys/un.h>
#endif
-class WXDLLIMPEXP_BASE wxUNIXaddress : public wxSockAddress {
+class WXDLLIMPEXP_NET wxUNIXaddress : public wxSockAddress {
DECLARE_DYNAMIC_CLASS(wxUNIXaddress)
private:
struct sockaddr_un *m_addr;
*
*/
-class WXDLLIMPEXP_BASE wxTCPServer;
-class WXDLLIMPEXP_BASE wxTCPClient;
+class WXDLLIMPEXP_NET wxTCPServer;
+class WXDLLIMPEXP_NET wxTCPClient;
-class WXDLLIMPEXP_BASE wxTCPConnection: public wxConnectionBase
+class WXDLLIMPEXP_NET wxTCPConnection: public wxConnectionBase
{
DECLARE_DYNAMIC_CLASS(wxTCPConnection)
#include "wx/socket.h"
-class WXDLLIMPEXP_BASE wxSocketOutputStream : public wxOutputStream
+class WXDLLIMPEXP_NET wxSocketOutputStream : public wxOutputStream
{
public:
wxSocketOutputStream(wxSocketBase& s);
DECLARE_NO_COPY_CLASS(wxSocketOutputStream)
};
-class WXDLLIMPEXP_BASE wxSocketInputStream : public wxInputStream
+class WXDLLIMPEXP_NET wxSocketInputStream : public wxInputStream
{
public:
wxSocketInputStream(wxSocketBase& s);
DECLARE_NO_COPY_CLASS(wxSocketInputStream)
};
-class WXDLLIMPEXP_BASE wxSocketStream : public wxSocketInputStream,
+class WXDLLIMPEXP_NET wxSocketStream : public wxSocketInputStream,
public wxSocketOutputStream
{
public:
// wxSocketBase
// --------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxSocketBase : public wxObject
+class WXDLLIMPEXP_NET wxSocketBase : public wxObject
{
DECLARE_CLASS(wxSocketBase)
// wxSocketServer
// --------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxSocketServer : public wxSocketBase
+class WXDLLIMPEXP_NET wxSocketServer : public wxSocketBase
{
DECLARE_CLASS(wxSocketServer)
// wxSocketClient
// --------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxSocketClient : public wxSocketBase
+class WXDLLIMPEXP_NET wxSocketClient : public wxSocketBase
{
DECLARE_CLASS(wxSocketClient)
// WARNING: still in alpha stage
-class WXDLLIMPEXP_BASE wxDatagramSocket : public wxSocketBase
+class WXDLLIMPEXP_NET wxDatagramSocket : public wxSocketBase
{
DECLARE_CLASS(wxDatagramSocket)
// wxSocketEvent
// --------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxSocketEvent : public wxEvent
+class WXDLLIMPEXP_NET wxSocketEvent : public wxEvent
{
public:
wxSocketEvent(int id = 0)
wxURL_PROTOERR
} wxURLError;
-class WXDLLIMPEXP_BASE wxURL : public wxObject
+class WXDLLIMPEXP_NET wxURL : public wxObject
{
public:
wxURL(const wxString& url);
<sources>test.cpp</sources>
<wx-lib>html</wx-lib>
<wx-lib>core</wx-lib>
+ <wx-lib>net</wx-lib>
<wx-lib>base</wx-lib>
<win32-res>test.rc</win32-res>
</exe>
<exe id="client" template="wx_sample" template_append="wx_append">
<sources>client.cpp</sources>
<wx-lib>core</wx-lib>
+ <wx-lib>net</wx-lib>
<wx-lib>base</wx-lib>
<win32-res>client.rc</win32-res>
</exe>
<exe id="server" template="wx_sample" template_append="wx_append">
<sources>server.cpp</sources>
<wx-lib>core</wx-lib>
+ <wx-lib>net</wx-lib>
<wx-lib>base</wx-lib>
<win32-res>server.rc</win32-res>
</exe>
#include "unzip.h"
#endif
-WX_DECLARE_EXPORTED_HASH_MAP( long, long, wxIntegerHash, wxIntegerEqual,
- wxLongToLongHashMap );
+WX_DECLARE_HASH_MAP_WITH_DECL( long, long, wxIntegerHash, wxIntegerEqual,
+ wxLongToLongHashMap, class WXDLLIMPEXP_BASE );
//----------------------------------------------------------------------------
// wxZipFSHandler