Package crlibm: Specfile

%define sover 1
Name: crlibm
Version: 1.0beta4
Release: alt2
Summary: Correctly Rounded mathematical library
License: LGPL
Group: Sciences/Mathematics
Url: http://lipforge.ens-lyon.fr/www/crlibm/
Packager: Eugeny A. Rostovtsev (REAL) <real at altlinux.org>

Source: %name-%version.tar

BuildPreReq: libmpfr-devel libgmp-devel
BuildPreReq: texlive-latex-base texlive-base-bin texlive-publishers

%description
CRlibm, an efficient and proven correctly-rounded mathematical library.

CRlibm is a free mathematical library (libm) which provides:

* implementations of the double-precision C99 standard elementary
  functions,
* correctly rounded in the four IEEE-754 rounding modes,
* with a comprehensive proof of both the algorithms used and their
  implementation,
* sufficiently efficient in average time, worst-case time, and memory
  consumption to replace existing libms transparently.

%package -n lib%name
Summary: Correctly Rounded mathematical library
Group: System/Libraries

%description -n lib%name
CRlibm, an efficient and proven correctly-rounded mathematical library.

CRlibm is a free mathematical library (libm) which provides:

* implementations of the double-precision C99 standard elementary
  functions,
* correctly rounded in the four IEEE-754 rounding modes,
* with a comprehensive proof of both the algorithms used and their
  implementation,
* sufficiently efficient in average time, worst-case time, and memory
  consumption to replace existing libms transparently.

%package -n lib%name-devel
Summary: Development files of Correctly Rounded mathematical library
Group: Development/C
Requires: lib%name = %EVR
Conflicts: libscs-devel

%description -n lib%name-devel
CRlibm, an efficient and proven correctly-rounded mathematical library.

CRlibm is a free mathematical library (libm) which provides:

* implementations of the double-precision C99 standard elementary
  functions,
* correctly rounded in the four IEEE-754 rounding modes,
* with a comprehensive proof of both the algorithms used and their
  implementation,
* sufficiently efficient in average time, worst-case time, and memory
  consumption to replace existing libms transparently.

This package contains development files of CRlibm.

%package -n lib%name-devel-doc
Summary: Documentation for Correctly Rounded mathematical library
Group: Development/Documentation
BuildArch: noarch

%description -n lib%name-devel-doc
CRlibm, an efficient and proven correctly-rounded mathematical library.

CRlibm is a free mathematical library (libm) which provides:

* implementations of the double-precision C99 standard elementary
  functions,
* correctly rounded in the four IEEE-754 rounding modes,
* with a comprehensive proof of both the algorithms used and their
  implementation,
* sufficiently efficient in average time, worst-case time, and memory
  consumption to replace existing libms transparently.

This package contains documentation for CRlibm.

%prep
%setup

%build
%add_optflags %optflags_shared
%autoreconf
%configure \
%ifarch x86_64
	--enable-sse2 \
%endif
	--enable-mpfr \
	--enable-gmp \
	--with-gmp-include=%_includedir \
	--with-gmp-lib=%_libdir \
	--with-mpfr-include=%_includedir \
	--with-mpfr-lib=%_libdir
%make_build
%make doc

%install
%makeinstall_std

# shared libraries
pushd %buildroot%_libdir
for i in crlibm scs; do
	gcc -shared -Wl,--whole-archive lib$i.a -Wl,--no-whole-archive \
		-lmpfr -lgmp \
		-Wl,-soname=lib$i.so.%sover -o lib$i.so.%sover
	ln -s lib$i.so.%sover lib$i.so
done
popd

%files -n lib%name
%doc AUTHORS ChangeLog NEWS README TODO
%_libdir/*.so.*

%files -n lib%name-devel
%_includedir/*
%_libdir/*.so

%files -n lib%name-devel-doc
%doc docs/*.pdf

%changelog
* Sat May 17 2014 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0beta4-alt2
- Avoid conflict with libscs

* Fri May 16 2014 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0beta4-alt1
- Initial build for Sisyphus