Using dllimport on Win32 when not building Opus
authorJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Thu, 18 Aug 2011 21:02:25 +0000 (17:02 -0400)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Thu, 18 Aug 2011 21:02:25 +0000 (17:02 -0400)
src/opus.h

index 93d6c7c..aa18dd0 100644 (file)
@@ -35,11 +35,21 @@ extern "C" {
 #endif
 
 #if defined(__GNUC__) && defined(OPUS_BUILD)
-#define OPUS_EXPORT __attribute__ ((visibility ("default")))
+
+# define OPUS_EXPORT __attribute__ ((visibility ("default")))
+
 #elif defined(WIN32)
-#define OPUS_EXPORT __declspec(dllexport)
+
+# ifdef OPUS_BUILD
+#   define OPUS_EXPORT __declspec(dllexport)
+# else
+#   define OPUS_EXPORT __declspec(dllimport)
+# endif
+
 #else
-#define OPUS_EXPORT
+
+# define OPUS_EXPORT
+
 #endif
 
 #define __check_int(x) (((void)((x) == (int)0)), (int)(x))