/// This file is part of the X3DToolKit library
/// Copyright (C) 2002-2004  Yannick Le Goc (legoc@imag.fr)

/// http://artis.imag.fr/Members/Yannick.Legoc/X3D/

/// This library is free software; you can redistribute it and/or
/// modify it under the terms of the GNU Lesser General Public
/// License as published by the Free Software Foundation; either
/// version 2.1 of the License, or (at your option) any later version.

/// This library is distributed in the hope that it will be useful,
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
/// Lesser General Public License for more details.

/// You should have received a copy of the GNU Lesser General Public
/// License along with this library; if not, write to the Free Software
/// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#ifndef X3DTK_PLATFORM_H
#define X3DTK_PLATFORM_H

// Defines and includes for MSVC
#ifdef WIN32
  #ifdef X3DTK_EXPORTS
    #define X3DTK_API __declspec(dllexport)
  #else
    #define X3DTK_API __declspec(dllimport)  
  #endif
  
  #ifdef _MSC_VER
    #if _MSC_VER >= 1310
      #define TEMPLATE_SPECIALIZATION_SUPPORTED
    #endif
    
    #pragma pointers_to_members(full_generality, multiple_inheritance)
  
    #include <direct.h>
    #include <windows.h>
    #include <algorithm>

    #pragma warning (disable : 4251)
    #pragma warning (disable : 4100)

  #endif
  
#else
  #define TEMPLATE_SPECIALIZATION_SUPPORTED
  #include <unistd.h>
#endif    

// Defines and includes for sgi and apple
#ifdef __sgi
  #include <math.h>
#else
  #include <cmath>
  #ifdef __APPLE__
    #define sinf sin
    #define cosf cos
  #endif
#endif  

#if defined  __APPLE__
  # include <gl.h>
#else
  # include <GL/gl.h>
#endif 

#include "CLog.h"

#endif
