mpfr: remove pregenerated files

This commit is contained in:
fosslinux 2025-03-25 22:12:02 +11:00 committed by Samuel Tyler
parent deb37bb460
commit a7e0cc54ea
No known key found for this signature in database
GPG key ID: EB5091A5C77E8DC4
3 changed files with 62 additions and 6 deletions

View file

@ -5,7 +5,16 @@
src_prepare() {
default
find . -name '*.info' -delete
# Remove pregenerated table in strtofr.c
sed -i '/^ {/,/ };$/d' src/strtofr.c
cp src/strtofr.c{,.old}
sed -i '/int RedInvLog2Table/ s/$/};/' src/strtofr.c
rm doc/*.info
# testfiles
rm tests/tfpif_*.dat tests/tstrtofr.c
AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fi
}
@ -21,6 +30,25 @@ src_configure() {
src_compile() {
make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
pushd src
cat > strtofr_gen.c <<EOF
#include <stdio.h>
#include <gmp.h>
#include <mpfr.h>
EOF
# Enable the bit of code that generates the table
sed -n '/^#define N 8$/,/^}$/p' strtofr.c >> strtofr_gen.c
gcc strtofr_gen.c -o strtofr_gen -std=gnu99 -I. -L.libs -lmpfr -lgmp
# ordering of 2>&1 >/dev/null is intentional here;
# stdout -> null
# stderr -> file (NOT null)
./strtofr_gen 2>strtofr_table >/dev/null
echo "};" >> strtofr_table
sed "/int RedInvLog2Table/ r strtofr_table" strtofr.c.old > strtofr.c
popd
make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {