############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = gmp version = 5.0.1 release = 2 groups = System/Libraries url = http://gmplib.org/ license = LGPLv3+ summary = A GNU arbitrary precision library. description The gmp package contains GNU MP, a library for arbitrary precision \ arithmetic, signed integers operations, rational numbers and floating \ point numbers. GNU MP is designed for speed, for both small and very \ large operands. GNU MP is fast because it uses fullwords as the basic \ arithmetic type, it uses fast algorithms, it carefully optimizes \ assembly code for many CPUs' most common inner loops, and it generally \ emphasizes speed over simplicity/elegance in its operations. end source_dl = ftp://ftp.gmplib.org/pub/%{thisapp}/ sources = %{thisapp}.tar.bz2 build requires gcc-c++ m4 end # Build different versions of gmp to enhance the speed # of the OS. build_versions = base export ABI = standard if "%{DISTRO_ARCH}" == "x86_64" ABI = 64 end if "%{DISTRO_ARCH}" == "i686" # Build sse2 enabled version of gmp. build_versions += sse2 ABI = 32 end configure_options += \ --prefix=/usr \ --enable-cxx \ --enable-mpbsd \ --disable-static prepare_cmds for version in %{build_versions}; do mkdir build-${version} cd build-${version} ln -svf ../configure . cd .. done end build for version in %{build_versions}; do cd build-${version} CFLAGS="%{CFLAGS}" CXXFLAFS="%{CXXFLAGS}" if [ "${version}" = "sse2" ]; then # Enable sse2. CFLAGS="${CFLAGS} -march=pentium4" CXXFLAGS="${CXXFLAGS} -march=pentium4" fi CFLAGS="${CFLAGS}" \ CXXFLAGS="${CXXFLAGS}" \ ./configure \ %{configure_options} # Kill RPATHs. sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ -e 's|-lstdc++ -lm|-lstdc++|' \ -i libtool make %{PARALLELISMFLAGS} \ CFLAGS="${CFLAGS}" \ CXXFLAGS="${CXXFLAGS}" cd .. done end test for version in %{build_versions}; do cd build-${version} make check cd .. done end install for version in %{build_versions}; do cd build-${version} if [ "${version}" = "sse2" ]; then # Manually install sse2 libs. mkdir -pv %{BUILDROOT}/usr/lib/sse2 install -m 755 .libs/libgmp.so.*.* %{BUILDROOT}/usr/lib/sse2 cp -a .libs/libgmp.so.[^.]* %{BUILDROOT}/usr/lib/sse2 chmod 755 %{BUILDROOT}/usr/lib/sse2/libgmp.so.[^.]* install -m 755 .libs/libgmpxx.so.*.* %{BUILDROOT}/usr/lib/sse2 cp -a .libs/libgmpxx.so.? %{BUILDROOT}/usr/lib/sse2 chmod 755 %{BUILDROOT}/usr/lib/sse2/libgmpxx.so.? install -m 755 .libs/libmp.so.*.* %{BUILDROOT}/usr/lib/sse2 cp -a .libs/libmp.so.? %{BUILDROOT}/usr/lib/sse2 chmod 755 %{BUILDROOT}/usr/lib/sse2/libmp.so.? else make install DESTDIR="%{BUILDROOT}" fi cd .. done end end packages package %{name} package %{name}-devel template DEVEL end end