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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2031 - (hide annotations)
Wed Nov 12 08:02:33 2008 UTC (12 years, 11 months ago) by phornby
File MIME type: text/plain
File size: 1855 byte(s)
Need finer control than INTERFACE_STATIC_LIB could exert. Now there is a
XXX_STATIC_LIB for each lib.


1 ksteube 1312
2     /*******************************************************
3 ksteube 1811 *
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 ksteube 1312
14 ksteube 1811
15 woo409 743 /**
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 phornby 2017 #if defined(_WIN32) && defined(__INTEL_COMPILER)
27 woo409 743 // 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 phornby 2017 // Note you will get a compile time error if any other header (including system ones) include math.h before mathimf.h
30 woo409 743 // 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 phornby 2029 #define ESYSUTILS_DLL_API
37    
38 woo409 779 #ifdef _WIN32
39 phornby 2031 # ifndef ESYSUTILS_STATIC_LIB
40 phornby 2030 # undef ESYSUTILS_DLL_API
41 phornby 2029 # ifdef ESYSUTILS_EXPORTS
42     # define ESYSUTILS_DLL_API __declspec(dllexport)
43     # else
44     # define ESYSUTILS_DLL_API __declspec(dllimport)
45     # endif
46     # endif
47 woo409 779
48 phornby 2020 // This is because of the different declarations of std::exception mentods
49     // on windows.
50     // Also, putting a "throw" in any declaration on windows causes a warning!!!!!!
51     // If you wish to generate a throw() on other systems, please use
52     // THROW(NO_ARG). This is because windows generates warnings if you say
53     // THROW(), so the NO_ARG trick must be used to avoid the mass of warnings.
54    
55 phornby 1628 # define THROW(ARG)
56 woo409 743 #else
57 phornby 1628 # define THROW(ARG) throw(ARG)
58 woo409 743 #endif
59    
60 phornby 2017 #define NO_ARG
61 woo409 743
62     #endif

  ViewVC Help
Powered by ViewVC 1.1.26