Bug 884222 - Use __declspec(dllexport) in Opus on mingw. r=derf
authorJacek Caban <jacek@codeweavers.com>
Wed, 19 Jun 2013 16:14:05 +0200
changeset 135592 f523cbfd3be8a57eb1bd911b4d9e1c17eddc7b78
parent 135591 5458a7880db538d4eb3f9d9b4949fe160bf1af11
child 135593 aa768b37b1c8ff88b30ba1913534a94177efaef1
push id29733
push userjacek@codeweavers.com
push dateWed, 19 Jun 2013 14:13:29 +0000
treeherdermozilla-inbound@f523cbfd3be8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersderf
bugs884222
milestone24.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 884222 - Use __declspec(dllexport) in Opus on mingw. r=derf
media/libopus/include/opus_defines.h
media/libopus/mingw.patch
media/libopus/update.sh
--- a/media/libopus/include/opus_defines.h
+++ b/media/libopus/include/opus_defines.h
@@ -67,24 +67,24 @@ extern "C" {
 #define OPUS_INVALID_STATE    -6
 /** Memory allocation has failed @hideinitializer*/
 #define OPUS_ALLOC_FAIL       -7
 /**@}*/
 
 /** @cond OPUS_INTERNAL_DOC */
 /**Export control for opus functions */
 
-#if defined(__GNUC__) && defined(OPUS_BUILD)
-# define OPUS_EXPORT __attribute__ ((visibility ("default")))
-#elif defined(WIN32)
+#if defined(WIN32)
 # ifdef OPUS_BUILD
 #   define OPUS_EXPORT __declspec(dllexport)
 # else
 #   define OPUS_EXPORT __declspec(dllimport)
 # endif
+#elif defined(__GNUC__) && defined(OPUS_BUILD)
+# define OPUS_EXPORT __attribute__ ((visibility ("default")))
 #else
 # define OPUS_EXPORT
 #endif
 
 /** These are the actual Encoder CTL ID numbers.
   * They should not be used directly by applications. */
 #define OPUS_SET_APPLICATION_REQUEST         4000
 #define OPUS_GET_APPLICATION_REQUEST         4001
new file mode 100644
--- /dev/null
+++ b/media/libopus/mingw.patch
@@ -0,0 +1,28 @@
+commit 986fb3ec557aa7aeb8788360224708ffa2955072
+Author: Jacek Caban <jacek@codeweavers.com>
+Date:   Wed Jun 12 17:30:47 2013 +0200
+
+    Use __declspec(dllexport) on mingw build.
+
+diff --git a/media/libopus/include/opus_defines.h b/media/libopus/include/opus_defines.h
+index db6b3b7..b64049b 100644
+--- a/media/libopus/include/opus_defines.h
++++ b/media/libopus/include/opus_defines.h
+@@ -72,14 +72,14 @@ extern "C" {
+ /** @cond OPUS_INTERNAL_DOC */
+ /**Export control for opus functions */
+ 
+-#if defined(__GNUC__) && defined(OPUS_BUILD)
+-# define OPUS_EXPORT __attribute__ ((visibility ("default")))
+-#elif defined(WIN32)
++#if defined(WIN32)
+ # ifdef OPUS_BUILD
+ #   define OPUS_EXPORT __declspec(dllexport)
+ # else
+ #   define OPUS_EXPORT __declspec(dllimport)
+ # endif
++#elif defined(__GNUC__) && defined(OPUS_BUILD)
++# define OPUS_EXPORT __attribute__ ((visibility ("default")))
+ #else
+ # define OPUS_EXPORT
+ #endif
--- a/media/libopus/update.sh
+++ b/media/libopus/update.sh
@@ -60,8 +60,9 @@ echo "copied from revision ${version}"
 # update README revision
 sed -e "s/^The git tag\/revision used was .*/The git tag\/revision used was ${version}./" \
     ${TARGET}/README_MOZILLA > ${TARGET}/README_MOZILLA+ && \
     mv ${TARGET}/README_MOZILLA+ ${TARGET}/README_MOZILLA
 
 # apply outstanding local patches
 patch -p3 < bug776661.patch
 patch -p1 < padding.patch
+patch -p3 < mingw.patch