Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 1 | // options to control how Micro Python is built |
| 2 | |
Damien | d2755ec | 2013-10-16 23:58:48 +0100 | [diff] [blame] | 3 | #define MICROPY_EMIT_X64 (1) |
Damien | 3ef4abb | 2013-10-12 16:53:13 +0100 | [diff] [blame] | 4 | #define MICROPY_EMIT_THUMB (0) |
| 5 | #define MICROPY_EMIT_INLINE_THUMB (0) |
Paul Sokolovsky | 78e8e30 | 2014-04-02 20:57:19 +0300 | [diff] [blame] | 6 | #define MICROPY_ENABLE_GC (1) |
Damien George | 12bab72 | 2014-04-05 20:35:48 +0100 | [diff] [blame] | 7 | #define MICROPY_ENABLE_FINALISER (1) |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 8 | #define MICROPY_MEM_STATS (1) |
Damien George | cbd2f74 | 2014-01-19 11:48:48 +0000 | [diff] [blame] | 9 | #define MICROPY_DEBUG_PRINTERS (1) |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 10 | #define MICROPY_ENABLE_REPL_HELPERS (1) |
Damien George | d3ebe48 | 2014-01-07 15:20:33 +0000 | [diff] [blame] | 11 | #define MICROPY_ENABLE_LEXER_UNIX (1) |
Damien George | 62ad189 | 2014-01-29 21:51:51 +0000 | [diff] [blame] | 12 | #define MICROPY_ENABLE_SOURCE_LINE (1) |
Damien George | 0c36da0 | 2014-03-08 15:24:39 +0000 | [diff] [blame] | 13 | #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE) |
Damien George | 438c88d | 2014-02-22 19:25:23 +0000 | [diff] [blame] | 14 | #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ) |
Damien George | 354d15a | 2014-02-06 21:11:19 +0000 | [diff] [blame] | 15 | #define MICROPY_PATH_MAX (PATH_MAX) |
AZ Huang | 9309d99 | 2014-04-15 15:57:01 +0800 | [diff] [blame] | 16 | #define MICROPY_USE_COMPUTED_GOTOS (1) |
Paul Sokolovsky | 4165cd1 | 2014-04-13 07:00:37 +0300 | [diff] [blame] | 17 | #define MICROPY_MOD_SYS_STDFILES (1) |
Damien George | dbdfee1 | 2014-04-17 17:11:03 +0100 | [diff] [blame] | 18 | #define MICROPY_ENABLE_MOD_CMATH (1) |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 19 | |
Paul Sokolovsky | eb2fc97 | 2014-04-17 18:28:38 +0300 | [diff] [blame] | 20 | extern const struct _mp_obj_module_t mp_module_time; |
| 21 | #define MICROPY_EXTRA_BUILTIN_MODULES \ |
| 22 | { MP_OBJ_NEW_QSTR(MP_QSTR_time), (mp_obj_t)&mp_module_time }, \ |
| 23 | |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 24 | // type definitions for the specific machine |
| 25 | |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 26 | #ifdef __LP64__ |
| 27 | typedef long machine_int_t; // must be pointer size |
| 28 | typedef unsigned long machine_uint_t; // must be pointer size |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 29 | #else |
| 30 | // These are definitions for machines where sizeof(int) == sizeof(void*), |
| 31 | // regardless for actual size. |
| 32 | typedef int machine_int_t; // must be pointer size |
| 33 | typedef unsigned int machine_uint_t; // must be pointer size |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 34 | #endif |
Damien | d276f63 | 2013-10-22 16:05:47 +0100 | [diff] [blame] | 35 | |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 36 | #define BYTES_PER_WORD sizeof(machine_int_t) |
| 37 | |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 38 | typedef void *machine_ptr_t; // must be of pointer size |
Damien | d99b052 | 2013-12-21 18:17:45 +0000 | [diff] [blame] | 39 | typedef const void *machine_const_ptr_t; // must be of pointer size |
Paul Sokolovsky | 910843e | 2014-02-14 12:02:34 +0200 | [diff] [blame] | 40 | |
Paul Sokolovsky | 910843e | 2014-02-14 12:02:34 +0200 | [diff] [blame] | 41 | extern const struct _mp_obj_fun_native_t mp_builtin_open_obj; |
| 42 | #define MICROPY_EXTRA_BUILTINS \ |
Damien George | 7efc5b3 | 2014-04-05 22:36:42 +0100 | [diff] [blame] | 43 | { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj }, |