Interface Documentation
Version: invalid
export_definitions.hh
1 /*
2  @@@@@@@@ @@ @@@@@@ @@@@@@@@ @@
3  /@@///// /@@ @@////@@ @@////// /@@
4  /@@ /@@ @@@@@ @@ // /@@ /@@
5  /@@@@@@@ /@@ @@///@@/@@ /@@@@@@@@@/@@
6  /@@//// /@@/@@@@@@@/@@ ////////@@/@@
7  /@@ /@@/@@//// //@@ @@ /@@/@@
8  /@@ @@@//@@@@@@ //@@@@@@ @@@@@@@@ /@@
9  // /// ////// ////// //////// //
10 
11  Copyright (c) 2016, Triad National Security, LLC
12  All rights reserved.
13  */
14 #pragma once
15 
16 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
17 #define FLECSI_SYMBOL_EXPORT __declspec(dllexport)
18 #define FLECSI_SYMBOL_IMPORT __declspec(dllimport)
19 #define FLECSI_SYMBOL_INTERNAL /* empty */
20 #define FLECSI_APISYMBOL_EXPORT __declspec(dllexport)
21 #define FLECSI_APISYMBOL_IMPORT __declspec(dllimport)
22 #elif defined(__NVCC__) || defined(__CUDACC__)
23 #define FLECSI_SYMBOL_EXPORT /* empty */
24 #define FLECSI_SYMBOL_IMPORT /* empty */
25 #define FLECSI_SYMBOL_INTERNAL /* empty */
26 #define FLECSI_APISYMBOL_EXPORT /* empty */
27 #define FLECSI_APISYMBOL_IMPORT /* empty */
28 #elif defined(FLECSI_HAVE_ELF_HIDDEN_VISIBILITY)
29 #define FLECSI_SYMBOL_EXPORT __attribute__((visibility("default")))
30 #define FLECSI_SYMBOL_IMPORT __attribute__((visibility("default")))
31 #define FLECSI_SYMBOL_INTERNAL __attribute__((visibility("hidden")))
32 #define FLECSI_APISYMBOL_EXPORT __attribute__((visibility("default")))
33 #define FLECSI_APISYMBOL_IMPORT __attribute__((visibility("default")))
34 #endif
35 
36 // make sure we have reasonable defaults
37 #if !defined(FLECSI_SYMBOL_EXPORT)
38 #define FLECSI_SYMBOL_EXPORT /* empty */
39 #endif
40 #if !defined(FLECSI_SYMBOL_IMPORT)
41 #define FLECSI_SYMBOL_IMPORT /* empty */
42 #endif
43 #if !defined(FLECSI_SYMBOL_INTERNAL)
44 #define FLECSI_SYMBOL_INTERNAL /* empty */
45 #endif
46 #if !defined(FLECSI_APISYMBOL_EXPORT)
47 #define FLECSI_APISYMBOL_EXPORT /* empty */
48 #endif
49 #if !defined(FLECSI_APISYMBOL_IMPORT)
50 #define FLECSI_APISYMBOL_IMPORT /* empty */
51 #endif
52 
54 // define the export/import helper macros used by the runtime module
55 #if defined(FLECSI_EXPORTS) || defined(FleCSI_EXPORTS)
56 #define FLECSI_EXPORT FLECSI_SYMBOL_EXPORT
57 #define FLECSI_EXCEPTION_EXPORT FLECSI_SYMBOL_EXPORT
58 #define FLECSI_API_EXPORT FLECSI_APISYMBOL_EXPORT
59 #else
60 #define FLECSI_EXPORT FLECSI_SYMBOL_IMPORT
61 #define FLECSI_EXCEPTION_EXPORT FLECSI_SYMBOL_IMPORT
62 #define FLECSI_API_EXPORT FLECSI_APISYMBOL_IMPORT
63 #endif