2 * Copyright 1993-2012 NVIDIA Corporation. All rights reserved.
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.
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.
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.
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.
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
50 #if !defined(__HOST_CONFIG_H__)
51 #define __HOST_CONFIG_H__
53 /*******************************************************************************
57 *******************************************************************************/
59 #if defined(__CUDACC__)
61 /* check for host compilers that are compatible with nvcc */
62 #if !defined(__GNUC__) && !defined(_WIN32)
64 #error --- !!! UNSUPPORTED COMPILER !!! ---
66 #endif /* !__GNUC__ && !_WIN32 */
70 #if __ICC != 1400 || !defined(__GNUC__) || !defined(__LP64__)
72 #error -- unsupported ICC configuration! Only ICC 14.0 on Linux x86_64 is supported!
74 #endif /* __ICC != 1400 || !__GNUC__ || !__LP64__ */
80 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 8)
82 #error -- unsupported GNU version! gcc 4.9 and up are not supported!
84 #endif /* __GNUC__> 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 8) */
90 #if _MSC_VER < 1600 || _MSC_VER > 1800
92 #error -- unsupported Microsoft Visual Studio version! Only the versions 2010, 2012, and 2013 are supported!
94 #endif /* _MSC_VER < 1600 || _MSC_VER > 1800 */
98 /* configure host compiler */
99 #if defined(__APPLE__)
104 #if defined(__BLOCKS__) /* nvcc does not support closures */
108 #endif /* __BLOCKS__ */
110 #elif defined(__ANDROID__)
115 #elif defined(__GNUC__)
119 #include <features.h> /* for __THROW */
121 #elif defined(_WIN32)
125 #undef _USE_DECLSPECS_FOR_SAL
126 #define _USE_DECLSPECS_FOR_SAL \
129 #endif /* _MSC_VER >= 1500 */
131 #if !defined(_CRT_NONSTDC_NO_WARNINGS)
133 #define _CRT_NONSTDC_NO_WARNINGS /* to suppress warnings */
135 #endif /* !_CRT_NONSTDC_NO_WARNINGS */
137 #if !defined(_CRT_SECURE_NO_WARNINGS)
139 #define _CRT_SECURE_NO_WARNINGS /* to suppress warnings */
141 #endif /* !_CRT_SECURE_NO_WARNINGS */
143 #if !defined(NOMINMAX)
145 #define NOMINMAX /* min and max are part of cuda runtime */
147 #endif /* !NOMINMAX */
149 #include <crtdefs.h> /* for _CRTIMP */
153 #endif /* __APPLE__ */
155 #endif /* __CUDACC__ */
157 #endif /* !__HOST_CONFIG_H__ */