Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Sacado_ConfigDefs.h
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Sacado Package
4 //
5 // Copyright 2006 NTESS and the Sacado contributors.
6 // SPDX-License-Identifier: LGPL-2.1-or-later
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef SACADO_CONFIGDEFS_H
11 #define SACADO_CONFIGDEFS_H
12 
13 #ifndef __cplusplus
14 #define __cplusplus
15 #endif
16 
17 /*
18  * The macros PACKAGE, PACKAGE_NAME, etc, get defined for each package and
19  * need to be undef'd here to avoid warnings when this file is included from
20  * another package.
21  * KL 11/25/02
22  */
23 #ifdef PACKAGE
24 #undef PACKAGE
25 #endif
26 
27 #ifdef PACKAGE_NAME
28 #undef PACKAGE_NAME
29 #endif
30 
31 #ifdef PACKAGE_BUGREPORT
32 #undef PACKAGE_BUGREPORT
33 #endif
34 
35 #ifdef PACKAGE_STRING
36 #undef PACKAGE_STRING
37 #endif
38 
39 #ifdef PACKAGE_TARNAME
40 #undef PACKAGE_TARNAME
41 #endif
42 
43 #ifdef PACKAGE_VERSION
44 #undef PACKAGE_VERSION
45 #endif
46 
47 #ifdef VERSION
48 #undef VERSION
49 #endif
50 
51 #ifndef TRILINOS_NO_CONFIG_H
52 #include <Sacado_config.h>
53 #endif
54 
55 /* Kokkos macros */
56 
57 #if defined(HAVE_SACADO_KOKKOS)
58 #include "Kokkos_Macros.hpp"
59 
60 #ifndef SACADO_FUNCTION
61 #define SACADO_FUNCTION KOKKOS_FUNCTION
62 #endif
63 
64 #ifndef SACADO_DEFAULTED_FUNCTION
65 #define SACADO_DEFAULTED_FUNCTION KOKKOS_DEFAULTED_FUNCTION
66 #endif
67 
68 #ifndef SACADO_INLINE_FUNCTION
69 #define SACADO_INLINE_FUNCTION KOKKOS_INLINE_FUNCTION
70 #endif
71 
72 #ifndef SACADO_FORCEINLINE_FUNCTION
73 #define SACADO_FORCEINLINE_FUNCTION KOKKOS_FORCEINLINE_FUNCTION
74 #endif
75 
76 #else
77 /* Define them even if Kokkos isn't enabled */
78 
79 #ifndef SACADO_FUNCTION
80 #define SACADO_FUNCTION /* */
81 #endif
82 
83 #ifndef SACADO_DEFAULTED_FUNCTION
84 #define SACADO_DEFAULTED_FUNCTION /* */
85 #endif
86 
87 #ifndef SACADO_INLINE_FUNCTION
88 #define SACADO_INLINE_FUNCTION inline
89 #endif
90 
91 #ifndef SACADO_FORCEINLINE_FUNCTION
92 #define SACADO_FORCEINLINE_FUNCTION inline
93 #endif
94 
95 #endif
96 
97 /* Determine if the new fad design is supported. Requies C++11,
98  and if gcc, version 4.8 or greater.
99 */
100 #if defined(__GNUC__) && !defined(__clang__)
101 # if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8) )
102 # define SACADO_ENABLE_NEW_DESIGN 1
103 # endif
104 #else
105 # define SACADO_ENABLE_NEW_DESIGN 1
106 #endif
107 
108 #endif /* SACADO_CONFIGDEFS_H */