extmod: Add lists of libm/libm_dbl source files for ports to use.
So that ports don't need to specify each of these files, they can simply refer to the appropriate make/cmake variable. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
@@ -62,6 +62,41 @@ set(MICROPY_SOURCE_EXTMOD
|
|||||||
${MICROPY_EXTMOD_DIR}/nimble/modbluetooth_nimble.c
|
${MICROPY_EXTMOD_DIR}/nimble/modbluetooth_nimble.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Single-precision libm math library.
|
||||||
|
|
||||||
|
set(MICROPY_SOURCE_LIB_LIBM
|
||||||
|
${MICROPY_DIR}/lib/libm/acoshf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/asinfacosf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/asinhf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/atan2f.c
|
||||||
|
${MICROPY_DIR}/lib/libm/atanf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/atanhf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/ef_rem_pio2.c
|
||||||
|
${MICROPY_DIR}/lib/libm/erf_lgamma.c
|
||||||
|
${MICROPY_DIR}/lib/libm/fmodf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/kf_cos.c
|
||||||
|
${MICROPY_DIR}/lib/libm/kf_rem_pio2.c
|
||||||
|
${MICROPY_DIR}/lib/libm/kf_sin.c
|
||||||
|
${MICROPY_DIR}/lib/libm/kf_tan.c
|
||||||
|
${MICROPY_DIR}/lib/libm/log1pf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/math.c
|
||||||
|
${MICROPY_DIR}/lib/libm/nearbyintf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/roundf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/sf_cos.c
|
||||||
|
${MICROPY_DIR}/lib/libm/sf_erf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/sf_frexp.c
|
||||||
|
${MICROPY_DIR}/lib/libm/sf_ldexp.c
|
||||||
|
${MICROPY_DIR}/lib/libm/sf_modf.c
|
||||||
|
${MICROPY_DIR}/lib/libm/sf_sin.c
|
||||||
|
${MICROPY_DIR}/lib/libm/sf_tan.c
|
||||||
|
${MICROPY_DIR}/lib/libm/wf_lgamma.c
|
||||||
|
${MICROPY_DIR}/lib/libm/wf_tgamma.c
|
||||||
|
)
|
||||||
|
|
||||||
|
# Choose only one of these sqrt implementations, software or hardware.
|
||||||
|
set(MICROPY_SOURCE_LIB_LIBM_SQRT_SW ${MICROPY_DIR}/lib/libm/ef_sqrt.c)
|
||||||
|
set(MICROPY_SOURCE_LIB_LIBM_SQRT_HW ${MICROPY_DIR}/lib/libm/thumb_vfp_sqrtf.c)
|
||||||
|
|
||||||
# Library for btree module and associated code
|
# Library for btree module and associated code
|
||||||
|
|
||||||
if(MICROPY_PY_BTREE)
|
if(MICROPY_PY_BTREE)
|
||||||
|
|||||||
@@ -70,6 +70,96 @@ SRC_QSTR += $(SRC_EXTMOD_C)
|
|||||||
CFLAGS += $(CFLAGS_EXTMOD) $(CFLAGS_THIRDPARTY)
|
CFLAGS += $(CFLAGS_EXTMOD) $(CFLAGS_THIRDPARTY)
|
||||||
LDFLAGS += $(LDFLAGS_EXTMOD) $(LDFLAGS_THIRDPARTY)
|
LDFLAGS += $(LDFLAGS_EXTMOD) $(LDFLAGS_THIRDPARTY)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# libm/libm_dbl math library
|
||||||
|
|
||||||
|
# Single-precision math library.
|
||||||
|
SRC_LIB_LIBM_C += $(addprefix lib/libm/,\
|
||||||
|
acoshf.c \
|
||||||
|
asinfacosf.c \
|
||||||
|
asinhf.c \
|
||||||
|
atan2f.c \
|
||||||
|
atanf.c \
|
||||||
|
atanhf.c \
|
||||||
|
ef_rem_pio2.c \
|
||||||
|
erf_lgamma.c \
|
||||||
|
fmodf.c \
|
||||||
|
kf_cos.c \
|
||||||
|
kf_rem_pio2.c \
|
||||||
|
kf_sin.c \
|
||||||
|
kf_tan.c \
|
||||||
|
log1pf.c \
|
||||||
|
math.c \
|
||||||
|
nearbyintf.c \
|
||||||
|
roundf.c \
|
||||||
|
sf_cos.c \
|
||||||
|
sf_erf.c \
|
||||||
|
sf_frexp.c \
|
||||||
|
sf_ldexp.c \
|
||||||
|
sf_modf.c \
|
||||||
|
sf_sin.c \
|
||||||
|
sf_tan.c \
|
||||||
|
wf_lgamma.c \
|
||||||
|
wf_tgamma.c \
|
||||||
|
)
|
||||||
|
|
||||||
|
# Choose only one of these sqrt implementations, software or hardware.
|
||||||
|
SRC_LIB_LIBM_SQRT_SW_C += lib/libm/ef_sqrt.c
|
||||||
|
SRC_LIB_LIBM_SQRT_HW_C += lib/libm/thumb_vfp_sqrtf.c
|
||||||
|
|
||||||
|
# Double-precision math library.
|
||||||
|
SRC_LIB_LIBM_DBL_C += $(addprefix lib/libm_dbl/,\
|
||||||
|
__cos.c \
|
||||||
|
__expo2.c \
|
||||||
|
__fpclassify.c \
|
||||||
|
__rem_pio2.c \
|
||||||
|
__rem_pio2_large.c \
|
||||||
|
__signbit.c \
|
||||||
|
__sin.c \
|
||||||
|
__tan.c \
|
||||||
|
acos.c \
|
||||||
|
acosh.c \
|
||||||
|
asin.c \
|
||||||
|
asinh.c \
|
||||||
|
atan.c \
|
||||||
|
atan2.c \
|
||||||
|
atanh.c \
|
||||||
|
ceil.c \
|
||||||
|
cos.c \
|
||||||
|
cosh.c \
|
||||||
|
copysign.c \
|
||||||
|
erf.c \
|
||||||
|
exp.c \
|
||||||
|
expm1.c \
|
||||||
|
floor.c \
|
||||||
|
fmod.c \
|
||||||
|
frexp.c \
|
||||||
|
ldexp.c \
|
||||||
|
lgamma.c \
|
||||||
|
log.c \
|
||||||
|
log10.c \
|
||||||
|
log1p.c \
|
||||||
|
modf.c \
|
||||||
|
nearbyint.c \
|
||||||
|
pow.c \
|
||||||
|
rint.c \
|
||||||
|
round.c \
|
||||||
|
scalbn.c \
|
||||||
|
sin.c \
|
||||||
|
sinh.c \
|
||||||
|
tan.c \
|
||||||
|
tanh.c \
|
||||||
|
tgamma.c \
|
||||||
|
trunc.c \
|
||||||
|
)
|
||||||
|
|
||||||
|
# Choose only one of these sqrt implementations, software or hardware.
|
||||||
|
SRC_LIB_LIBM_DBL_SQRT_SW_C += lib/libm_dbl/sqrt.c
|
||||||
|
SRC_LIB_LIBM_DBL_SQRT_HW_C += lib/libm_dbl/thumb_vfp_sqrt.c
|
||||||
|
|
||||||
|
# Too many warnings in libm_dbl, disable for now.
|
||||||
|
$(BUILD)/lib/libm_dbl/%.o: CFLAGS += -Wno-double-promotion -Wno-float-conversion
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# VFS FAT FS
|
# VFS FAT FS
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user