libtranscript
/home/gertjan/projects/transcript/src/api.h
00001 /* Copyright (C) 2011 G.P. Halkes
00002    This program is free software: you can redistribute it and/or modify
00003    it under the terms of the GNU General Public License version 3, as
00004    published by the Free Software Foundation.
00005 
00006    This program is distributed in the hope that it will be useful,
00007    but WITHOUT ANY WARRANTY; without even the implied warranty of
00008    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00009    GNU General Public License for more details.
00010 
00011    You should have received a copy of the GNU General Public License
00012    along with this program.  If not, see <http://www.gnu.org/licenses/>.
00013 */
00014 #ifndef TRANSCRIPT_API_H
00015 #define TRANSCRIPT_API_H
00016 
00017 #if defined(_WIN32) || defined(__CYGWIN__)
00018         #define TRANSCRIPT_EXPORT __declspec(dllexport)
00019         #define TRANSCRIPT_IMPORT __declspec(dllimport)
00020         #define TRANSCRIPT_LOCAL
00021 #else
00022         #if __GNUC__ >= 4 || defined(__clang__)
00023                 #define TRANSCRIPT_EXPORT __attribute__((visibility("default")))
00024                 #define TRANSCRIPT_IMPORT __attribute__((visibility("default")))
00025                 #define TRANSCRIPT_LOCAL __attribute__((visibility("hidden")))
00026         #else
00027                 #define TRANSCRIPT_EXPORT
00028                 #define TRANSCRIPT_IMPORT
00029                 #define TRANSCRIPT_LOCAL
00030         #endif
00031 #endif
00032 
00033 #ifdef TRANSCRIPT_BUILD_DSO
00034         #define TRANSCRIPT_API TRANSCRIPT_EXPORT
00035 #else
00036         #define TRANSCRIPT_API TRANSCRIPT_IMPORT
00037 #endif
00038 
00039 #endif
 All Data Structures Variables