Summary: Arithmetic of univariate polynomials over arbitrary precision real (Mpfr) or complex (Mpc) numbers Name: mpfrcx Version: 0.4 Release: 1 License: LGPLv2+ Group: System/Libraries URL: http://www.http://www.multiprecision.org/%{name} Source0: http://www.multiprecision.org/mpfrcx/download/%{name}-%{version}.tar.gz Source1: http://www.multiprecision.org/mpfrcx/download/%{name}-%{version}.tar.gz.asc BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: gmp-devel >= 4.3.2-1 BuildRequires: mpfr-devel >= 2.4.2-1 BuildRequires: libmpc-devel >= 0.8.1-1 Requires: gmp >= 4.3.2-1 Requires: mpfr >= 2.4.2-1 Requires: libmpc >= 0.8.1-1 %define _libdir64 %{_prefix}/lib64 %description Mpfrcx is a library for the arithmetic of univariate polynomials over arbitrary precision real (Mpfr) or complex (Mpc) numbers, without control on the rounding. For the time being, only the few functions needed to implement the floating point approach to complex multiplication are implemented. On the other hand, these comprise asymptotically fast multiplication routines such as Toom-Cook and the FFT. The library is available as 32-bit and 64-bit. %package devel Summary: Development headers and libraries for MPFRCX Group: Development/C Requires: %{name} = %{version}-%{release} Requires: info, /sbin/install-info %description devel Development headers and libraries for MPFRCX. If you are compiling a 32-bit program, no special compiler options are needed. If you are compiling a 64-bit program, you have to compile and link your application with "cc -q64" or "gcc -maix64". %prep %setup -q mkdir ../32bit mv * ../32bit mv ../32bit . mkdir 64bit cd 32bit && tar cf - . | (cd ../64bit ; tar xpf -) %build export CONFIG_SHELL=/usr/bin/ksh export CONFIG_ENV_ARGS=/usr/bin/ksh cd 64bit # first build the 64-bit version export OBJECT_MODE=64 export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir64} \ --infodir=%{_infodir} \ --enable-shared --disable-static make %{?_smp_mflags} cd ../32bit # now build the 32-bit version export OBJECT_MODE=32 export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --enable-shared --disable-static make %{?_smp_mflags} %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} cd 64bit export OBJECT_MODE=64 make DESTDIR=${RPM_BUILD_ROOT} install cd ../32bit export OBJECT_MODE=32 make DESTDIR=${RPM_BUILD_ROOT} install ( cd ${RPM_BUILD_ROOT}%{_libdir64} for f in *.a ; do /usr/bin/ar -X64 -x ${f} done cd ${RPM_BUILD_ROOT}%{_libdir} for f in *.a ; do /usr/bin/ar -X32 -x ${f} done ) rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir gzip -9 ${RPM_BUILD_ROOT}%{_infodir}/*.info* # add the 64-bit shared objects to the shared libraries containing already the # 32-bit shared objects /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a ${RPM_BUILD_ROOT}%{_libdir64}/lib%{name}.so* ( cd ${RPM_BUILD_ROOT} for dir in include lib lib64 do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %post devel if [ -f %{_infodir}/%{name}.info.gz ]; then # for --excludedocs /sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir || : fi %preun devel if [ $1 = 0 ]; then if [ -f %{_infodir}/%{name}.info.gz ]; then # for --excludedocs /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir || : fi fi %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system) %doc 32bit/AUTHORS 32bit/NEWS 32bit/README 32bit/TODO %{_libdir}/*.a %{_libdir}/*.so* %{_libdir64}/*.so* /usr/lib/*.a /usr/lib/*.so* /usr/lib64/*.so* %files devel %defattr(-,root,system) %{_includedir}/* %{_libdir}/*.la %{_libdir64}/*.la %{_infodir}/*.info* /usr/include/* /usr/lib/*.la /usr/lib64/*.la %changelog * Tue Jun 12 2012 Michael Perzl - 0.4-1 - updated to version 0.4 * Thu Mar 10 2011 Michael Perzl - 0.3.1-1 - first version for AIX V5.1 and higher