00001 /* 00002 * Copyright (c) 2012 SCHUNK GmbH & Co. KG 00003 * Copyright (c) 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA) 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 00018 #ifndef UTIL_CONFIG_H 00019 #define UTIL_CONFIG_H 00020 00021 // This config file is intended to contain all necessary configuration 00022 // switches to get the software running on all compilers/platforms. It should 00023 // be included by EVERY file as the first include file !!!!!!!!! 00024 // 00025 // ========================================================================= // 00026 00027 00028 00029 // -------------------------------------------------------------------------- ; 00030 // Linux 00031 // -------------------------------------------------------------------------- ; 00032 #ifdef __LINUX__ 00033 #ifndef LINUX 00034 #define LINUX 00035 #endif 00036 #endif 00037 00038 #ifdef __LINUX__ 00039 00040 #define __386__ 00041 // already defined as inline in <cmath> 00042 #define WITHSTREAMS 00043 #define HAS_ABS_FCT 00044 00045 #endif // Linux 00046 00047 // -------------------------------------------------------------------------- ; 00048 // Sun Workshop compiler : 00049 // -------------------------------------------------------------------------- ; 00050 00051 #if defined (__SUNPRO_CC) 00052 00053 #define WITHSTREAMS 00054 #define NO_CLASS_PARTIAL_SPECIALIZATION 00055 #define NO_MEMBER_TEMPLATES 00056 #define NO_DEFAULT_ARGS_FOR_FUNCTION_TEMPLATES 00057 #define NO_ABS_FCT 00058 00059 #endif // __SUNPRO_CC 00060 00061 // -------------------------------------------------------------------------- ; 00062 // Watcom compiler : 00063 // -------------------------------------------------------------------------- ; 00064 00065 #if defined (__WATCOM_CPLUSPLUS__) 00066 00067 #define WITHSTREAMS 00068 #define __386__ 00069 #define NO_CLASS_PARTIAL_SPECIALIZATION 00070 #define NO_MEMBER_TEMPLATES 00071 #define NO_DEFAULT_ARGS_FOR_FUNCTION_TEMPLATES 00072 #define NO_CAST_FUNCTION_TEMPLATES 00073 //#define NO_ISTREAM_OPERATOR_BOOL 00074 #define NO_STL_STRINGS 00075 #define NO_ABS_FCT 00076 #define std 00077 00078 #endif // __WATCOM_CPLUSPLUS__ 00079 00080 // -------------------------------------------------------------------------- ; 00081 00082 // -------------------------------------------------------------------------- ; 00083 // Microsoft compiler : 00084 // -------------------------------------------------------------------------- ; 00085 #if defined(_MSC_VER) 00086 00087 #define WITHSTREAMS // comment if using MFC !!! 00088 #define __386__ 00089 #if (_MSC_VER <= 1200) 00090 #define NO_CLASS_PARTIAL_SPECIALIZATION 00091 #define NO_MEMBER_TEMPLATES 00092 #endif 00093 00094 #if (_MSC_VER < 1200) 00095 #define NO_ISTREAM_OPERATOR_BOOL 00096 #endif 00097 00098 #endif // _MSC_VER 00099 00100 // -------------------------------------------------------------------------- ; 00101 00102 #endif // UTIL_CONFIG_H