/[escript]/trunk/esysUtils/src/system_dep.h
ViewVC logotype

Contents of /trunk/esysUtils/src/system_dep.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2017 - (show annotations)
Mon Nov 10 13:19:38 2008 UTC (10 years, 2 months ago) by phornby
File MIME type: text/plain
File size: 1689 byte(s)
Tighten the test for including mathimf.h to be windows specific.

Also another experiment in eliminating THROW_ANY
1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2008 by University of Queensland
5 * Earth Systems Science Computational Center (ESSCC)
6 * http://www.uq.edu.au/esscc
7 *
8 * Primary Business: Queensland, Australia
9 * Licensed under the Open Software License version 3.0
10 * http://www.opensource.org/licenses/osl-3.0.php
11 *
12 *******************************************************/
13
14
15 /**
16 \file system_dep.h
17 \ingroup Other
18 */
19 //
20 // @(#) system_dep.h
21 //
22
23 #ifndef esysutils_system_dep_h
24 #define esysutils_system_dep_h
25
26 #if defined(_WIN32) && defined(__INTEL_COMPILER)
27 // The Intel compiler on windows has an "improved" math library compared to the usual Visual C++ one
28 // In particular it has a acosh and other similar functions which aren't implemented in Visual C++ math.h
29 // Note you will get a compile time error if any other header (including system ones) include math.h before mathimf.h
30 // has been included. As a result system_dep.h must be included FIRST at all times (this prevents math.h from being included).
31 #include <mathimf.h>
32 #else
33 #include <math.h>
34 #endif
35
36 #ifdef _WIN32
37
38 // Un-comment this block if you want it dynamic
39 // and comment out the line immediately after the block.
40 //# ifndef INTERFACE_STATIC_LIB
41 //# ifdef ESYSUTILS_EXPORTS
42 //# define ESYSUTILS_DLL_API __declspec(dllexport)
43 //# else
44 //# define ESYSUTILS_DLL_API __declspec(dllimport)
45 //# endif
46 //# endif
47 # define ESYSUTILS_DLL_API
48 # define THROW(ARG)
49 # define THROW_ANY // Stupid windows compilers complain about THROW()
50 #else
51 # define ESYSUTILS_DLL_API
52 # define THROW(ARG) throw(ARG)
53 # define THROW_ANY throw()
54 #endif
55
56 #define NO_ARG
57
58 #endif

  ViewVC Help
Powered by ViewVC 1.1.26