summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Grabsch <vog@notjusthosting.com>2010-11-28 21:28:35 (GMT)
committerVolker Grabsch <vog@notjusthosting.com>2010-11-28 21:28:35 (GMT)
commit1f1ff5d8f1f473d2b39cc791734b5905f22e68bb (patch)
tree7c39e262442c91a1468658a90dc8340baa844c3e
parent0c78444409b237dc700c8739c226509d47b8e496 (diff)
downloadmxe-1f1ff5d8f1f473d2b39cc791734b5905f22e68bb.zip
mxe-1f1ff5d8f1f473d2b39cc791734b5905f22e68bb.tar.gz
mxe-1f1ff5d8f1f473d2b39cc791734b5905f22e68bb.tar.bz2
replace the ugly hacks with clean patches for package openal
-rw-r--r--src/openal-1-fixes.patch109
-rw-r--r--src/openal-1-libtype-static.patch75
-rw-r--r--src/openal-2-gcc-destructor-win32.patch51
-rw-r--r--src/openal-3-pkgconfig-winmm.patch17
4 files changed, 143 insertions, 109 deletions
diff --git a/src/openal-1-fixes.patch b/src/openal-1-fixes.patch
deleted file mode 100644
index 1d4b281..0000000
--- a/src/openal-1-fixes.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-This file is part of mingw-cross-env.
-See doc/index.html for further information.
-
-Contains ad hoc patches for cross building.
-
-From 0ea58dd9662da43ee86682a35608f913f522aadb Mon Sep 17 00:00:00 2001
-From: mingw-cross-env
-Date: Fri, 1 Oct 2010 18:44:51 +0200
-Subject: [PATCH] cross building workarounds
-
-
-diff --git a/Alc/ALc.c b/Alc/ALc.c
---- a/Alc/ALc.c
-+++ b/Alc/ALc.c
-@@ -239,34 +239,8 @@
-
- ///////////////////////////////////////////////////////
- // ALC Related helper functions
--#ifdef _WIN32
--static void alc_init(void);
--static void alc_deinit(void);
--
--BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
--{
-- (void)lpReserved;
--
-- // Perform actions based on the reason for calling.
-- switch(ul_reason_for_call)
-- {
-- case DLL_PROCESS_ATTACH:
-- DisableThreadLibraryCalls(hModule);
-- alc_init();
-- break;
--
-- case DLL_PROCESS_DETACH:
-- alc_deinit();
-- break;
-- }
-- return TRUE;
--}
--#else
--#ifdef HAVE_GCC_DESTRUCTOR
- static void alc_init(void) __attribute__((constructor));
- static void alc_deinit(void) __attribute__((destructor));
--#endif
--#endif
-
- static void alc_init(void)
- {
-diff --git a/include/AL/al.h b/include/AL/al.h
-index c409701..f4cf45b 100644
---- a/include/AL/al.h
-+++ b/include/AL/al.h
-@@ -5,6 +5,10 @@
- extern "C" {
- #endif
-
-+#if 1
-+ #define AL_API
-+ #define AL_APIENTRY
-+#else
- #if defined(_WIN32) && !defined(_XBOX)
- #if defined(AL_BUILD_LIBRARY)
- #define AL_API __declspec(dllexport)
-@@ -18,6 +22,7 @@ extern "C" {
- #define AL_API extern
- #endif
- #endif
-+#endif
-
- #if defined(_WIN32)
- #define AL_APIENTRY __cdecl
-diff --git a/include/AL/alc.h b/include/AL/alc.h
-index 4e84af4..67f8797 100644
---- a/include/AL/alc.h
-+++ b/include/AL/alc.h
-@@ -5,6 +5,10 @@
- extern "C" {
- #endif
-
-+#if 1
-+ #define ALC_API
-+ #define ALC_APIENTRY
-+#else
- #if defined(_WIN32) && !defined(_XBOX)
- #if defined(AL_BUILD_LIBRARY)
- #define ALC_API __declspec(dllexport)
-@@ -18,6 +22,7 @@ extern "C" {
- #define ALC_API extern
- #endif
- #endif
-+#endif
-
- #if defined(_WIN32)
- #define ALC_APIENTRY __cdecl
-diff --git a/openal.pc.in b/openal.pc.in
-index aaf95bb..d78376f 100644
---- a/openal.pc.in
-+++ b/openal.pc.in
-@@ -7,5 +7,5 @@ Name: OpenAL
- Description: OpenAL is a cross-platform 3D audio API
- Requires: @PKG_CONFIG_REQUIRES@
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -l@LIBNAME@ @PKG_CONFIG_LIBS@
-+Libs: -L${libdir} -l@LIBNAME@ @PKG_CONFIG_LIBS@ -lwinmm
- Cflags: -I${includedir}
---
-1.7.1
-
diff --git a/src/openal-1-libtype-static.patch b/src/openal-1-libtype-static.patch
new file mode 100644
index 0000000..c1fca5c
--- /dev/null
+++ b/src/openal-1-libtype-static.patch
@@ -0,0 +1,75 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+This patch has been taken from:
+http://opensource.creative.com/pipermail/openal-devel/2010-November/005759.html
+
+diff -r 37cec05f2c93 CMakeLists.txt
+--- a/CMakeLists.txt Sun Nov 28 20:53:45 2010 +0100
++++ b/CMakeLists.txt Sun Nov 28 22:12:22 2010 +0100
+@@ -428,6 +428,14 @@
+ SET(includedir "\${prefix}/include")
+ SET(PACKAGE_VERSION "${LIB_VERSION}")
+
++# Library type (static/shared)
++IF(NOT LIBTYPE)
++ SET(LIBTYPE SHARED)
++ENDIF()
++IF(LIBTYPE STREQUAL "STATIC")
++ SET(PKG_CONFIG_CFLAGS -DAL_LIBTYPE_STATIC ${PKG_CONFIG_CFLAGS})
++ENDIF()
++
+ # End configuration
+ CONFIGURE_FILE(
+ "${OpenAL_SOURCE_DIR}/config.h.in"
+@@ -438,9 +446,6 @@
+ @ONLY)
+
+ # Build a library
+-IF(NOT LIBTYPE)
+- SET(LIBTYPE SHARED)
+-ENDIF()
+ ADD_LIBRARY(${LIBNAME} ${LIBTYPE} ${OPENAL_OBJS} ${ALC_OBJS})
+ SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES DEFINE_SYMBOL AL_BUILD_LIBRARY
+ COMPILE_FLAGS -DAL_ALEXT_PROTOTYPES
+@@ -477,6 +482,7 @@
+
+ IF(EXAMPLES)
+ ADD_EXECUTABLE(openal-info examples/openal-info.c)
++ ADD_DEFINITIONS(${PKG_CONFIG_CFLAGS})
+ TARGET_LINK_LIBRARIES(openal-info ${LIBNAME})
+ INSTALL(TARGETS openal-info
+ RUNTIME DESTINATION bin
+diff -r 37cec05f2c93 include/AL/al.h
+--- a/include/AL/al.h Sun Nov 28 20:53:45 2010 +0100
++++ b/include/AL/al.h Sun Nov 28 22:12:22 2010 +0100
+@@ -5,7 +5,7 @@
+ extern "C" {
+ #endif
+
+-#if defined(_WIN32) && !defined(_XBOX)
++#if defined(_WIN32) && !defined(_XBOX) && !defined(AL_LIBTYPE_STATIC)
+ #if defined(AL_BUILD_LIBRARY)
+ #define AL_API __declspec(dllexport)
+ #else
+diff -r 37cec05f2c93 include/AL/alc.h
+--- a/include/AL/alc.h Sun Nov 28 20:53:45 2010 +0100
++++ b/include/AL/alc.h Sun Nov 28 22:12:22 2010 +0100
+@@ -5,7 +5,7 @@
+ extern "C" {
+ #endif
+
+-#if defined(_WIN32) && !defined(_XBOX)
++#if defined(_WIN32) && !defined(_XBOX) && !defined(AL_LIBTYPE_STATIC)
+ #if defined(AL_BUILD_LIBRARY)
+ #define ALC_API __declspec(dllexport)
+ #else
+diff -r 37cec05f2c93 openal.pc.in
+--- a/openal.pc.in Sun Nov 28 20:53:45 2010 +0100
++++ b/openal.pc.in Sun Nov 28 22:12:22 2010 +0100
+@@ -8,4 +8,4 @@
+ Requires: @PKG_CONFIG_REQUIRES@
+ Version: @PACKAGE_VERSION@
+ Libs: -L${libdir} -l@LIBNAME@ @PKG_CONFIG_LIBS@
+-Cflags: -I${includedir}
++Cflags: -I${includedir} @PKG_CONFIG_CFLAGS@
diff --git a/src/openal-2-gcc-destructor-win32.patch b/src/openal-2-gcc-destructor-win32.patch
new file mode 100644
index 0000000..d2a51a2
--- /dev/null
+++ b/src/openal-2-gcc-destructor-win32.patch
@@ -0,0 +1,51 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+This patch has been taken from:
+http://opensource.creative.com/pipermail/openal-devel/2010-November/005759.html
+
+diff -r 37cec05f2c93 Alc/ALc.c
+--- a/Alc/ALc.c Sun Nov 28 20:53:45 2010 +0100
++++ b/Alc/ALc.c Sun Nov 28 21:19:52 2010 +0100
+@@ -239,7 +239,10 @@
+
+ ///////////////////////////////////////////////////////
+ // ALC Related helper functions
+-#ifdef _WIN32
++#if defined(HAVE_GCC_DESTRUCTOR)
++static void alc_init(void) __attribute__((constructor));
++static void alc_deinit(void) __attribute__((destructor));
++#elif defined(_WIN32)
+ static void alc_init(void);
+ static void alc_deinit(void);
+
+@@ -261,11 +264,6 @@
+ }
+ return TRUE;
+ }
+-#else
+-#ifdef HAVE_GCC_DESTRUCTOR
+-static void alc_init(void) __attribute__((constructor));
+-static void alc_deinit(void) __attribute__((destructor));
+-#endif
+ #endif
+
+ static void alc_init(void)
+diff -r 37cec05f2c93 CMakeLists.txt
+--- a/CMakeLists.txt Sun Nov 28 20:53:45 2010 +0100
++++ b/CMakeLists.txt Sun Nov 28 21:19:52 2010 +0100
+@@ -123,11 +123,11 @@
+ "Flags used by the compiler during debug builds."
+ FORCE)
+
++ CHECK_C_SOURCE_COMPILES("int foo() __attribute__((destructor));
++ int main() {return 0;}" HAVE_GCC_DESTRUCTOR)
++
+ # Set visibility options if available
+ IF(NOT WIN32)
+- CHECK_C_SOURCE_COMPILES("int foo() __attribute__((destructor));
+- int main() {return 0;}" HAVE_GCC_DESTRUCTOR)
+-
+ CHECK_C_COMPILER_FLAG(-fvisibility=hidden HAVE_VISIBILITY_SWITCH)
+ IF(HAVE_VISIBILITY_SWITCH)
+ CHECK_C_SOURCE_COMPILES("int foo() __attribute__((visibility(\"default\")));
diff --git a/src/openal-3-pkgconfig-winmm.patch b/src/openal-3-pkgconfig-winmm.patch
new file mode 100644
index 0000000..87c3552
--- /dev/null
+++ b/src/openal-3-pkgconfig-winmm.patch
@@ -0,0 +1,17 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+This patch has been taken from:
+http://opensource.creative.com/pipermail/openal-devel/2010-November/005759.html
+
+diff -r 37cec05f2c93 CMakeLists.txt
+--- a/CMakeLists.txt Sun Nov 28 20:53:45 2010 +0100
++++ b/CMakeLists.txt Sun Nov 28 21:24:44 2010 +0100
+@@ -376,6 +376,7 @@
+ SET(BACKENDS "${BACKENDS} WinMM,")
+
+ SET(EXTRA_LIBS winmm ${EXTRA_LIBS})
++ SET(PKG_CONFIG_LIBS ${PKG_CONFIG_LIBS} -lwinmm)
+ ENDIF()
+ ENDIF()
+ ENDIF()