# # spec file for package liboil # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: liboil Version: 0.3.17 Release: 22.10 Summary: Library of Optimized Inner Loops License: BSD-2-Clause Group: System/Libraries Url: http://liboil.freedesktop.org/wiki/ Source0: http://liboil.freedesktop.org/download/%{name}-%{version}.tar.gz Source1: baselibs.conf Patch0: ppc-asm.patch BuildRequires: glib2-devel BuildRequires: gtk-doc BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Liboil is a library of simple functions that are optimized for various CPUs. These functions are generally loops implementing simple algorithms, such as converting an array of N integers to floating-point numbers or multiplying and summing an array of N numbers. Such functions are candidates for significant optimization using various techniques, especially by using extended instructions provided by modern CPUs (Altivec, MMX, SSE, etc.). Many multimedia applications and libraries already do similar things internally. The goal of this project is to consolidate some of the code used by various multimedia projects and also make optimizations easier to use by a broader range of applications. %package devel Summary: Library of Optimized Inner Loops Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: glibc-devel %description devel Liboil is a library of simple functions that are optimized for various CPUs. These functions are generally loops implementing simple algorithms, such as converting an array of N integers to floating-point numbers or multiplying and summing an array of N numbers. Such functions are candidates for significant optimization using various techniques, especially by using extended instructions provided by modern CPUs (Altivec, MMX, SSE, etc.). Many multimedia applications and libraries already do similar things internally. The goal of this project is to consolidate some of the code used by various multimedia projects, and also make optimizations easier to use by a broader range of applications. %package doc Summary: Library of optimized inner loops Group: Development/Libraries/C and C++ Requires: %{name} = %{version} %description doc This package provides documentation for liboil, a library of simple functions that are optimized for various CPUs. These functions are generally loops implementing simple algorithms, such as converting an array of N integers to floating-point numbers or multiplying and summing an array of N numbers. Such functions are candidates for significant optimization using various techniques, especially by using extended instructions provided by modern CPUs (Altivec, MMX, SSE, etc.). Many multimedia applications and libraries already do similar things internally. The goal of this project is to consolidate some of the code used by various multimedia projects, and also make optimizations easier to use by a broader range of applications. %prep %setup -q %patch0 %build %configure --disable-static --with-pic make %{?_smp_mflags} # Do NOT! disable running the testsuite or make failures # non-fatal for the build! %check # Several tests are failing only under Power KVM # Test passed during the local build. The test for ppc64 will be # reenabled once we'll have solution for it. %ifnarch %{power64} make %{?_smp_mflags} check %endif %install make DESTDIR=%{buildroot} install %{?_smp_mflags} find %{buildroot} -type f -name "*.la" -delete -print %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr (-, root, root) %doc AUTHORS NEWS README %{_libdir}/*.so.* %files devel %defattr (-, root, root) %{_bindir}/oil-bugreport %{_includedir}/liboil-* %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %files doc %defattr (-, root, root) %{_datadir}/gtk-doc/html/liboil %changelog * Tue Jun 16 2015 mpluskal@suse.com - Use url for source - Remove old ppc obsoletes/provides - Cleanup spec file with spec-cleaner * Thu Jun 6 2013 dvaleev@suse.com - Disable tests for ppc64. Tests are failing under KVM only. * Mon Oct 8 2012 schwab@linux-m68k.org - Add ppc-asm.patch: fix missing clobbers in ppc asm * Wed Jun 6 2012 cfarrell@suse.com - license update: BSD-2-Clause Use SPDX format (and coincidentally make compatible with how Fedora declare the license of this package (BSD)) * Mon Mar 1 2010 dimstar@opensuse.org - Update to version 0.3.17: + Fixes a bunch of compile bugs. * Mon Feb 1 2010 jengelh@medozas.de - Package baselibs.conf * Fri Mar 20 2009 vuntz@novell.com - Update to version 0.3.16 (changes list based on the git log) + Add avg2_32xn_u8 + Fix cpu detection on OS/X + Add srcdir to includes for out-of-source builds + Clean up function prototypes used for casting + remove ltdl.m4 + Add cris to unaligned access whitelist + Add x86_64/amd64 to unaligned access whitelist + init: shortcut benchmarking, if there is only one runable implementation. + Add SSE detection support for OpenBSD + Fix double free on failed arm_init + Add AltiVec detection support for OpenBSD + Wrap force_align_arg_pointer in HAVE_I386 - Drop liboil-random-data-warning.patch: clearly doesn't apply cleanly anymore, so not needed anymore. - Drop liboil-disable-sse.patch: this is hopefully unneeded now, and it was really just a bandaid. - Drop liboil-0.3.13-disable-ppc64-opts.patch: this was fdo#14971, which is fixed. - Remove unneeded BuildRequires: sgml-skel. - Remove AutoReqProv: it's default now. - Remove AutoReqProv: it's default now. - Remove autoreconf call. - Use parallel build. * Fri Jan 16 2009 crrodriguez@suse.de - remove static libraries and "la" files * Wed Jan 7 2009 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Fri Sep 12 2008 maw@suse.de - Update to version 0.3.15: + Drop liboil-0.3.13-s390.patch. * Wed Apr 30 2008 jpr@suse.de - Remove liboil-0.3.13-better-altivec-detect.patch, a variant of this was taken upstream. * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Wed Apr 2 2008 rodrigo@suse.de - Update to version 0.3.14: * Merge lots of distribution patches - Removed upstreamed patch and disable patch in need of a rebase * Sun Mar 16 2008 rguenther@suse.de - Add patches from Fedora SRPM. [bnc#370121] - Run the testsuite. * Mon Mar 10 2008 maw@suse.de - Update to version 0.3.13: + Lots of new classes and implementations were added for Schrödinger + Several i386 implementations also compile on amd64, so these were copied over to a separate directory and are now enabled on amd64 + Feature detection on amd64 has been fixed. + All known startup warnings have been fixed + The core now handles arrays that are 'N plus a constant' in length + Wrap a bunch of functions in HAVE_UNALIGNED_ACCESS to indicate that they require an architecture that handles unaligned access - s#%%run_ldconfig#/sbin/ldconfig#. * Thu Jan 31 2008 rodrigo@suse.de - Update to version 0.3.12: * Lots of new classes and implementations were added for Schrödinger * Several i386 implementations also compile on amd64, so these were copied over to a separate directory and are now enabled on amd64 * Feature detection on amd64 has been fixed * All known startup warnings have been fixed * The core now handles arrays that are 'N plus a constant' in length * Wrap a bunch of functions in HAVE_UNALIGNED_ACCESS to indicate that they require an architecture that handles unaligned access * Tue Jan 9 2007 sbrabec@suse.cz - Prefix changed to /usr. - Spec file cleanup. * Tue Dec 5 2006 abockover@suse.de - Disable SSE support altogether (BNC #214051) * Fri Sep 22 2006 jhargadon@suse.de - update to version 0.3.9 - Fix a mistake in the fast path. - liboil/sse/multsum_sse.c: disable broken impl - Change movsx opcodes to something more AT&T-like - Wrap a bunch of functions in HAVE_UNALIGNED_ACCESS to fix alignment issues * Mon Feb 6 2006 rguenther@suse.de - Use =Q constraint for s390 STCK instruction. Fixes build on s390 and s390x. * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Jan 3 2006 sbrabec@suse.cz - New SuSE package, version 0.3.6.