diff --git a/bare-arm/mpconfigport.h b/bare-arm/mpconfigport.h index 7c448d13c1..79b2b73283 100644 --- a/bare-arm/mpconfigport.h +++ b/bare-arm/mpconfigport.h @@ -42,6 +42,7 @@ #define MICROPY_CPYTHON_COMPAT (0) #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_NONE) #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_NONE) +#define MICROPY_USE_INTERNAL_PRINTF (0) // type definitions for the specific machine diff --git a/cc3200/application.mk b/cc3200/application.mk index dca6fcbc65..300262c971 100644 --- a/cc3200/application.mk +++ b/cc3200/application.mk @@ -154,7 +154,6 @@ APP_LIB_SRC_C = $(addprefix lib/,\ timeutils/timeutils.c \ utils/pyexec.c \ utils/pyhelp.c \ - utils/printf.c \ ) APP_STM_SRC_C = $(addprefix stmhal/,\ diff --git a/esp8266/Makefile b/esp8266/Makefile index 521cbb4725..1dfcec809c 100644 --- a/esp8266/Makefile +++ b/esp8266/Makefile @@ -128,7 +128,6 @@ LIB_SRC_C = $(addprefix lib/,\ timeutils/timeutils.c \ utils/pyexec.c \ utils/pyhelp.c \ - utils/printf.c \ fatfs/ff.c \ fatfs/option/ccsbcs.c \ ) diff --git a/lib/utils/printf.c b/lib/utils/printf.c index 308525b6e8..303edfcca0 100644 --- a/lib/utils/printf.c +++ b/lib/utils/printf.c @@ -24,6 +24,10 @@ * THE SOFTWARE. */ +#include "py/mpconfig.h" + +#if MICROPY_USE_INTERNAL_PRINTF + #include #include #include @@ -127,3 +131,5 @@ int snprintf(char *str, size_t size, const char *fmt, ...) { va_end(ap); return ret; } + +#endif //MICROPY_USE_INTERNAL_PRINTF diff --git a/minimal/Makefile b/minimal/Makefile index 02096f9f0e..0cecd1c0fd 100644 --- a/minimal/Makefile +++ b/minimal/Makefile @@ -46,7 +46,6 @@ SRC_C = \ main.c \ uart_core.c \ lib/utils/stdout_helpers.c \ - lib/utils/printf.c \ lib/utils/pyexec.c \ lib/libc/string0.c \ lib/mp-readline/readline.c \ diff --git a/py/mpconfig.h b/py/mpconfig.h index 455f870ac7..e33a41f7a0 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -581,6 +581,11 @@ typedef double mp_float_t; #define MICROPY_USE_INTERNAL_ERRNO (0) #endif +// Whether to use internally defined *printf() functions (otherwise external ones) +#ifndef MICROPY_USE_INTERNAL_PRINTF +#define MICROPY_USE_INTERNAL_PRINTF (1) +#endif + // Support for user-space VFS mount (selected ports) #ifndef MICROPY_FSUSERMOUNT #define MICROPY_FSUSERMOUNT (0) diff --git a/py/py.mk b/py/py.mk index abea7215b2..37b98de928 100644 --- a/py/py.mk +++ b/py/py.mk @@ -223,6 +223,7 @@ PY_O_BASENAME = \ ../extmod/vfs_fat_misc.o \ ../extmod/moduos_dupterm.o \ ../lib/embed/abort_.o \ + ../lib/utils/printf.o \ # prepend the build destination prefix to the py object files PY_O = $(addprefix $(PY_BUILD)/, $(PY_O_BASENAME)) diff --git a/qemu-arm/mpconfigport.h b/qemu-arm/mpconfigport.h index 57277b1569..1f23148c2a 100644 --- a/qemu-arm/mpconfigport.h +++ b/qemu-arm/mpconfigport.h @@ -23,6 +23,7 @@ #define MICROPY_PY_IO (0) #define MICROPY_PY_SYS_EXIT (1) #define MICROPY_PY_SYS_MAXSIZE (1) +#define MICROPY_USE_INTERNAL_PRINTF (0) // type definitions for the specific machine diff --git a/stmhal/Makefile b/stmhal/Makefile index e06eed1cc0..881c073f13 100644 --- a/stmhal/Makefile +++ b/stmhal/Makefile @@ -111,7 +111,6 @@ SRC_LIB = $(addprefix lib/,\ timeutils/timeutils.c \ utils/pyexec.c \ utils/pyhelp.c \ - utils/printf.c \ ) SRC_C = \ diff --git a/teensy/Makefile b/teensy/Makefile index 7b34ba90e2..0ab07121ca 100644 --- a/teensy/Makefile +++ b/teensy/Makefile @@ -110,7 +110,6 @@ LIB_SRC_C = $(addprefix lib/,\ mp-readline/readline.c \ utils/pyexec.c \ utils/pyhelp.c \ - utils/printf.c \ ) SRC_TEENSY = $(addprefix core/,\ diff --git a/unix/Makefile b/unix/Makefile index 3afa80dfa8..49b605f124 100644 --- a/unix/Makefile +++ b/unix/Makefile @@ -157,7 +157,6 @@ endif LIB_SRC_C = $(addprefix lib/,\ $(LIB_SRC_C_EXTRA) \ - utils/printf.c \ timeutils/timeutils.c \ )