| // 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_ENABLE_GC (1) |
| #define MICROPY_ENABLE_FINALISER (1) |
| #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_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj }, |