mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 11:20:07 +00:00
107 lines
1.6 KiB
Bash
107 lines
1.6 KiB
Bash
#!/bin/sh
|
|
|
|
# Notes:
|
|
|
|
# We don't import copysign finite, fpclassify, isinf, isnan, and signbit
|
|
# since our own versions are nicer and just as correct and fast (except
|
|
# perhaps that they don't handle non-finite arguments well?).
|
|
#
|
|
# Also, leave out cabs for now since it doesn't seem overridable in
|
|
# glibc.
|
|
|
|
libm_dir=$1
|
|
|
|
import_s() {
|
|
# $1 = name
|
|
# $2 = source file-name
|
|
# $3 = destination file-name
|
|
echo "Importing $1 from $2 -> $3"
|
|
rm -f $3
|
|
awk -f import_file.awk FUNC=$1 $2 > $3
|
|
}
|
|
|
|
import_c() {
|
|
# $1 = name
|
|
# $2 = source file-name
|
|
# $3 = destination file-name
|
|
echo "Importing $1 from $2 -> $3"
|
|
rm -f $3
|
|
awk -f import_file.awk LICENSE_ONLY=y $2 > $3
|
|
}
|
|
|
|
do_imports() {
|
|
while read func_pattern src_file dst_file; do
|
|
case $src_file in
|
|
*.[ch])
|
|
import_c "$func_pattern" "$src_file" "$dst_file"
|
|
;;
|
|
*)
|
|
import_s "$func_pattern" "$src_file" "$dst_file"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
./gen_import_file_list $libm_dir > import_file_list
|
|
|
|
do_imports < import_file_list
|
|
|
|
emptyfiles="
|
|
e_gamma_r.c
|
|
e_gammaf_r.c
|
|
e_gammal_r.c
|
|
s_sincos.c
|
|
s_sincosf.c
|
|
s_sincosl.c
|
|
t_exp.c
|
|
w_acosh.c
|
|
w_acoshf.c
|
|
w_acoshl.c
|
|
w_atanh.c
|
|
w_atanhf.c
|
|
w_atanhl.c
|
|
w_exp10.c
|
|
w_exp10f.c
|
|
w_exp10l.c
|
|
w_exp2.c
|
|
w_exp2f.c
|
|
w_exp2l.c
|
|
w_expl.c
|
|
w_lgamma_r.c
|
|
w_lgammaf_r.c
|
|
w_lgammal_r.c
|
|
w_log2.c
|
|
w_log2f.c
|
|
w_log2l.c
|
|
w_sinh.c
|
|
w_sinhf.c
|
|
w_sinhl.c
|
|
"
|
|
for f in $emptyfiles
|
|
do
|
|
rm -f $f
|
|
echo "/* Not needed. */" > $f
|
|
done
|
|
|
|
removedfiles="
|
|
libm_atan2_reg.S
|
|
s_ldexp.S
|
|
s_ldexpf.S
|
|
s_ldexpl.S
|
|
s_scalbn.S
|
|
s_scalbnf.S
|
|
s_scalbnl.S
|
|
"
|
|
|
|
rm -f $removedfiles
|
|
|
|
for f in lgammaf_r.c lgammal_r.c lgamma_r.c
|
|
do
|
|
import_c $f $libm_dir/$f e_$f
|
|
done
|
|
|
|
for f in lgamma.c lgammaf.c lgammal.c
|
|
do
|
|
import_c $f $libm_dir/$f w_$f
|
|
done
|