diff --git a/CMakeLists.txt b/CMakeLists.txt index 40979d3f7..5f2c71495 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -237,6 +237,7 @@ if(MSVC) include_directories(${MSVC_INCLUDE_DIR}) endif() +add_definitions("-DLINPHONE_EXPORTS") if(ENABLE_DEBUG_LOGS) add_definitions("-DDEBUG") endif() diff --git a/coreapi/lime.h b/coreapi/lime.h index ec0a92394..239b0f729 100644 --- a/coreapi/lime.h +++ b/coreapi/lime.h @@ -41,10 +41,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "linphone/core.h" #include -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif - /** * @brief Structure holding all needed material to encrypt/decrypt Messages */ typedef struct limeKey_struct { diff --git a/coreapi/lpc2xml.h b/coreapi/lpc2xml.h index 8bef89c7a..9dd8e840d 100644 --- a/coreapi/lpc2xml.h +++ b/coreapi/lpc2xml.h @@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #ifndef LPC2XML_H_ #define LPC2XML_H_ -#include "linphone/lpconfig.h" +#include "linphone/core.h" typedef struct _lpc2xml_context lpc2xml_context; diff --git a/coreapi/vcard_private.h b/coreapi/vcard_private.h index 8e89d0bac..d7871bd90 100644 --- a/coreapi/vcard_private.h +++ b/coreapi/vcard_private.h @@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #ifndef LINPHONE_VCARD_PRIVATE_H #define LINPHONE_VCARD_PRIVATE_H -#include "linphone/vcard.h" +#include "linphone/core.h" #ifdef __cplusplus extern "C" diff --git a/coreapi/xml2lpc.h b/coreapi/xml2lpc.h index 5c3707bdd..4512d73e2 100644 --- a/coreapi/xml2lpc.h +++ b/coreapi/xml2lpc.h @@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #ifndef XML2LPC_H_ #define XML2LPC_H_ -#include "linphone/lpconfig.h" +#include "linphone/core.h" typedef struct _xml2lpc_context xml2lpc_context; diff --git a/include/linphone/auth_info.h b/include/linphone/auth_info.h index aa65d239d..3f5553c47 100644 --- a/include/linphone/auth_info.h +++ b/include/linphone/auth_info.h @@ -22,10 +22,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif - /** * @addtogroup authentication * @{ diff --git a/include/linphone/call.h b/include/linphone/call.h index 7c388fd17..6989318c3 100644 --- a/include/linphone/call.h +++ b/include/linphone/call.h @@ -21,9 +21,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #define LINPHONE_CALL_H #include -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif #include "linphone/address.h" #include "linphone/call_log.h" diff --git a/include/linphone/core.h b/include/linphone/core.h index 45810a6db..3218a01b8 100644 --- a/include/linphone/core.h +++ b/include/linphone/core.h @@ -25,20 +25,30 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "mediastreamer2/msvideo.h" #include "mediastreamer2/mediastream.h" #include "mediastreamer2/bitratecontrol.h" -#include "linphone/sipsetup.h" -#include "linphone/lpconfig.h" #define LINPHONE_IPADDR_SIZE 64 #define LINPHONE_HOSTNAME_SIZE 128 #ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC +#if defined(_MSC_VER) +#ifdef LINPHONE_EXPORTS +#define LINPHONE_PUBLIC __declspec(dllexport) +#else +#define LINPHONE_PUBLIC __declspec(dllimport) #endif +#else +#define LINPHONE_PUBLIC +#endif +#endif + #ifndef LINPHONE_DEPRECATED #define LINPHONE_DEPRECATED MS2_DEPRECATED #endif +#include "linphone/sipsetup.h" +#include "linphone/lpconfig.h" + #ifdef __cplusplus extern "C" { diff --git a/include/linphone/dictionary.h b/include/linphone/dictionary.h index 0893015d6..3000ec62e 100644 --- a/include/linphone/dictionary.h +++ b/include/linphone/dictionary.h @@ -21,9 +21,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #define LINPHONE_DICTIONARY_H #include -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif typedef struct belle_sip_dict LinphoneDictionary; diff --git a/include/linphone/error_info.h b/include/linphone/error_info.h index 3f27711dd..05173850c 100644 --- a/include/linphone/error_info.h +++ b/include/linphone/error_info.h @@ -21,9 +21,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #define LINPHONE_ERROR_INFO_H #include -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif /** * @addtogroup misc diff --git a/include/linphone/im_encryption_engine.h b/include/linphone/im_encryption_engine.h index b41802d77..e24d7d29c 100644 --- a/include/linphone/im_encryption_engine.h +++ b/include/linphone/im_encryption_engine.h @@ -22,10 +22,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif - /** * @addtogroup misc * @{ diff --git a/include/linphone/lpconfig.h b/include/linphone/lpconfig.h index ee9b97200..c3c041c6e 100644 --- a/include/linphone/lpconfig.h +++ b/include/linphone/lpconfig.h @@ -29,10 +29,6 @@ #include #include "linphone/dictionary.h" -#ifndef LINPHONE_PUBLIC - #define LINPHONE_PUBLIC MS2_PUBLIC -#endif - /** * @addtogroup misc * @{ diff --git a/include/linphone/sipsetup.h b/include/linphone/sipsetup.h index 63dc3f01e..6dc50c4bb 100644 --- a/include/linphone/sipsetup.h +++ b/include/linphone/sipsetup.h @@ -23,10 +23,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "mediastreamer2/mscommon.h" -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif - struct _SipSetup; struct _BuddyInfo; diff --git a/include/linphone/vcard.h b/include/linphone/vcard.h index d1ea750ab..2e00e1133 100644 --- a/include/linphone/vcard.h +++ b/include/linphone/vcard.h @@ -22,14 +22,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include -#ifndef LINPHONE_PUBLIC -#define LINPHONE_PUBLIC MS2_PUBLIC -#endif - -#ifndef LINPHONE_DEPRECATED -#define LINPHONE_DEPRECATED MS2_DEPRECATED -#endif - #ifdef __cplusplus extern "C" { diff --git a/include/sal/sal.h b/include/sal/sal.h index 01b93799c..1e355c722 100644 --- a/include/sal/sal.h +++ b/include/sal/sal.h @@ -36,7 +36,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "belle-sip/mainloop.h" #ifndef LINPHONE_PUBLIC - #define LINPHONE_PUBLIC MS2_PUBLIC +#if defined(_MSC_VER) +#ifdef LINPHONE_EXPORTS +#define LINPHONE_PUBLIC __declspec(dllexport) +#else +#define LINPHONE_PUBLIC __declspec(dllimport) +#endif +#else +#define LINPHONE_PUBLIC +#endif #endif #ifdef __cplusplus