PdCom  5.0
Process data communication client
visibility.h
1 /*****************************************************************************
2  *
3  * Copyright (C) 2021 Bjarne von Horn (vh at igh dot de)
4  *
5  * This file is part of the PdCom library.
6  *
7  * The PdCom library is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Lesser General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or (at your
10  * option) any later version.
11  *
12  * The PdCom library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15  * License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with the PdCom library. If not, see <http://www.gnu.org/licenses/>.
19  *
20  *****************************************************************************/
21 
22 #ifndef PDCOM5_VISIBILITY_H
23 #define PDCOM5_VISIBILITY_H
24 
25 #if defined _WIN32 || defined __CYGWIN__
26 #ifdef pdcom5_EXPORTS
27 #define PDCOM5_PUBLIC __declspec(dllexport)
28 #else
29 #define PDCOM5_PUBLIC __declspec(dllimport)
30 #endif
31 #define PDCOM5_LOCAL
32 #else
33 #define PDCOM5_LOCAL __attribute__((visibility("hidden")))
34 #ifdef pdcom5_EXPORTS
35 #define PDCOM5_PUBLIC __attribute__((visibility("default")))
36 #else
37 #define PDCOM5_PUBLIC
38 #endif
39 #endif
40 
41 #endif // PDCOM5_VISIBILITY_H