00001 /*************************************************************************** 00002 * Copyright (C) 2005 by Benjamin Hadorn (bhadorn@swissinfo.org) * 00003 *************************************************************************** 00004 * Projekt : Zeus 00005 * Module : BCB_Config 00006 * Package : Config 00007 * Author : Benjamin Hadorn 00008 * Datum : $Date: 3.10.09 12:39 $ 00009 * Ablage : $File$ 00010 * System : Cell Computing Model 00011 *************************************************************************** 00012 * Licence: * 00013 * This library is free software; you can redistribute it and/or modify * 00014 * it under the terms of the GNU Lesser General Public License as * 00015 * published by the Free Software Foundation; either version * 00016 * 2.1 of the License, or (at your option) any later version. * 00017 * * 00018 * This library is distributed in the hope that it will be useful, * 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00021 * GNU Lesser General Public License for more details. * 00022 * * 00023 * You should have received a copy of the GNU Lesser General Public * 00024 * License along with this library; if not, write to the Free Software * 00025 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA * 00026 ***************************************************************************/ 00027 00028 /*************************************************************************** 00029 Changes : 00030 $Log: /Development_F/StuderWIN/dev/Zeus/src/zeusbase/Config/Compilers/BCB_Config.hpp $ 00031 ** 00032 ** 5 3.10.09 12:39 Bha 00033 ** debug defined corrected 00034 ** 00035 ** 4 3.10.09 12:21 Bha 00036 ** makro for safe creation defined. Is used for borland multithreading 00037 ** problem on memory managing 00038 ** 00039 ** 3 21.04.08 16:53 Bha 00040 ** usage of windows.h defined 00041 ** 00042 ** 2 4.02.08 6:41 Bha 00043 ** check the compiler option -b for enums 00044 ** 00045 ** 1 11.06.07 14:45 bha 00046 ***************************************************************************/ 00047 00048 #ifndef __BCB_Config_22934542321 00049 #define __BCB_Config_22934542321 00050 00051 //Use bindings standard library 00052 #define USE_STL_BINDINGS 00053 00054 //uses windows.h include 00055 #define USE_WINDOWS_H 00056 00057 //IPV6 not available on borland C++ builder 6.x because winsock2.h is not 00058 // included by windows.h 00059 #ifdef __BCPLUSPLUS__ <= 0x0560 00060 #undef ENABLE_IPV6_BINDING 00061 #else 00062 #define ENABLE_IPV6_BINDING 00063 #endif 00064 00065 //On debug versions the memory mapping is error prone for multithreading 00066 #if defined(_DEBUG) 00067 #define CREATE_SAFE(pVar, new_routine) \ 00068 pVar = NULL; \ 00069 for(Int i_928261 = 0; pVar == NULL && i_928261 < 4; i_928261++) \ 00070 { pVar = new_routine; } 00071 #else 00072 #define CREATE_SAFE(pVar, new_routine) pVar = new_routine; 00073 #endif 00074 00075 //The compiler option -b must be set for BCB projects otherwise enum's are not 00076 // handled properly passing as interface method parameters. Specially for VC 00077 // projects the problem is known, since they handle enums as int. 00078 #pragma defineonoption ENUM_AS_INT -b 00079 00080 #ifndef ENUM_AS_INT 00081 #error Compiler does not handle enums as int (Option -b not set). BCB projects are incompatible with VC projects. 00082 #endif 00083 00084 #endif 00085