cgal/cgal_window/include/CGAL/LEDA/sys/unix.h

157 lines
3.9 KiB
C

// 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 <fnmatch.h>
// __USE_VALUES_H__ : use <values.h> 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