2 Copyright (C) 2013 Paul Davis
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 #ifndef __libaudiographer_visibility_h__
21 #define __libaudiographer_visibility_h__
23 /* _WIN32 is defined by most compilers targetting Windows, but within the
24 * audiographer source tree, we also define COMPILER_MSVC or COMPILER_MINGW depending
25 * on how a Windows build is built.
28 #if defined _WIN32 || defined __CYGWIN__ || defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
29 #define LIBAUDIOGRAPHER_DLL_IMPORT __declspec(dllimport)
30 #define LIBAUDIOGRAPHER_DLL_EXPORT __declspec(dllexport)
31 #define LIBAUDIOGRAPHER_DLL_LOCAL
33 #define LIBAUDIOGRAPHER_DLL_IMPORT __attribute__ ((visibility ("default")))
34 #define LIBAUDIOGRAPHER_DLL_EXPORT __attribute__ ((visibility ("default")))
35 #define LIBAUDIOGRAPHER_DLL_LOCAL __attribute__ ((visibility ("hidden")))
38 #ifdef LIBAUDIOGRAPHER_STATIC // libaudiographer is not a DLL
39 #define LIBAUDIOGRAPHER_API
40 #define LIBAUDIOGRAPHER_LOCAL
42 #ifdef LIBAUDIOGRAPHER_DLL_EXPORTS // defined if we are building the libaudiographer DLL (instead of using it)
43 #define LIBAUDIOGRAPHER_API LIBAUDIOGRAPHER_DLL_EXPORT
45 #define LIBAUDIOGRAPHER_API LIBAUDIOGRAPHER_DLL_IMPORT
47 #define LIBAUDIOGRAPHER_LOCAL LIBAUDIOGRAPHER_DLL_LOCAL
50 #endif /* __libaudiographer_visibility_h__ */