// Copyright (c) 1999 Martin-Luther-University Halle-Wittenberg (Germany). // All rights reserved. // // This file is part of CGAL (www.cgal.org); you may redistribute it under // the terms of the Q Public License version 1.0. // See the file LICENSE.QPL distributed with CGAL. // // Licensees holding a valid commercial license may use this file in // accordance with the commercial license agreement provided with the software. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // // $URL$ // $Id$ // // // Author(s) : Matthias Baesken, Algorithmic Solutions #ifndef CGAL_WINDOW_SYS_UNIX_H #define CGAL_WINDOW_SYS_UNIX_H //---------------------------------------------------------------------------- // system/compiler dependent definitions //---------------------------------------------------------------------------- // In the first section of this file some flags are defined indicating // that certain c++ features are supported or not by particular compilers. // If your compiler does not appear you may have to add it. // // __HAS_MEMBER_TEMPLATES__ : member function templates // __HAS_TYPENAME_KEYWORD__ : has keyword "typename" // __HAS_EXPLICIT_KEYWORD__ : has keyword "explicit" // __HAS_BUILTIN_BOOL__ : has built-in boolean // __HAS_FNMATCH_H__ : has // __USE_VALUES_H__ : use header file // __NO_TEMPLATE_ARG_BASE__ : template arguments may not be used as base class // __NO_FUNCTEMP_DEF_ARGS__ : function templates may not have default args // __NO_EXPLICIT_DESTRUCTION__: no explicit destructor call // __NO_CAST_TO_LOCAL_TYPE__ : no casting to a local type of a class // __ELSE_SCOPE_BUG__ : else-part does not start new scope // __ALL_MEMBERS_INSTANT__ : instantiates always ALL members of a template #if !defined(__unix__) #define __unix__ #endif #if defined(__SVR4) || defined(_SYSTYPE_SVR4) || defined(__SYSTYPE_SVR4) #if !defined(__svr4__) #define __svr4__ #endif #endif #if defined(mips) && !defined(__GNUC__) #if defined(_COMPILER_VERSION) #define __mipspro__ #else #define __ELSE_SCOPE_BUG__ #define __NO_EXPLICIT_DESTRUCTION__ #endif #endif #if defined(__GNUC__) || defined(__mipspro__) || defined(__KCC)\ || __SUNPRO_CC >= 0x500 #define __HAS_TYPENAME_KEYWORD__ #define __HAS_EXPLICIT_KEYWORD__ #define __typename typename #define __explicit explicit #else #define __typename #define __explicit #endif #if defined(__GNUC__) || defined(__mipspro__) || defined(__KCC) // || __SUNPRO_CC >= 0x510 #define __HAS_MEMBER_TEMPLATES__ #endif #if defined(__GNUC__) || defined(__KCC)\ || (defined(__mipspro__) && _COMPILER_VERSION >= 730) #define __temp_friend_decl <> #else #define __temp_friend_decl #endif #if defined(__DECCXX) || defined(__KCC) || defined(__hpuxcc__)\ || defined(__SUNPRO_CC) #define __temp_func_inline inline #else #define __temp_func_inline #endif #if defined(__svr4__) || defined(__linux__) || defined(__hpux) #define __HAS_FNMATCH_H__ #endif #if defined(__alpha) || defined(__sparcv9) || _MIPS_SZLONG == 64 #define WORD_LENGTH_64 #endif #if !defined(__GNUC__) && !defined(__hpux) #define __USE_VALUES_H__ #endif #if defined(__ALL_MEMBERS_INSTANT__) || defined(__NO_EXPLICIT_DESTRUCTION__) #define __NO_TEMPLATE_ALGS__ #endif #if defined(i386) || defined(__i386) #define LITTLE_ENDIAN_MACHINE #endif #if defined(__linux__) && (defined(i386) || defined(__i386)) /* inline int leda_init_fpu() { // set internal rounding of FPU to double (not extended) format // and leave rounding to nearest as well as exceptions unchanged int cw = 4735; __asm__("fldcw %0" : : "m" (cw)); return 0; } static int set_double_ieee_for_linux = leda_init_fpu(); */ #endif #define __exportC #define __exportF #define __exportD #define _exportC #define _exportF #define _exportD #endif