OSDN Git Service

CUDA
[eos/hostdependX86LINUX64.git] / util / X86LINUX64 / cuda-6.5 / include / host_config.h
1 /*
2  * Copyright 1993-2012 NVIDIA Corporation.  All rights reserved.
3  *
4  * NOTICE TO LICENSEE:
5  *
6  * This source code and/or documentation ("Licensed Deliverables") are
7  * subject to NVIDIA intellectual property rights under U.S. and
8  * international Copyright laws.
9  *
10  * These Licensed Deliverables contained herein is PROPRIETARY and
11  * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12  * conditions of a form of NVIDIA software license agreement by and
13  * between NVIDIA and Licensee ("License Agreement") or electronically
14  * accepted by Licensee.  Notwithstanding any terms or conditions to
15  * the contrary in the License Agreement, reproduction or disclosure
16  * of the Licensed Deliverables to any third party without the express
17  * written consent of NVIDIA is prohibited.
18  *
19  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20  * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21  * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE.  IT IS
22  * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23  * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24  * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25  * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27  * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28  * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29  * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32  * OF THESE LICENSED DELIVERABLES.
33  *
34  * U.S. Government End Users.  These Licensed Deliverables are a
35  * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36  * 1995), consisting of "commercial computer software" and "commercial
37  * computer software documentation" as such terms are used in 48
38  * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39  * only as a commercial end item.  Consistent with 48 C.F.R.12.212 and
40  * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41  * U.S. Government End Users acquire the Licensed Deliverables with
42  * only those rights set forth herein.
43  *
44  * Any use of the Licensed Deliverables in individual and commercial
45  * software must include, in the user documentation and internal
46  * comments to the code, the above Disclaimer and U.S. Government End
47  * Users Notice.
48  */
49
50 #if !defined(__HOST_CONFIG_H__)
51 #define __HOST_CONFIG_H__
52
53 /*******************************************************************************
54 *                                                                              *
55 *                                                                              *
56 *                                                                              *
57 *******************************************************************************/
58
59 #if defined(__CUDACC__)
60
61 /* check for host compilers that are compatible with nvcc */
62 #if !defined(__GNUC__) && !defined(_WIN32)
63
64 #error --- !!! UNSUPPORTED COMPILER !!! ---
65
66 #endif /* !__GNUC__ && !_WIN32 */
67
68 #if defined(__ICC)
69
70 #if __ICC != 1400 || !defined(__GNUC__) || !defined(__LP64__)
71
72 #error -- unsupported ICC configuration! Only ICC 14.0 on Linux x86_64 is supported!
73
74 #endif /* __ICC != 1400 || !__GNUC__ || !__LP64__ */
75
76 #endif /* __ICC */
77
78 #if defined(__GNUC__)
79
80 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 8)
81
82 #error -- unsupported GNU version! gcc 4.9 and up are not supported!
83
84 #endif /* __GNUC__> 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 8) */
85
86 #endif /* __GNUC__ */
87
88 #if defined(_WIN32)
89
90 #if _MSC_VER < 1600 || _MSC_VER > 1800
91
92 #error -- unsupported Microsoft Visual Studio version! Only the versions 2010, 2012, and 2013 are supported!
93
94 #endif /* _MSC_VER < 1600 || _MSC_VER > 1800 */
95
96 #endif /* _WIN32 */
97
98 /* configure host compiler */
99 #if defined(__APPLE__)
100
101 #define _CRTIMP
102 #define __THROW
103
104 #if defined(__BLOCKS__) /* nvcc does not support closures */
105
106 #undef __BLOCKS__
107
108 #endif /* __BLOCKS__ */
109
110 #elif defined(__ANDROID__)
111
112 #define _CRTIMP
113 #define __THROW
114
115 #elif defined(__GNUC__)
116
117 #define _CRTIMP
118
119 #include <features.h> /* for __THROW */
120
121 #elif defined(_WIN32)
122
123 #if _MSC_VER >= 1500
124
125 #undef _USE_DECLSPECS_FOR_SAL
126 #define _USE_DECLSPECS_FOR_SAL \
127         1
128
129 #endif /* _MSC_VER >= 1500 */
130
131 #if !defined(_CRT_NONSTDC_NO_WARNINGS)
132
133 #define _CRT_NONSTDC_NO_WARNINGS /* to suppress warnings */
134
135 #endif /* !_CRT_NONSTDC_NO_WARNINGS */
136
137 #if !defined(_CRT_SECURE_NO_WARNINGS)
138
139 #define _CRT_SECURE_NO_WARNINGS /* to suppress warnings */
140
141 #endif /* !_CRT_SECURE_NO_WARNINGS */
142
143 #if !defined(NOMINMAX)
144
145 #define NOMINMAX /* min and max are part of cuda runtime */
146
147 #endif /* !NOMINMAX */
148
149 #include <crtdefs.h> /* for _CRTIMP */
150
151 #define __THROW
152
153 #endif /* __APPLE__ */
154
155 #endif /* __CUDACC__ */
156
157 #endif /* !__HOST_CONFIG_H__ */