0c36da0b59
mp_module_obj_t can now be put in ROM. Configuration of float type is now similar to longint: can now choose none, float or double as the implementation. math module has basic math functions. For STM port, these are not yet implemented (they are just stub functions).
36 lines
1.3 KiB
C
36 lines
1.3 KiB
C
// options to control how Micro Python is built
|
|
|
|
#define MICROPY_EMIT_X64 (1)
|
|
#define MICROPY_EMIT_THUMB (0)
|
|
#define MICROPY_EMIT_INLINE_THUMB (0)
|
|
#define MICROPY_MEM_STATS (1)
|
|
#define MICROPY_DEBUG_PRINTERS (1)
|
|
#define MICROPY_ENABLE_REPL_HELPERS (1)
|
|
#define MICROPY_ENABLE_LEXER_UNIX (1)
|
|
#define MICROPY_ENABLE_SOURCE_LINE (1)
|
|
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE)
|
|
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ)
|
|
#define MICROPY_PATH_MAX (PATH_MAX)
|
|
|
|
// type definitions for the specific machine
|
|
|
|
#ifdef __LP64__
|
|
typedef long machine_int_t; // must be pointer size
|
|
typedef unsigned long machine_uint_t; // must be pointer size
|
|
#else
|
|
// These are definitions for machines where sizeof(int) == sizeof(void*),
|
|
// regardless for actual size.
|
|
typedef int machine_int_t; // must be pointer size
|
|
typedef unsigned int machine_uint_t; // must be pointer size
|
|
#endif
|
|
|
|
#define BYTES_PER_WORD sizeof(machine_int_t)
|
|
|
|
typedef void *machine_ptr_t; // must be of pointer size
|
|
typedef const void *machine_const_ptr_t; // must be of pointer size
|
|
|
|
struct _mp_obj_fun_native_t;
|
|
extern const struct _mp_obj_fun_native_t mp_builtin_open_obj;
|
|
#define MICROPY_EXTRA_BUILTINS \
|
|
{ MP_QSTR_open, (mp_obj_t)&mp_builtin_open_obj },
|