'libs/rubberband' - Modify to be buildable with MSVC
This commit is contained in:
parent
e5ab8c1c9e
commit
e9c1a174d2
88
libs/rubberband/rubberband/msvc_rubberband.h
Normal file
88
libs/rubberband/rubberband/msvc_rubberband.h
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
/*
|
||||||
|
Copyright (C) 2009 John Emmas
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
*/
|
||||||
|
#ifndef __msvc_rubberband_h__
|
||||||
|
#define __msvc_rubberband_h__
|
||||||
|
|
||||||
|
#ifdef RUBBERBAND_IS_IN_WIN_STATIC_LIB // #define if your project uses librubberband (under Windows) as a static library
|
||||||
|
#define RUBBERBAND_IS_IN_WINDLL 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(RUBBERBAND_IS_IN_WINDLL)
|
||||||
|
#if defined(_MSC_VER) || defined(__MINGW__) || defined(_MINGW32__)
|
||||||
|
// If you need '__declspec' compatibility, add extra compilers to the above as necessary
|
||||||
|
#define RUBBERBAND_IS_IN_WINDLL 1
|
||||||
|
#else
|
||||||
|
#define RUBBERBAND_IS_IN_WINDLL 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if RUBBERBAND_IS_IN_WINDLL && !defined(RUBBERBAND_API)
|
||||||
|
#if defined(BUILDING_RUBBERBAND)
|
||||||
|
#define RUBBERBAND_API __declspec(dllexport)
|
||||||
|
#define RUBBERBAND_APICALLTYPE __stdcall
|
||||||
|
#elif defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW__) || defined(_MINGW32__)
|
||||||
|
#define RUBBERBAND_API __declspec(dllimport)
|
||||||
|
#define RUBBERBAND_APICALLTYPE __stdcall
|
||||||
|
#else
|
||||||
|
#error "Attempting to define __declspec with an incompatible compiler !"
|
||||||
|
#endif
|
||||||
|
#elif !defined(RUBBERBAND_API)
|
||||||
|
// Other compilers / platforms could be accommodated here
|
||||||
|
#define RUBBERBAND_API
|
||||||
|
#define RUBBERBAND_APICALLTYPE
|
||||||
|
#define GETOPT_API
|
||||||
|
#define GETOPT_APICALLTYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef GETOPT_API
|
||||||
|
#if defined(BUILDING_GETOPT)
|
||||||
|
#define GETOPT_API __declspec(dllexport)
|
||||||
|
#define GETOPT_APICALLTYPE __cdecl
|
||||||
|
#elif defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW__) || defined(_MINGW32__)
|
||||||
|
#define GETOPT_API __declspec(dllimport)
|
||||||
|
#define GETOPT_APICALLTYPE __cdecl
|
||||||
|
#else
|
||||||
|
#error "Attempting to define __declspec with an incompatible compiler !"
|
||||||
|
#endif
|
||||||
|
#endif // GETOPT_API
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#include <rpc.h>
|
||||||
|
|
||||||
|
#ifndef __THROW
|
||||||
|
#define __THROW throw()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace RubberBand {
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
// These are used to replicate 'dirent.h' functionality
|
||||||
|
// RUBBERBAND_API int RUBBERBAND_APICALLTYPE placeholder();
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
} // namespace Rubberband
|
||||||
|
|
||||||
|
#endif // _MSC_VER
|
||||||
|
#endif // __msvc_rubberband_h__
|
Loading…
Reference in New Issue
Block a user