]> git.pld-linux.org Git - packages/lame.git/commitdiff
- enabled nasm on x86 (for runtime-detected MMX/3Dnow/SSE asm routines) auto/th/lame-3.99.5-5
authorJakub Bogusz <qboosh@pld-linux.org>
Sat, 25 Mar 2017 10:44:59 +0000 (11:44 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Sat, 25 Mar 2017 10:45:18 +0000 (11:45 +0100)
- no-sse2 patch replaced by sse patch (fix SSE routines compilation issue and add missing runtime detection parts)
- release 5

lame-sse.patch [new file with mode: 0644]
lame.spec
no-sse2.patch [deleted file]

diff --git a/lame-sse.patch b/lame-sse.patch
new file mode 100644 (file)
index 0000000..1c37aec
--- /dev/null
@@ -0,0 +1,61 @@
+--- lame-3.99.5/libmp3lame/vector/Makefile.am.orig     2007-01-09 11:15:53.000000000 +0100
++++ lame-3.99.5/libmp3lame/vector/Makefile.am  2017-03-24 22:07:11.773733964 +0100
+@@ -8,6 +8,7 @@
+ ##liblamecpuroutines_la_LIBADD = 
+ ##liblamecpuroutines_la_LDFLAGS =
++liblamevectorroutines_la_CFLAGS = -msse
+ INCLUDES = @INCLUDES@ \
+       -I$(top_srcdir)/libmp3lame \
+--- lame-3.99.5/libmp3lame/fft.c.orig  2009-04-20 23:48:00.000000000 +0200
++++ lame-3.99.5/libmp3lame/fft.c       2017-03-25 08:53:51.949957603 +0100
+@@ -308,7 +308,12 @@
+     for (i = 0; i < BLKSIZE_s / 2; i++)
+         window_s[i] = 0.5 * (1.0 - cos(2.0 * PI * (i + 0.5) / BLKSIZE_s));
+-    gfc->fft_fht = fht;
++#ifdef HAVE_XMMINTRIN_H
++    if (gfc->CPU_features.SSE2) { // TODO: isn't fht_SSE2() just SSE? I don't see anything SSE2 (emmintrin.h) specific inside
++        gfc->fft_fht = fht_SSE2;
++    }
++    else
++#endif
+ #ifdef HAVE_NASM
+     if (gfc->CPU_features.AMD_3DNow) {
+         gfc->fft_fht = fht_3DN;
+@@ -316,14 +321,7 @@
+     else if (gfc->CPU_features.SSE) {
+         gfc->fft_fht = fht_SSE;
+     }
+-    else {
+-        gfc->fft_fht = fht;
+-    }
+-#else
+-#ifdef HAVE_XMMINTRIN_H
+-#ifdef MIN_ARCH_SSE
+-    gfc->fft_fht = fht_SSE2;
+-#endif
+-#endif
++    else
+ #endif
++    gfc->fft_fht = fht;
+ }
+--- lame-3.99.5/libmp3lame/lame.c.orig 2017-03-25 08:56:45.616622288 +0100
++++ lame-3.99.5/libmp3lame/lame.c      2017-03-25 08:56:51.436622221 +0100
+@@ -1344,12 +1344,11 @@
+         else if (gfc->CPU_features.SSE) {
+             fft_asm_used = 2;
+         }
+-#else
+-# if defined( HAVE_XMMINTRIN_H ) && defined( MIN_ARCH_SSE )
+-        {
++#endif
++#ifdef HAVE_XMMINTRIN_H
++        if (gfc->CPU_features.SSE2)  {
+             fft_asm_used = 3;
+         }
+-# endif
+ #endif
+         if (gfc->CPU_features.MMX) {
+ #ifdef MMX_choose_table
index b7ed53e3a60bb22123a1273d15b5415e17f9e259..01ad7fe46ddfd39da29225d3ed786fdb6af56a64 100644 (file)
--- a/lame.spec
+++ b/lame.spec
@@ -1,18 +1,14 @@
 #
 # Conditional build:
-%bcond_without gtk     # without GTK+ frontend
-%bcond_without sse2    # disable SSE2 instructions usage
+%bcond_without gtk     # GTK+ frontend
 #
-%ifarch %{ix86}
-%undefine      with_sse2
-%endif
 Summary:       Software to create compressed audio files
 Summary(es.UTF-8):     Lame es un gerador de MP3
 Summary(pl.UTF-8):     Program do tworzenia skompresowanych plików dźwiękowych
 Summary(pt_BR.UTF-8):  Lame é um gerador de MP3
 Name:          lame
 Version:       3.99.5
-Release:       4
+Release:       5
 # libmp3lame encoder is LGPL v2+, but decoder parts (enabled by default)
 # come from old mpg123 code, which was licensed on GPL
 License:       GPL v2+ (MP3 decoder), LGPL v2+ (the rest)
@@ -22,7 +18,7 @@ Source0:      http://downloads.sourceforge.net/lame/%{name}-%{version}.tar.gz
 Patch0:                %{name}-link.patch
 Patch1:                %{name}-without_gtk.patch
 Patch2:                %{name}-automake_1_12.patch
-Patch3:                no-sse2.patch
+Patch3:                %{name}-sse.patch
 URL:           http://lame.sourceforge.net/
 BuildRequires: autoconf >= 2.68
 BuildRequires: automake
@@ -30,24 +26,27 @@ BuildRequires:      automake
 # with --with-fileio=sndfile (but disables stdin input)
 #BuildRequires:        libsndfile-devel >= 1.0.2
 BuildRequires: libtool
+%ifarch %{ix86}
 BuildRequires: nasm
+%endif
 BuildRequires: ncurses-devel >= 4.2
 BuildRequires: pkgconfig
 Requires:      %{name}-libs = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
-Lame is a program which can be used to create compressed audio files.
-(Lame aint MP3 encoder). These audio files can be played back by
+Lame (LAME Ain't an MP3 Encoder) is a program which can be used to
+create compressed audio files. These audio files can be played back by
 popular MP3 players such as mpg123.
 
 %description -l es.UTF-8
 LAME es un encoder MP3 GPL.
 
 %description -l pl.UTF-8
-Lame jest programem, który służy do tworzenia skompresowanych plików
-dźwiękowych. (Lame nie jest programem do kompresji w formacie MP3).
-Stworzone pliki można odtwarzać dekoderami MP3, np.: mpg123.
+Lame (LAME Ain't an MP3 Encoder - LAME to nie program do kodowania
+MP3) jest programem, który służy do tworzenia skompresowanych plików
+dźwiękowych. Stworzone pliki można odtwarzać dekoderami MP3, np.:
+mpg123.
 
 %description -l pt_BR.UTF-8
 LAME é um encoder MP3 GPL.
@@ -66,7 +65,7 @@ Biblioteka kodująca MP3 LAME.
 %package libs-devel
 Summary:       Header files and devel documentation
 Summary(es.UTF-8):     Archivos para desarrollo
-Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja developerska
+Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja deweloperska
 Summary(pt_BR.UTF-8):  Arquivos para desenvolvimento
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
@@ -78,7 +77,7 @@ Header files and devel documentation for LAME libraries.
 Archivos de desarrolo.
 
 %description libs-devel -l pl.UTF-8
-Pliki nagłówkowe i dokumentacja developerska bibliotek LAME.
+Pliki nagłówkowe i dokumentacja deweloperska bibliotek LAME.
 
 %description libs-devel -l pt_BR.UTF-8
 Arquivos de desenvolvimento.
@@ -120,7 +119,7 @@ Analizator ramek w GTK+.
 %patch0 -p1
 %{!?with_gtk:%patch1 -p1}
 %patch2 -p1
-%{!?with_sse2:%patch3 -p1}
+%patch3 -p1
 
 %build
 %{__libtoolize}
@@ -130,11 +129,12 @@ Analizator ramek w GTK+.
 %{__automake}
 %configure \
        --disable-cpml \
-       --enable-shared \
-       --enable-static \
+       --enable-dynamic-frontends \
        %{?with_gtk:--enable-mp3x} \
        --enable-mp3rtp \
-       --enable-brhist
+%ifarch %{ix86}
+       --enable-nasm
+%endif
 
 %{__make}
 
diff --git a/no-sse2.patch b/no-sse2.patch
deleted file mode 100644 (file)
index a162901..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- lame-3.99.5/configure.in~  2015-03-10 08:36:50.000000000 +0100
-+++ lame-3.99.5/configure.in   2015-03-10 08:40:32.503330833 +0100
-@@ -95,7 +95,6 @@
-                sys/soundcard.h \
-                sys/time.h \
-                unistd.h \
--               xmmintrin.h \
-                linux/soundcard.h)
- dnl Checks for typedefs, structures, and compiler characteristics.
-@@ -646,10 +646,6 @@
-       ;;
- *86)
-       CPUTYPE="i386"
--      if test $ac_cv_header_xmmintrin_h = yes ; then
--              WITH_XMM=yes
--              WITH_VECTOR=yes
--      fi
-       # use internal knowledge of the IEEE 754 layout
-       AC_DEFINE(TAKEHIRO_IEEE754_HACK, 1, IEEE754 compatible machine)
This page took 0.47502 seconds and 4 git commands to generate.