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 <[email protected]>
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()) {