00001 /* 00002 * NOTE: "zlib/libpng" style License 00003 * 00004 * ----=== s t d n e t ===---- 00005 * 00006 * Copyright (c) 2002 Warwick Molloy w-molloy@users.sf.net 00007 * 00008 * Copyright (c) 2002 Stdnet Community 00009 * HTTP://Sourceforge.net/projects/stdnet 00010 * 00011 * All references to "software" refer to the stdnet. 00012 * 00013 * This software is provided 'as-is', without any express or 00014 * implied warranty. In no event will the authors be held liable 00015 * for any damages arising from the use of this software. 00016 * 00017 * Permission is granted to anyone to use this software for any 00018 * purpose, including commercial applications, and to alter it 00019 * and redistribute it freely, subject to the following 00020 * restrictions: 00021 * 00022 * 1. The origin of this software must not be misrepresented; 00023 * you must not claim that you wrote the original software. 00024 * If you use this software in a product, an acknowledgment 00025 * in the product documentation would be appreciated but 00026 * is not required. 00027 * 00028 * 2. Altered source versions must be plainly marked as such, 00029 * and must not be misrepresented as being the original 00030 * software. 00031 * 00032 * 3. This notice may not be removed or altered from any source 00033 * distribution. 00034 */ 00035 00036 #ifndef __stdnet_config__ 00037 #define __stdnet_config__ 00038 00039 #ifdef _WIN32 00040 // 00041 // Windows platform 00042 // Also check that the right MSVC options are turned 00043 // on. 00044 // 00045 # define __host_platform__ windows 00046 // 00047 // Is this a Microsoft compiler ? 00048 // 00049 # ifdef _MSC_VER 00050 # ifndef _CPPRTTI 00051 # error "Please enable RTTI /GR option." 00052 # endif 00053 # ifndef _CPPUNWIND 00054 # error "Please enable Exception handling /GX option." 00055 # endif 00056 // 00057 // Eliminate MSVC warnings relating to ignored 00058 // exception specifications. 00059 // (MSVC doesn't seem to support this.) 00060 // 00061 # pragma warning( disable : 4290 ) 00062 # endif 00063 #endif 00064 00065 #ifndef _WIN32 00066 // 00067 // UNIX or POSIX platform 00068 // (or at least not a native Windows compiler) 00069 // Use platform_config file to determine which 00070 // platform this is. 00071 // 00072 # include <stdnet/platform_config> 00073 #endif 00074 00075 /* 00076 * Options here are: 00077 * 1) general 00078 * 2) unix 00079 * 3) windows 00080 */ 00081 #ifndef __host_platform__ 00082 # error "No host platform setting." 00083 //# define __host_platform__ general 00084 #endif 00085 00086 // 00087 // -- include appropriate implementations -- 00088 // 00089 00090 #ifndef _WIN32 00091 // -- UNIX Compiler -- 00092 # if __host_platform__ == general 00093 # include <stdnet/system/platform/general/platform.h> 00094 # endif 00095 00096 # if __host_platform__ == unix 00097 # include <stdnet/system/platform/unix/platform.h> 00098 # endif 00099 00100 #else 00101 // -- Windows Compiler -- 00102 # if (__host_platform__ == windows) 00103 # include <stdnet/system/platform/windows/platform.h> 00104 # endif 00105 00106 #endif 00107 00108 // This is going to hurt someone at some point. 00109 // When it does, it'll probably end up in a namespace 00110 // and its own file with a few others like it. 00111 // 00112 typedef unsigned char byte; 00113 00114 // 00115 // -- include CORE header files -- 00116 // 00117 #include <stdnet/system/RefCount> 00118 #include <stdnet/system/Object> 00119 #include <stdnet/system/String> 00120 00121 #endif // __stdnet_config__ 00122