Sacado Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Sacado_ConfigDefs.h
Go to the documentation of this file.
1/*
2@HEADER
3*************************************************************************
4
5 Sacado Package
6 Copyright (2006) Sandia Corporation
7
8Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9the U.S. Government retains certain rights in this software.
10
11This library is free software; you can redistribute it and/or modify
12it under the terms of the GNU Lesser General Public License as
13published by the Free Software Foundation; either version 2.1 of the
14License, or (at your option) any later version.
15
16This library is distributed in the hope that it will be useful, but
17WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19Lesser General Public License for more details.
20
21You should have received a copy of the GNU Lesser General Public
22License along with this library; if not, write to the Free Software
23Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
24USA
25Questions? Contact David M. Gay (dmgay@sandia.gov) or Eric T. Phipps
26(etphipp@sandia.gov).
27
28************************************************************************
29@HEADER
30*/
31
32#ifndef SACADO_CONFIGDEFS_H
33#define SACADO_CONFIGDEFS_H
34
35#ifndef __cplusplus
36#define __cplusplus
37#endif
38
39/*
40 * The macros PACKAGE, PACKAGE_NAME, etc, get defined for each package and
41 * need to be undef'd here to avoid warnings when this file is included from
42 * another package.
43 * KL 11/25/02
44 */
45#ifdef PACKAGE
46#undef PACKAGE
47#endif
48
49#ifdef PACKAGE_NAME
50#undef PACKAGE_NAME
51#endif
52
53#ifdef PACKAGE_BUGREPORT
54#undef PACKAGE_BUGREPORT
55#endif
56
57#ifdef PACKAGE_STRING
58#undef PACKAGE_STRING
59#endif
60
61#ifdef PACKAGE_TARNAME
62#undef PACKAGE_TARNAME
63#endif
64
65#ifdef PACKAGE_VERSION
66#undef PACKAGE_VERSION
67#endif
68
69#ifdef VERSION
70#undef VERSION
71#endif
72
73#ifndef TRILINOS_NO_CONFIG_H
74#include <Sacado_config.h>
75#endif
76
77/* Kokkos macros */
78
79#if defined(HAVE_SACADO_KOKKOSCORE)
80#include "Kokkos_Macros.hpp"
81
82#ifndef SACADO_FUNCTION
83#define SACADO_FUNCTION KOKKOS_FUNCTION
84#endif
85
86#ifndef SACADO_DEFAULTED_FUNCTION
87#define SACADO_DEFAULTED_FUNCTION KOKKOS_DEFAULTED_FUNCTION
88#endif
89
90#ifndef SACADO_INLINE_FUNCTION
91#define SACADO_INLINE_FUNCTION KOKKOS_INLINE_FUNCTION
92#endif
93
94#ifndef SACADO_FORCEINLINE_FUNCTION
95#define SACADO_FORCEINLINE_FUNCTION KOKKOS_FORCEINLINE_FUNCTION
96#endif
97
98#else
99/* Define them even if Kokkos isn't enabled */
100
101#ifndef SACADO_FUNCTION
102#define SACADO_FUNCTION /* */
103#endif
104
105#ifndef SACADO_DEFAULTED_FUNCTION
106#define SACADO_DEFAULTED_FUNCTION /* */
107#endif
108
109#ifndef SACADO_INLINE_FUNCTION
110#define SACADO_INLINE_FUNCTION inline
111#endif
112
113#ifndef SACADO_FORCEINLINE_FUNCTION
114#define SACADO_FORCEINLINE_FUNCTION inline
115#endif
116
117#endif
118
119/* Determine if the new fad design is supported. Requies C++11,
120 and if gcc, version 4.8 or greater.
121*/
122#if defined(HAVE_SACADO_CXX11)
123# if defined(__GNUC__) && !defined(__clang__)
124# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8) )
125# define SACADO_ENABLE_NEW_DESIGN 1
126# endif
127# else
128# define SACADO_ENABLE_NEW_DESIGN 1
129# endif
130#endif
131
132#endif /* SACADO_CONFIGDEFS_H */