summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-02-22 21:04:37 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2012-02-22 21:04:37 +0100
commit290a8b0dd73569b6b2d9855be9638d3338c566e0 (patch)
treeb3ed2b1dc57b87d8359d82f02daf7edd6337a0d6 /extra
parent49a16de834961e0ddf247be46b116bd2d0cd35bb (diff)
Update and simplify soundtouch mmx-disabling patch.
Diffstat (limited to 'extra')
-rw-r--r--extra/soundtouch/PKGBUILD17
-rw-r--r--extra/soundtouch/disable-mmx.patch151
2 files changed, 122 insertions, 46 deletions
diff --git a/extra/soundtouch/PKGBUILD b/extra/soundtouch/PKGBUILD
index afc37c358..d7dcac734 100644
--- a/extra/soundtouch/PKGBUILD
+++ b/extra/soundtouch/PKGBUILD
@@ -13,27 +13,24 @@ options=('!libtool')
source=(http://www.surina.net/soundtouch/${pkgname}-${pkgver}.tar.gz
soundtouch-1.4.0-mmx-sse-compile-fix.patch
soundtouch-1.4.0-x86_64-asm-broken.patch
- disable-mmx.patch
- soundtouch-1.4.0-x86_64-asm-broken.patch)
+ disable-mmx.patch)
+md5sums=('aa1c63d4d67b033f044a6a48d2be5bdd'
+ '108cd080b4b0ebe8ed1f950ff1315e7a'
+ '0d856bb5b519b18c6ba3a2e1770bdfd2'
+ '36e859e7a74a21ec7f9a5282fed63117')
build() {
cd "${srcdir}/${pkgname}"
patch -p1 -i "${srcdir}/soundtouch-1.4.0-mmx-sse-compile-fix.patch"
patch -p1 -i "${srcdir}/soundtouch-1.4.0-x86_64-asm-broken.patch"
-
- if [ "${CARCH}" = "mips64el" ]; then
- patch -Np1 -i "${srcdir}/disable-mmx.patch"
- fi
+ [ "${CARCH}" = "mips64el" ] && patch -p1 -i "${srcdir}/disable-mmx.patch"
./bootstrap
case $CARCH in
i686)
./configure --prefix=/usr --enable-shared
;;
- x86_64)
- ./configure --prefix=/usr --enable-shared --with-pic
- ;;
- mips64el)
+ *)
./configure --prefix=/usr --enable-shared --with-pic
;;
esac
diff --git a/extra/soundtouch/disable-mmx.patch b/extra/soundtouch/disable-mmx.patch
index 7be579c43..11987059c 100644
--- a/extra/soundtouch/disable-mmx.patch
+++ b/extra/soundtouch/disable-mmx.patch
@@ -1,36 +1,115 @@
---- soundtouch/source/SoundTouch/Makefile.in~ 2011-07-04 15:26:59.621763536 -0300
-+++ soundtouch/source/SoundTouch/Makefile.in 2011-07-04 15:27:29.404648895 -0300
-@@ -59,7 +59,7 @@ libLTLIBRARIES_INSTALL = $(INSTALL)
- LTLIBRARIES = $(lib_LTLIBRARIES)
- libSoundTouch_la_LIBADD =
- am_libSoundTouch_la_OBJECTS = AAFilter.lo FIRFilter.lo \
-- FIFOSampleBuffer.lo mmx_optimized.lo sse_optimized.lo \
-+ FIFOSampleBuffer.lo \
- RateTransposer.lo SoundTouch.lo TDStretch.lo \
- cpu_detect_x86_gcc.lo BPMDetect.lo PeakFinder.lo
- libSoundTouch_la_OBJECTS = $(am_libSoundTouch_la_OBJECTS)
-@@ -206,14 +206,12 @@ EXTRA_DIST = 3dnow_win.cpp cpu_detect_x8
- noinst_HEADERS = AAFilter.h cpu_detect.h cpu_detect_x86_gcc.cpp FIRFilter.h RateTransposer.h TDStretch.h PeakFinder.h
- lib_LTLIBRARIES = libSoundTouch.la
- #
--libSoundTouch_la_SOURCES = AAFilter.cpp FIRFilter.cpp FIFOSampleBuffer.cpp mmx_optimized.cpp sse_optimized.cpp RateTransposer.cpp SoundTouch.cpp TDStretch.cpp cpu_detect_x86_gcc.cpp BPMDetect.cpp PeakFinder.cpp
-+libSoundTouch_la_SOURCES = AAFilter.cpp FIRFilter.cpp FIFOSampleBuffer.cpp RateTransposer.cpp SoundTouch.cpp TDStretch.cpp cpu_detect_x86_gcc.cpp BPMDetect.cpp PeakFinder.cpp
-
- # Note by authore: '-msse2' might not work in non-X86 compilations. If someone can
- # fix this script to automatically check for CPU architecture, please submit a patch
- # to me.
- AM_CXXFLAGS = -fcheck-new -I../../include
--mmx_optimized.lo : AM_CXXFLAGS = -mmmx -fcheck-new -I../../include
--sse_optimized.lo : AM_CXXFLAGS = -msse -fcheck-new -I../../include
- all: all-am
-
- .SUFFIXES:
-@@ -292,8 +290,6 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SoundTouch.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDStretch.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu_detect_x86_gcc.Plo@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmx_optimized.Plo@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sse_optimized.Plo@am__quote@
-
- .cpp.o:
- @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+diff -ru soundtouch.orig/source/SoundStretch/Makefile.am soundtouch/source/SoundStretch/Makefile.am
+--- soundtouch.orig/source/SoundStretch/Makefile.am 2012-02-22 20:51:33.240941439 +0100
++++ soundtouch/source/SoundStretch/Makefile.am 2012-02-22 20:52:25.936309597 +0100
+@@ -43,11 +43,5 @@
+ ## linker.
+ soundstretch_LDADD=../SoundTouch/libSoundTouch.la -lm
+
+-## linker flags
+-soundstretch_LDFLAGS=-s
+-
+-## additional compiler flags
+-soundstretch_CXXFLAGS=-O3
+-
+ #clean-local:
+ # -rm -f additional-files-to-remove-on-make-clean
+diff -ru soundtouch.orig/source/SoundTouch/FIRFilter.cpp soundtouch/source/SoundTouch/FIRFilter.cpp
+--- soundtouch.orig/source/SoundTouch/FIRFilter.cpp 2012-02-22 20:51:33.277196949 +0100
++++ soundtouch/source/SoundTouch/FIRFilter.cpp 2012-02-22 21:00:18.591437748 +0100
+@@ -229,32 +229,6 @@
+
+ FIRFilter * FIRFilter::newInstance()
+ {
+- uint uExtensions;
+-
+- uExtensions = detectCPUextensions();
+-
+- // Check if MMX/SSE instruction set extensions supported by CPU
+-
+-#ifdef SOUNDTOUCH_ALLOW_MMX
+- // MMX routines available only with integer sample types
+- if (uExtensions & SUPPORT_MMX)
+- {
+- return ::new FIRFilterMMX;
+- }
+- else
+-#endif // SOUNDTOUCH_ALLOW_MMX
+-
+-#ifdef SOUNDTOUCH_ALLOW_SSE
+- if (uExtensions & SUPPORT_SSE)
+- {
+- // SSE support
+- return ::new FIRFilterSSE;
+- }
+- else
+-#endif // SOUNDTOUCH_ALLOW_SSE
+-
+- {
+- // ISA optimizations not supported, use plain C version
+- return ::new FIRFilter;
+- }
++ // ISA optimizations not supported, use plain C version
++ return ::new FIRFilter;
+ }
+diff -ru soundtouch.orig/source/SoundTouch/Makefile.am soundtouch/source/SoundTouch/Makefile.am
+--- soundtouch.orig/source/SoundTouch/Makefile.am 2012-02-22 20:51:33.269140169 +0100
++++ soundtouch/source/SoundTouch/Makefile.am 2012-02-22 20:53:39.136212215 +0100
+@@ -30,16 +30,13 @@
+
+ lib_LTLIBRARIES=libSoundTouch.la
+ #
+-libSoundTouch_la_SOURCES=AAFilter.cpp FIRFilter.cpp FIFOSampleBuffer.cpp mmx_optimized.cpp sse_optimized.cpp RateTransposer.cpp SoundTouch.cpp TDStretch.cpp cpu_detect_x86_gcc.cpp BPMDetect.cpp PeakFinder.cpp
++libSoundTouch_la_SOURCES=AAFilter.cpp FIRFilter.cpp FIFOSampleBuffer.cpp RateTransposer.cpp SoundTouch.cpp TDStretch.cpp BPMDetect.cpp PeakFinder.cpp
+
+
+ # Note by authore: '-msse2' might not work in non-X86 compilations. If someone can
+ # fix this script to automatically check for CPU architecture, please submit a patch
+ # to me.
+ AM_CXXFLAGS = -fcheck-new -I../../include
+-mmx_optimized.lo : AM_CXXFLAGS = -mmmx -fcheck-new -I../../include
+-sse_optimized.lo : AM_CXXFLAGS = -msse -fcheck-new -I../../include
+-
+
+ # other linking flags to add
+ # noinst_LTLIBRARIES = libSoundTouchOpt.la
+diff -ru soundtouch.orig/source/SoundTouch/TDStretch.cpp soundtouch/source/SoundTouch/TDStretch.cpp
+--- soundtouch.orig/source/SoundTouch/TDStretch.cpp 2012-02-22 20:51:33.269140169 +0100
++++ soundtouch/source/SoundTouch/TDStretch.cpp 2012-02-22 20:59:57.756604035 +0100
+@@ -738,35 +738,8 @@
+
+ TDStretch * TDStretch::newInstance()
+ {
+- uint uExtensions;
+-
+- uExtensions = detectCPUextensions();
+-
+- // Check if MMX/SSE instruction set extensions supported by CPU
+-
+-#ifdef SOUNDTOUCH_ALLOW_MMX
+- // MMX routines available only with integer sample types
+- if (uExtensions & SUPPORT_MMX)
+- {
+- return ::new TDStretchMMX;
+- }
+- else
+-#endif // SOUNDTOUCH_ALLOW_MMX
+-
+-
+-#ifdef SOUNDTOUCH_ALLOW_SSE
+- if (uExtensions & SUPPORT_SSE)
+- {
+- // SSE support
+- return ::new TDStretchSSE;
+- }
+- else
+-#endif // SOUNDTOUCH_ALLOW_SSE
+-
+- {
+- // ISA optimizations not supported, use plain C version
+- return ::new TDStretch;
+- }
++ // ISA optimizations not supported, use plain C version
++ return ::new TDStretch;
+ }
+
+