f30dd60766
gcc/ PR target/92055 * config.gcc (tm_defines) [target=avr]: Support --with-libf7, --with-double-comparison. * doc/install.texi: Document them. * config/avr/avr-c.c (avr_cpu_cpp_builtins) <WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS> <WITH_DOUBLE_COMPARISON>: New built-in defines. * doc/invoke.texi (AVR Built-in Macros): Document them. * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New. * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function. * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro. libgcc/ PR target/92055 * config.host (tmake_file) [target=avr]: Add t-libf7, t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=. * config/avr/t-avrlibc: Don't copy libgcc.a if there are modules depending on sizeof (double) or sizeof (long double). * config/avr/libf7: New folder. libgcc/config/avr/libf7/ PR target/92055 * t-libf7: New file. * t-libf7-math: New file. * t-libf7-math-symbols: New file. * libf7-common.mk: New file. * libf7-asm-object.mk: New file. * libf7-c-object.mk: New file. * asm-defs.h: New file. * libf7.h: New file. * libf7.c: New file. * libf7-asm.sx: New file. * libf7-array.def: New file. * libf7-const.def: New file. * libf7-constdef.h: New file. * f7renames.sh: New script. * f7wraps.sh: New script. * f7-renames.h: New generated file. * f7-wraps.h: New generated file. From-SVN: r279994
81 lines
1.7 KiB
Bash
Executable File
81 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
# The first command argument tells us which flavour to generate for
|
|
# the rest of the command line arguments.
|
|
|
|
what=$1
|
|
shift
|
|
|
|
# The second command argument is the prefix to prepend to all functions.
|
|
# It is defined by F7_PREFIX in $2.
|
|
|
|
PRE=$1
|
|
shift
|
|
|
|
case ${what} in
|
|
head)
|
|
cat << EOF
|
|
/*
|
|
Auto-generated file, do not change by hand.
|
|
|
|
Generated by: `basename $0`.
|
|
Generated using: F7_PREFIX = ${PRE} from $1.
|
|
F7F, F7F_cst, F7F_asm from libf7-common.mk.
|
|
Included by: libf7.h.
|
|
Used by: libf7.c, libf7.h, libf7-asm.sx, f7-wraps.h.
|
|
*/
|
|
|
|
#ifndef F7_RENAMES_H
|
|
#define F7_RENAMES_H
|
|
|
|
#define F7_(name) ${PRE}##name
|
|
#define F7P ${PRE}
|
|
EOF
|
|
;;
|
|
|
|
c)
|
|
if [ x${PRE} != xf7_ ]; then
|
|
echo " "
|
|
echo "/* Renames for libf7.c, libf7.h. */"
|
|
echo " "
|
|
for x in $*; do
|
|
echo "#define f7_$x ${PRE}$x"
|
|
done
|
|
fi
|
|
;;
|
|
|
|
cst)
|
|
if [ x${PRE} != xf7_ ]; then
|
|
echo " "
|
|
echo "/* Renames for libf7.c, libf7.h. */"
|
|
echo " "
|
|
for x in $*; do
|
|
echo "#define f7_const_${x} ${PRE}const_${x}"
|
|
echo "#define f7_const_${x}_P ${PRE}const_${x}_P"
|
|
done
|
|
fi
|
|
;;
|
|
|
|
asm)
|
|
if [ x${PRE} != xf7_ ]; then
|
|
echo " "
|
|
echo "/* Renames for libf7-asm.sx, f7-wraps.h. */"
|
|
echo " "
|
|
for x in $*; do
|
|
echo "#define f7_${x}_asm ${PRE}${x}_asm"
|
|
done
|
|
fi
|
|
;;
|
|
|
|
tail)
|
|
cat << EOF
|
|
|
|
#endif /* F7_RENAMES_H */
|
|
EOF
|
|
;;
|
|
|
|
*)
|
|
exit 1
|
|
;;
|
|
esac
|