00001 00002 /****************************************************************************** 00003 * 00004 * Copyright (c) 2012 00005 * 00006 * SCHUNK GmbH & Co. KG 00007 * 00008 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00009 * 00010 * Project name: Drivers for "Amtec M5 Protocol" Electronics V4 00011 * 00012 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00013 * 00014 * Email:robotics@schunk.com 00015 * 00016 * ToDo: 00017 * 00018 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00019 * 00020 * Redistribution and use in source and binary forms, with or without 00021 * modification, are permitted provided that the following conditions are met: 00022 * 00023 * * Redistributions of source code must retain the above copyright 00024 * notice, this list of conditions and the following disclaimer. 00025 * * Redistributions in binary form must reproduce the above copyright 00026 * notice, this list of conditions and the following disclaimer in the 00027 * documentation and/or other materials provided with the distribution. 00028 * * Neither the name of SCHUNK GmbH & Co. KG nor the names of its 00029 * contributors may be used to endorse or promote products derived from 00030 * this software without specific prior written permission. 00031 * 00032 * This program is free software: you can redistribute it and/or modify 00033 * it under the terms of the GNU Lesser General Public License LGPL as 00034 * published by the Free Software Foundation, either version 3 of the 00035 * License, or (at your option) any later version. 00036 * 00037 * This program is distributed in the hope that it will be useful, 00038 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00039 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00040 * GNU Lesser General Public License LGPL for more details. 00041 * 00042 * You should have received a copy of the GNU Lesser General Public 00043 * License LGPL along with this program. 00044 * If not, see <http://www.gnu.org/licenses/>. 00045 * 00046 ******************************************************************************/ 00047 00048 00049 #ifndef UTIL_CONFIG_H 00050 #define UTIL_CONFIG_H 00051 00052 // This config file is intended to contain all necessary configuration 00053 // switches to get the software running on all compilers/platforms. It should 00054 // be included by EVERY file as the first include file !!!!!!!!! 00055 // 00056 // ========================================================================= // 00057 00058 00059 00060 // -------------------------------------------------------------------------- ; 00061 // Linux 00062 // -------------------------------------------------------------------------- ; 00063 #ifdef __LINUX__ 00064 #ifndef LINUX 00065 #define LINUX 00066 #endif 00067 #endif 00068 00069 #ifdef __LINUX__ 00070 00071 #define __386__ 00072 // already defined as inline in <cmath> 00073 #define WITHSTREAMS 00074 #define HAS_ABS_FCT 00075 00076 #endif // Linux 00077 00078 // -------------------------------------------------------------------------- ; 00079 // Sun Workshop compiler : 00080 // -------------------------------------------------------------------------- ; 00081 00082 #if defined (__SUNPRO_CC) 00083 00084 #define WITHSTREAMS 00085 #define NO_CLASS_PARTIAL_SPECIALIZATION 00086 #define NO_MEMBER_TEMPLATES 00087 #define NO_DEFAULT_ARGS_FOR_FUNCTION_TEMPLATES 00088 #define NO_ABS_FCT 00089 00090 #endif // __SUNPRO_CC 00091 00092 // -------------------------------------------------------------------------- ; 00093 // Watcom compiler : 00094 // -------------------------------------------------------------------------- ; 00095 00096 #if defined (__WATCOM_CPLUSPLUS__) 00097 00098 #define WITHSTREAMS 00099 #define __386__ 00100 #define NO_CLASS_PARTIAL_SPECIALIZATION 00101 #define NO_MEMBER_TEMPLATES 00102 #define NO_DEFAULT_ARGS_FOR_FUNCTION_TEMPLATES 00103 #define NO_CAST_FUNCTION_TEMPLATES 00104 //#define NO_ISTREAM_OPERATOR_BOOL 00105 #define NO_STL_STRINGS 00106 #define NO_ABS_FCT 00107 #define std 00108 00109 #endif // __WATCOM_CPLUSPLUS__ 00110 00111 // -------------------------------------------------------------------------- ; 00112 00113 // -------------------------------------------------------------------------- ; 00114 // Microsoft compiler : 00115 // -------------------------------------------------------------------------- ; 00116 #if defined(_MSC_VER) 00117 00118 #define WITHSTREAMS // comment if using MFC !!! 00119 #define __386__ 00120 #if (_MSC_VER <= 1200) 00121 #define NO_CLASS_PARTIAL_SPECIALIZATION 00122 #define NO_MEMBER_TEMPLATES 00123 #endif 00124 00125 #if (_MSC_VER < 1200) 00126 #define NO_ISTREAM_OPERATOR_BOOL 00127 #endif 00128 00129 #endif // _MSC_VER 00130 00131 // -------------------------------------------------------------------------- ; 00132 00133 #endif // UTIL_CONFIG_H