commit b90768b3c922a147e47db0b715c66ba0604f6875
Author: Jakub Bogusz <[email protected]>
Date:   Wed Dec 4 19:40:00 2019 +0100

    - ALSOFT_CPUEXT_* are safe (runtime detected); but 
ALSOFT_ENABLE_SSE2_CODEGEN makes sse2 obligatory
    - added nosse patch to allow build on x86 with ALSOFT_ENABLE_SSE2_CODEGEN 
disabled
    - release 2

 OpenAL-nosse.patch | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 OpenAL.spec        | 15 ++++++---------
 2 files changed, 55 insertions(+), 9 deletions(-)
---
diff --git a/OpenAL.spec b/OpenAL.spec
index 9eb05d1..993e9c1 100644
--- a/OpenAL.spec
+++ b/OpenAL.spec
@@ -5,27 +5,23 @@
 %bcond_without portaudio       # PortAudio backend
 %bcond_without pulseaudio      # PulseAudio backend
 %bcond_with    sdl             # SDL2 backend
-%bcond_with    sse             # force use of SSE instructions (x86)
 %bcond_with    sse2            # force use of SSE2 instructions (x86)
 %bcond_without gui             # alsoft-config GUI
 %bcond_with    qt4             # Qt 4 instead of Qt 5 for GUI
-#
-%ifarch pentium3 pentium4
-%define        with_sse        1
-%endif
-%ifarch pentium4
+%ifarch pentium4 x32 %{x8664}
 %define        with_sse2       1
 %endif
 Summary:       Open Audio Library
 Summary(pl.UTF-8):     Otwarta Biblioteka Dźwięku
 Name:          OpenAL
 Version:       1.20.0
-Release:       1
+Release:       2
 License:       LGPL v2+
 Group:         Libraries
 Source0:       
http://openal-soft.org/openal-releases/openal-soft-%{version}.tar.bz2
 # Source0-md5: f6349071db03e48994ea09daa031ef6e
 Patch0:                %{name}-pc.patch
+Patch1:                %{name}-nosse.patch
 URL:           http://www.openal.org/
 %{?with_sdl:BuildRequires:     SDL2-devel >= 2}
 %{?with_alsa:BuildRequires:    alsa-lib-devel}
@@ -49,6 +45,7 @@ BuildRequires:        Qt5Widgets-devel >= 5
 BuildRequires: qt5-build >= 5
 %endif
 %endif
+%{?with_sse2:Requires: cpuinfo(sse2)}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -98,6 +95,7 @@ Graficzny interfejs do konfiguracji biblioteki OpenAL.
 %prep
 %setup -q -n openal-soft-%{version}
 %patch0 -p1
+%patch1 -p1
 
 %build
 cd build
@@ -107,8 +105,7 @@ cd build
        %{!?with_portaudio:-DALSOFT_BACKEND_PORTAUDIO=OFF} \
        %{!?with_pulseaudio:-DALSOFT_BACKEND_PULSEAUDIO=OFF} \
        %{?with_sdl:-DALSOFT_BACKEND_SDL2=ON} \
-       %{!?with_sse:-DALSOFT_CPUEXT_SSE=OFF} \
-       %{!?with_sse2:-DALSOFT_CPUEXT_SSE2=OFF} \
+       %{!?with_sse2:-DALSOFT_ENABLE_SSE2_CODEGEN=OFF} \
        -DALSOFT_EXAMPLES=OFF \
        %{!?with_gui:-DALSOFT_NO_CONFIG_UTIL=ON} \
        %{?with_qt4:-DALSOFT_NO_QT5=ON} \
diff --git a/OpenAL-nosse.patch b/OpenAL-nosse.patch
new file mode 100644
index 0000000..cf2a9d6
--- /dev/null
+++ b/OpenAL-nosse.patch
@@ -0,0 +1,49 @@
+--- openal-soft-1.20.0/common/alnumeric.h.orig 2019-11-28 09:45:08.000000000 
+0100
++++ openal-soft-1.20.0/common/alnumeric.h      2019-12-04 05:28:38.843039338 
+0100
+@@ -191,7 +191,7 @@
+  */
+ inline int fastf2i(float f) noexcept
+ {
+-#if defined(HAVE_SSE_INTRINSICS)
++#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
+     return _mm_cvt_ss2si(_mm_set_ss(f));
+ 
+ #elif defined(_MSC_VER) && defined(_M_IX86_FP)
+@@ -222,7 +222,7 @@
+ /** Converts float-to-int using standard behavior (truncation). */
+ inline int float2int(float f) noexcept
+ {
+-#if defined(HAVE_SSE_INTRINSICS)
++#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
+     return _mm_cvtt_ss2si(_mm_set_ss(f));
+ 
+ #elif ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || 
defined(__x86_64__)) && \
+@@ -257,7 +257,7 @@
+ /** Converts double-to-int using standard behavior (truncation). */
+ inline int double2int(double d) noexcept
+ {
+-#if defined(HAVE_SSE_INTRINSICS)
++#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
+     return _mm_cvttsd_si32(_mm_set_sd(d));
+ 
+ #elif ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || 
defined(__x86_64__)) && \
+--- openal-soft-1.20.0/alc/helpers.cpp.orig    2019-11-28 09:45:08.000000000 
+0100
++++ openal-soft-1.20.0/alc/helpers.cpp 2019-12-04 18:37:09.810067181 +0100
+@@ -209,7 +209,7 @@
+ 
+ FPUCtl::FPUCtl()
+ {
+-#if defined(HAVE_SSE_INTRINSICS)
++#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
+     this->sse_state = _mm_getcsr();
+     unsigned int sseState = this->sse_state;
+     sseState |= 0x8000; /* set flush-to-zero */
+@@ -236,7 +236,7 @@
+ {
+     if(!this->in_mode) return;
+ 
+-#if defined(HAVE_SSE_INTRINSICS)
++#if defined(HAVE_SSE_INTRINSICS) && defined(__SSE_MATH__)
+     _mm_setcsr(this->sse_state);
+ 
+ #elif defined(__GNUC__) && defined(HAVE_SSE)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/OpenAL.git/commitdiff/b90768b3c922a147e47db0b715c66ba0604f6875

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to