ipfire-3.x/gmp/gmp.nm

152 lines
3.4 KiB
Plaintext

###############################################################################
# IPFire.org - An Open Source Firewall Solution #
# Copyright (C) - IPFire Development Team <info@ipfire.org> #
###############################################################################
name = gmp
version = 6.0.0
release = 1
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 += https://gmplib.org/download/gmp/ ftp://ftp.gnu.org/gnu/gmp/
sources = %{thisapp}.tar.xz
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 += \
--enable-cxx \
--enable-mpbsd \
--disable-static
if "%{DISTRO_ARCH}" == "armv7hl"
# GMP cannot be built with THUMB support.
CFLAGS := %(echo "%{CFLAGS}" | sed -e "s/-mthumb//g")
CXXFLAGS := %(echo "%{CXXFLAGS}" | sed -e "s/-mthumb//g")
end
prepare_cmds
for version in %{build_versions}; do
mkdir -p build-${version}
cd build-${version}
ln -svf ../configure .
cd ..
done
end
build_one
./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
export LD_LIBRARY_PATH=$(pwd)/.libs
make %{PARALLELISMFLAGS} \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}"
end
build
for version in %{build_versions}; do
cd build-${version}
CFLAGS="%{CFLAGS}"
CXXFLAGS="%{CXXFLAGS}"
if [ "${version}" = "sse2" ]; then
# Enable sse2.
CFLAGS="%{CFLAGS} -march=pentium4"
CXXFLAGS="%{CXXFLAGS} -march=pentium4"
fi
%{build_one}
cd ..
done
end
test
for version in %{build_versions}; do
cd build-${version}
export LD_LIBRARY_PATH=$(pwd)/.libs
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.?
else
make install DESTDIR="%{BUILDROOT}"
fi
cd ..
done
end
end
packages
package %{name}
package %{name}-devel
template DEVEL
end
package %{name}-debuginfo
template DEBUGINFO
end
end