DriveWorks SDK Reference

| 0.6.67 Release

Exports.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2015-2016 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
46 #ifndef DW_CORE_EXPORTS_H__
47 #define DW_CORE_EXPORTS_H__
48 
49 #include <dw/core/Config.h>
50 
51 // clang-format off
52 #ifdef DW_STATIC
53  #define DW_API_PUBLIC
54  #define DW_API_LOCAL
55 #else
56  #if defined _WIN32 || defined __CYGWIN__
57  #ifdef DW_EXPORTS
58  #ifdef __GNUC__
59  #define DW_API_PUBLIC __attribute__ ((dllexport))
60  #else
61  #define DW_API_PUBLIC __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
62  #endif
63  #else
64  #ifdef __GNUC__
65  #define DW_API_PUBLIC __attribute__ ((dllimport))
66  #else
67  #define DW_API_PUBLIC __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
68  #endif
69  #endif
70  #define DW_API_LOCAL
71  #else
72  #if __GNUC__ >= 4
73  #define DW_API_PUBLIC __attribute__ ((visibility ("default")))
74  #define DW_API_LOCAL __attribute__ ((visibility ("hidden")))
75  #else
76  #define DW_API_PUBLIC
77  #define DW_API_LOCAL
78  #endif
79  #endif
80 #endif
81 
82 #ifdef __GNUC__
83  #define DW_DEPRECATED __attribute__((deprecated))
84 #elif defined(_MSC_VER)
85  #define DW_DEPRECATED __declspec(deprecated)
86 #else
87  #pragma message("WARNING: DW_DEPRECATED not available for this compiler")
88  #define DW_DEPRECATED
89 #endif
90 
91 // clang-format on
93 #endif // DW_CORE_EXPORTS_H__