From: <man...@us...> - 2013-06-03 17:10:52
|
Revision: 2295 http://sourceforge.net/p/modplug/code/2295 Author: manxorist Date: 2013-06-03 17:10:45 +0000 (Mon, 03 Jun 2013) Log Message: ----------- [Ref] Compiling libopenmpt on non-windows should not require -DLIBOPENMPT_BUILD_DLL. Modified Paths: -------------- trunk/OpenMPT/libopenmpt/libopenmpt_config.h trunk/OpenMPT/libopenmpt/libopenmpt_internal.h trunk/OpenMPT/openmpt123/Makefile Modified: trunk/OpenMPT/libopenmpt/libopenmpt_config.h =================================================================== --- trunk/OpenMPT/libopenmpt/libopenmpt_config.h 2013-06-03 17:03:07 UTC (rev 2294) +++ trunk/OpenMPT/libopenmpt/libopenmpt_config.h 2013-06-03 17:10:45 UTC (rev 2295) @@ -10,49 +10,55 @@ #ifndef LIBOPENMPT_CONFIG_H #define LIBOPENMPT_CONFIG_H -#if defined(LIBOPENMPT_BUILD_DLL) || defined(LIBOPENMPT_USE_DLL) -#if defined(_MSC_VER) || defined(_WIN32) -#define LIBOPENMPT_DLL_HELPER_EXPORT __declspec(dllexport) -#define LIBOPENMPT_DLL_HELPER_IMPORT __declspec(dllimport) -#define LIBOPENMPT_DLL_HELPER_LOCAL +/* provoke warnings if already defined */ +#define LIBOPENMPT_API +#undef LIBOPENMPT_API +#define LIBOPENMPT_CXX_API +#undef LIBOPENMPT_CXX_API + +#if defined(_MSC_VER) + +#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport) +#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport) +#define LIBOPENMPT_API_HELPER_PUBLIC +#define LIBOPENMPT_API_HELPER_LOCAL + #elif defined(__GNUC__) || defined(__clang__) -#define LIBOPENMPT_DLL_HELPER_EXPORT __attribute__((visibility("default"))) -#define LIBOPENMPT_DLL_HELPER_IMPORT __attribute__((visibility("default"))) -#define LIBOPENMPT_DLL_HELPER_LOCAL __attribute__((visibility("hidden"))) + +#if defined(_WIN32) +#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport) +#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport) #else -#define LIBOPENMPT_DLL_HELPER_EXPORT -#define LIBOPENMPT_DLL_HELPER_IMPORT -#define LIBOPENMPT_DLL_HELPER_LOCAL +#define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default"))) +#define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default"))) #endif +#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default"))) +#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden"))) + #else -#define LIBOPENMPT_DLL_HELPER_EXPORT -#define LIBOPENMPT_DLL_HELPER_IMPORT -#define LIBOPENMPT_DLL_HELPER_LOCAL + +#define LIBOPENMPT_API_HELPER_EXPORT +#define LIBOPENMPT_API_HELPER_IMPORT +#define LIBOPENMPT_API_HELPER_PUBLIC +#define LIBOPENMPT_API_HELPER_LOCAL + #endif #if defined(LIBOPENMPT_BUILD_DLL) -#define LIBOPENMPT_API LIBOPENMPT_DLL_HELPER_EXPORT -#ifdef __cplusplus -#define LIBOPENMPT_CXX_API LIBOPENMPT_DLL_HELPER_EXPORT -#endif +#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_EXPORT #elif defined(LIBOPENMPT_USE_DLL) -#define LIBOPENMPT_API LIBOPENMPT_DLL_HELPER_IMPORT -#ifdef __cplusplus -#define LIBOPENMPT_CXX_API LIBOPENMPT_DLL_HELPER_IMPORT -#endif +#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_IMPORT #else -#define LIBOPENMPT_API extern -#ifdef __cplusplus -#define LIBOPENMPT_CXX_API +#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC #endif -#endif #ifdef __cplusplus +#define LIBOPENMPT_CXX_API LIBOPENMPT_API #if defined(LIBOPENMPT_USE_DLL) #if defined(_MSC_VER) && !defined(_DLL) #error "C++ interface is disabled if libopenmpt is built as a DLL and the runtime is statically linked. This is not supported by microsoft and cannot possibly work. Ever." #undef LIBOPENMPT_CXX_API -#define LIBOPENMPT_CXX_API LIBOPENMPT_DLL_HELPER_LOCAL +#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL #endif #endif #endif Modified: trunk/OpenMPT/libopenmpt/libopenmpt_internal.h =================================================================== --- trunk/OpenMPT/libopenmpt/libopenmpt_internal.h 2013-06-03 17:03:07 UTC (rev 2294) +++ trunk/OpenMPT/libopenmpt/libopenmpt_internal.h 2013-06-03 17:10:45 UTC (rev 2295) @@ -17,12 +17,12 @@ #if defined(NO_LIBOPENMPT_C) #undef LIBOPENMPT_API -#define LIBOPENMPT_API LIBOPENMPT_DLL_HELPER_LOCAL +#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_LOCAL #endif #if defined(NO_LIBOPENMPT_CXX) #undef LIBOPENMPT_CXX_API -#define LIBOPENMPT_CXX_API LIBOPENMPT_DLL_HELPER_LOCAL +#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL #endif #ifdef __cplusplus @@ -33,7 +33,7 @@ #pragma message( "libopenmpt C++ interface is disabled if libopenmpt is built as a DLL and the runtime is statically linked. This is not supported by microsoft and cannot possibly work. Ever." ) #endif #undef LIBOPENMPT_CXX_API -#define LIBOPENMPT_CXX_API LIBOPENMPT_DLL_HELPER_LOCAL +#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL #endif #endif #endif Modified: trunk/OpenMPT/openmpt123/Makefile =================================================================== --- trunk/OpenMPT/openmpt123/Makefile 2013-06-03 17:03:07 UTC (rev 2294) +++ trunk/OpenMPT/openmpt123/Makefile 2013-06-03 17:10:45 UTC (rev 2295) @@ -83,7 +83,7 @@ #CPPFLAGS += -I../common/svn_version_default -CPPFLAGS += -DLIBOPENMPT_BUILD -DLIBOPENMPT_BUILD_DLL +CPPFLAGS += -DLIBOPENMPT_BUILD COMMON_CXX_SOURCES += \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |