/[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 3981 - (show annotations)
Fri Sep 21 02:47:54 2012 UTC (6 years, 10 months ago) by jfenwick
File MIME type: text/plain
File size: 2160 byte(s)
First pass of updating copyright notices
1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2012 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15
16
17 /**
18 \file esysUtils/src/system_dep.h
19 \ingroup Other
20 */
21 /*
22 * @(#) system_dep.h
23 */
24
25 #ifndef esysutils_system_dep_h
26 #define esysutils_system_dep_h
27
28 #if defined(_WIN32) && defined(__INTEL_COMPILER)
29 /* The Intel compiler on windows has an "improved" math library compared to the usual Visual C++ one
30 * In particular it has a acosh and other similar functions which aren't implemented in Visual C++ math.h
31 * Note you will get a compile time error if any other header (including system ones) include math.h before mathimf.h
32 * has been included. As a result system_dep.h must be included FIRST at all times (this prevents math.h from being included).
33 */
34 #include <mathimf.h>
35 #else
36 #include <math.h>
37 #endif
38
39 #define ESYSUTILS_DLL_API
40
41 #ifdef _WIN32
42 # ifndef ESYSUTILS_STATIC_LIB
43 # undef ESYSUTILS_DLL_API
44 # ifdef ESYSUTILS_EXPORTS
45 # define ESYSUTILS_DLL_API __declspec(dllexport)
46 # else
47 # define ESYSUTILS_DLL_API __declspec(dllimport)
48 # endif
49 # endif
50
51 /* This is because of the different declarations of std::exception mentods
52 * on windows.
53 * Also, putting a "throw" in any declaration on windows causes a warning!!!!!!
54 * If you wish to generate a throw() on other systems, please use
55 * THROW(NO_ARG). This is because windows generates warnings if you say
56 * THROW(), so the NO_ARG trick must be used to avoid the mass of warnings.
57 */
58
59 # define THROW(ARG)
60 #else
61 # define THROW(ARG) throw(ARG)
62 #endif
63
64 #define NO_ARG
65
66 /* you'll need this one day. */
67 #ifndef __const
68 # if (defined __STDC__ && __STDC__) || defined __cplusplus
69 # define __const const
70 # else
71 # define __const
72 # endif
73 #endif
74
75
76
77 #endif

  ViewVC Help
Powered by ViewVC 1.1.26