[vlc-devel] commit: libdca: work-around a compiler bug ( Felix Paul Kühne )

git version control git at videolan.org
Wed Dec 31 20:44:19 CET 2008


vlc | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Wed Dec 31 20:44:06 2008 +0100| [c49ce826c1edcd10dbce441dd4472100095645f6] | committer: Felix Paul Kühne 

libdca: work-around a compiler bug

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c49ce826c1edcd10dbce441dd4472100095645f6
---

 extras/contrib/src/Makefile                      |    6 +++---
 extras/contrib/src/Patches/libdca-llvm-gcc.patch |   22 ++++++++++++++++++++++
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile
index 647ef28..2d28bab 100644
--- a/extras/contrib/src/Makefile
+++ b/extras/contrib/src/Makefile
@@ -48,9 +48,6 @@ ifdef HAVE_DARWIN_OS
 export CC
 export CXX
 export LD
-export RANLIB
-export AR
-export STRIP
 endif
 
 # ***************************************************************************
@@ -1365,6 +1362,9 @@ libdca-$(LIBDCA_VERSION).tar.bz2:
 
 libdca: libdca-$(LIBDCA_VERSION).tar.bz2
 	$(EXTRACT_BZ2)
+ifdef HAVE_DARWIN_9
+	( cd $@; patch -p0 < ../Patches/libdca-llvm-gcc.patch )
+endif
 
 .dca: libdca
 	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
diff --git a/extras/contrib/src/Patches/libdca-llvm-gcc.patch b/extras/contrib/src/Patches/libdca-llvm-gcc.patch
new file mode 100644
index 0000000..61862d4
--- /dev/null
+++ b/extras/contrib/src/Patches/libdca-llvm-gcc.patch
@@ -0,0 +1,22 @@
+Index: libdca/parse.c
+===================================================================
+--- libdca/parse.c	(revision 90)
++++ libdca/parse.c	(working copy)
+@@ -1193,11 +1193,14 @@
+         for (k=0;k<16;k++)
+         {
+             B[k] = 0.0;
+-            for (i=0;i<16;i++)
++
++            B[k]+=(raXin[0])*state->cos_mod[j++];
++
++            for (i=1;i<16;i++)
+             {
+-                if(i>0) B[k]+=(raXin[2*i]+raXin[2*i-1])*state->cos_mod[j++];
+-                else B[k]+=(raXin[2*i])*state->cos_mod[j++];
++                B[k]+=(raXin[2*i]+raXin[2*i-1])*state->cos_mod[j++];
+             }
++
+             SUM[k]=A[k]+B[k];
+             DIFF[k]=A[k]-B[k];
+         }




More information about the vlc-devel mailing list