tags 593113 patch
thanks

Hi,

upstream published a patch [1] that looks good to fix FTBFS on the
powerpc buildds.
The patch is attached.

Cheers.

[1] 
http://sourceforge.net/tracker/?func=detail&aid=3074226&group_id=6478&atid=306478

-- 
Alessio Treglia <ales...@debian.org>
Debian & Ubuntu Developer | Homepage: http://www.alessiotreglia.com
0FEC 59A5 E18E E04F 6D40 593B 45D4 8C7C DCFC 3FD0
Index: libkwave/ppcasm_string.h
===================================================================
--- libkwave/ppcasm_string.h	(Revision 2555)
+++ libkwave/ppcasm_string.h	(Arbeitskopie)
@@ -15,3 +15,7 @@
 #include <stdlib.h>
 void *ppcasm_cacheable_memcpy(void *, const void *, size_t);
 void *ppcasm_memcpy(void *, const void *, size_t);
+
+#ifndef MM_ACCEL_PPC_CACHE32
+#define MM_ACCEL_PPC_CACHE32    0x02000000
+#endif
Index: libkwave/CMakeLists.txt
===================================================================
--- libkwave/CMakeLists.txt	(Revision 2555)
+++ libkwave/CMakeLists.txt	(Arbeitskopie)
@@ -17,27 +17,21 @@
 
 #############################################################################
 
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ppcasm_string.o
-    COMMAND ${CMAKE_C_COMPILER} -I${CMAKE_BINARY_DIR} -Wall -O2
-        -DHAVE_CONFIG_H
-        -o ${CMAKE_CURRENT_BINARY_DIR}/ppcasm_string.o
-        -c ${CMAKE_CURRENT_SOURCE_DIR}/ppcasm_string.S
-    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ppcasm_string.S
-)
-
-#############################################################################
-
 IF (WITH_SAMPLERATE)
     SET(libkwave_LIB_SRCS_samplerate modules/RateConverter.cpp)
 ENDIF (WITH_SAMPLERATE)
 
+IF (WITH_OPTIMIZED_MEMCPY)
+    SET(libkwave_LIB_SRCS_memcpy cputest.c memcpy.c ppcasm_string.S)
+    SET_SOURCE_FILES_PROPERTIES(ppcasm_string.S PROPERTIES LANGUAGE C)
+ENDIF (WITH_OPTIMIZED_MEMCPY)
+
 SET(libkwave_LIB_SRCS
     ClipBoard.cpp
     CodecBase.cpp
     CodecManager.cpp
     CompressionType.cpp
     ConfirmCancelProxy.cpp
-    cputest.c
     Curve.cpp
     Decoder.cpp
     Encoder.cpp
@@ -59,7 +53,6 @@
     KwaveSampleSource.cpp
     Label.cpp
     LabelList.cpp
-    memcpy.c
     MemoryManager.cpp
     MessageBox.cpp
     MultiWriter.cpp
@@ -70,7 +63,6 @@
     PlaybackController.cpp
     PluginManager.cpp
     PluginWorkerThread.cpp
-    ppcasm_string.S
     Selection.cpp
     Signal.cpp
     SignalManager.cpp
@@ -107,6 +99,7 @@
     undo/UndoTransactionGuard.cpp
 
     ${libkwave_LIB_SRCS_samplerate}
+    ${libkwave_LIB_SRCS_memcpy}
 )
 
 #############################################################################
Index: libkwave/memcpy.h
===================================================================
--- libkwave/memcpy.h	(Revision 2555)
+++ libkwave/memcpy.h	(Arbeitskopie)
@@ -17,6 +17,10 @@
 #ifndef _MEMCPY_H_
 #define _MEMCPY_H_
 
+#include "config.h"
+
+#ifdef HAVE_OPTIMIZED_MEMCPY
+
 #include <stdlib.h> /* for size_t */
 
 /** use optimized memcpy() from xine */
@@ -25,4 +29,13 @@
 /* forward declaration to libkwave/memcpy.c */
 extern "C" void *(* xine_fast_memcpy)(void *to, const void *from, size_t len);
 
+#else /* HAVE_OPTIMIZED_MEMCPY */
+
+#include <string.h> /* for memcpy from libc */
+
+/** use standard memcpy() from libc */
+#define MEMCPY memcpy
+
+#endif /* HAVE_OPTIMIZED_MEMCPY */
+
 #endif /* _MEMCPY_H_ */
Index: config.h.cmake
===================================================================
--- config.h.cmake	(Revision 2555)
+++ config.h.cmake	(Arbeitskopie)
@@ -24,6 +24,9 @@
 /* use X86_64 target optimizations (from xine) */
 #cmakedefine ARCH_X86_64
 
+/* use target optimized memcpy */
+#cmakedefine HAVE_OPTIMIZED_MEMCPY
+
 /* FLAC API of v1.1.1 and before */
 #cmakedefine FLAC_API_VERSION_1_1_1_OR_OLDER
 
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(Revision 2555)
+++ CMakeLists.txt	(Arbeitskopie)
@@ -38,6 +38,7 @@
 # OPTION(WITH_MP3        "enable support for mp3 files [default=off]" OFF)
 # OPTION(WITH_OGG        "enable support for ogg files [default=on]" ON)
 # OPTION(WITH_OSS        "enable playback/recording via OSS [default=on]" ON)
+# OPTION(WITH_OPTIMIZED_MEMCPY "enable optimized memcpy [default=on]" ON)
 # OPTION(WITH_PHONON     "enable playback via Phonon [default=off]" OFF)
 # OPTION(WITH_PULSEAUDIO "enable playback/recording via PulseAudio [default=on]" ON)
 # OPTION(WITH_SAMPLERATE "enable support for libsamplerate [default=on]" ON)
@@ -82,24 +83,37 @@
 )
 MESSAGE(STATUS "Building for target ${MACHINE}")
 
-STRING(REGEX MATCH "(i.86-*)|(athlon-*)|(pentium-*)" _mach_x86 ${MACHINE})
-IF (_mach_x86)
-    MESSAGE(STATUS "Found target optimized memcpy() for X86 (from xine)")
-    SET(ARCH_X86 1)
-ENDIF (_mach_x86)
+OPTION(WITH_OPTIMIZED_MEMCPY "enable optimized memcpy [default=on]" ON)
+IF (WITH_OPTIMIZED_MEMCPY)
 
-STRING(REGEX MATCH "(x86_64-*)|(X86_64-*)|(AMD64-*)|(amd64-*)" _mach_x86_64 ${MACHINE})
-IF (_mach_x86_64)
-    MESSAGE(STATUS "Found target optimized memcpy() for X86_64 (from xine)")
-    SET(ARCH_X86_64 1)
-ENDIF (_mach_x86_64)
+    STRING(REGEX MATCH "(i.86-*)|(athlon-*)|(pentium-*)" _mach_x86 ${MACHINE})
+    IF (_mach_x86)
+        MESSAGE(STATUS "Found target optimized memcpy() for X86 (from xine)")
+        SET(ARCH_X86 1)
+    ENDIF (_mach_x86)
 
-STRING(REGEX MATCH "(ppc-*)|(powerpc-*)" _mach_ppc ${MACHINE})
-IF (_mach_ppc)
-    MESSAGE(STATUS "Found target optimized memcpy() for PPC (from xine)")
-    SET(ARCH_PPC 1)
-ENDIF (_mach_ppc)
+    STRING(REGEX MATCH "(x86_64-*)|(X86_64-*)|(AMD64-*)|(amd64-*)" _mach_x86_64 ${MACHINE})
+    IF (_mach_x86_64)
+        MESSAGE(STATUS "Found target optimized memcpy() for X86_64 (from xine)")
+        SET(ARCH_X86_64 1)
+    ENDIF (_mach_x86_64)
 
+    STRING(REGEX MATCH "(ppc-*)|(powerpc-*)" _mach_ppc ${MACHINE})
+    IF (_mach_ppc)
+        MESSAGE(STATUS "Found target optimized memcpy() for PPC (from xine)")
+        SET(ARCH_PPC 1)
+    ENDIF (_mach_ppc)
+
+    IF (NOT ARCH_X86 AND NOT ARCH_X86_64 AND NOT ARCH_PPC)
+        MESSAGE(STATUS "No platform specific memcpy available")
+    ELSE (NOT ARCH_X86 AND NOT ARCH_X86_64 AND NOT ARCH_PPC)
+	SET(HAVE_OPTIMIZED_MEMCPY 1)
+    ENDIF (NOT ARCH_X86 AND NOT ARCH_X86_64 AND NOT ARCH_PPC)
+
+ELSE (WITH_OPTIMIZED_MEMCPY)
+    MESSAGE(STATUS "Platform specific memcpy is disabled")
+ENDIF (WITH_OPTIMIZED_MEMCPY)
+
 ADD_DEFINITIONS(-DHAVE_CONFIG_H)
 
 #############################################################################
Index: kwave/main.cpp
===================================================================
--- kwave/main.cpp	(Revision 2555)
+++ kwave/main.cpp	(Arbeitskopie)
@@ -119,9 +119,12 @@
 
 }
 
+#ifdef HAVE_OPTIMIZED_MEMCPY
 /* forward declaration to libkwave/memcpy.c */
 extern "C" void probe_fast_memcpy(void);
+#endif /* HAVE_OPTIMIZED_MEMCPY */
 
+
 //***************************************************************************
 int main( int argc, char **argv )
 {
@@ -154,8 +157,10 @@
     KwaveApp::addCmdLineOptions();
 
      /* check for an optimized version of memcpy() */
+#ifdef HAVE_OPTIMIZED_MEMCPY
     probe_fast_memcpy();
     printf("\n");
+#endif /* HAVE_OPTIMIZED_MEMCPY */
 
 #ifdef UNIQUE_APP
     if (!KUniqueApplication::start()) {

Reply via email to