CARLsim  6.1.0
CARLsim: a GPU-accelerated SNN simulator
carlsim_conf_api.h
Go to the documentation of this file.
1 
2 // LN 2021
3 
4 #ifndef CARLSIM_CONF_API_H
5 #define CARLSIM_CONF_API_H
6 
7 
8 #if defined _WIN32 || defined __CYGWIN__
9 # define CARLSIM_HELPER_DLL_IMPORT __declspec(dllimport)
10 # define CARLSIM_HELPER_DLL_EXPORT __declspec(dllexport)
11 # define CARLSIM_HELPER_DLL_LOCAL
12 # define CARLSIM_HELPER_DLL_IMPORT_EXTERN extern
13 # define CARLSIM_HELPER_DLL_EXPORT_EXTERN
14 #elif (CARLSIM_COMPILER_IS_GNU && (__GNUC__ >= 4)) || CARLSIM_COMPILER_IS_Clang || CARLSIM_COMPILER_IS_AppleClang
15 # define CARLSIM_HELPER_DLL_IMPORT __attribute__ ((visibility ("default")))
16 # define CARLSIM_HELPER_DLL_EXPORT __attribute__ ((visibility ("default")))
17 # define CARLSIM_HELPER_DLL_LOCAL __attribute__ ((visibility ("hidden")))
18 # define CARLSIM_HELPER_DLL_IMPORT_EXTERN
19 # define CARLSIM_HELPER_DLL_EXPORT_EXTERN
20 #else
21 # define CARLSIM_HELPER_DLL_IMPORT
22 # define CARLSIM_HELPER_DLL_EXPORT
23 # define CARLSIM_HELPER_DLL_LOCAL
24 # define CARLSIM_HELPER_DLL_IMPORT_EXTERN
25 # define CARLSIM_HELPER_DLL_EXPORT_EXTERN
26 #endif
27 
28 // Defined if CARLSIM is build as a shared library
29 
30 #if defined CARLSIM_DLL
31 # define CARLSIM_IMPORT CARLSIM_HELPER_DLL_IMPORT
32 # define CARLSIM_EXPORT CARLSIM_HELPER_DLL_EXPORT
33 # define CARLSIM_LOCAL CARLSIM_HELPER_DLL_LOCAL
34 # define CARLSIM_IMPORT_EXTERN CARLSIM_HELPER_DLL_IMPORT_EXTERN
35 # define CARLSIM_EXPORT_EXTERN CARLSIM_HELPER_DLL_EXPORT_EXTERN
36 #else
37 # define CARLSIM_IMPORT
38 # define CARLSIM_EXPORT
39 # define CARLSIM_LOCAL
40 # define CARLSIM_IMPORT_EXTERN
41 # define CARLSIM_EXPORT_EXTERN
42 #endif
43 
44 
45 #endif // CARLSIM_CONF_API_H