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 | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 7 | #define MICROPY_MEM_STATS (1) |
Damien George | cbd2f74 | 2014-01-19 11:48:48 +0000 | [diff] [blame] | 8 | #define MICROPY_DEBUG_PRINTERS (1) |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 9 | #define MICROPY_ENABLE_REPL_HELPERS (1) |
Damien George | d3ebe48 | 2014-01-07 15:20:33 +0000 | [diff] [blame] | 10 | #define MICROPY_ENABLE_LEXER_UNIX (1) |
Damien George | 62ad189 | 2014-01-29 21:51:51 +0000 | [diff] [blame] | 11 | #define MICROPY_ENABLE_SOURCE_LINE (1) |
Damien George | 0c36da0 | 2014-03-08 15:24:39 +0000 | [diff] [blame] | 12 | #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE) |
Damien George | 438c88d | 2014-02-22 19:25:23 +0000 | [diff] [blame] | 13 | #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ) |
Damien George | 354d15a | 2014-02-06 21:11:19 +0000 | [diff] [blame] | 14 | #define MICROPY_PATH_MAX (PATH_MAX) |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 15 | |
| 16 | // type definitions for the specific machine |
| 17 | |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 18 | #ifdef __LP64__ |
| 19 | typedef long machine_int_t; // must be pointer size |
| 20 | typedef unsigned long machine_uint_t; // must be pointer size |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 21 | #else |
| 22 | // These are definitions for machines where sizeof(int) == sizeof(void*), |
| 23 | // regardless for actual size. |
| 24 | typedef int machine_int_t; // must be pointer size |
| 25 | typedef unsigned int machine_uint_t; // must be pointer size |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 26 | #endif |
Damien | d276f63 | 2013-10-22 16:05:47 +0100 | [diff] [blame] | 27 | |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 28 | #define BYTES_PER_WORD sizeof(machine_int_t) |
| 29 | |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 30 | typedef void *machine_ptr_t; // must be of pointer size |
Damien | d99b052 | 2013-12-21 18:17:45 +0000 | [diff] [blame] | 31 | typedef const void *machine_const_ptr_t; // must be of pointer size |
Paul Sokolovsky | 910843e | 2014-02-14 12:02:34 +0200 | [diff] [blame] | 32 | |
| 33 | struct _mp_obj_fun_native_t; |
| 34 | extern const struct _mp_obj_fun_native_t mp_builtin_open_obj; |
| 35 | #define MICROPY_EXTRA_BUILTINS \ |
| 36 | { MP_QSTR_open, (mp_obj_t)&mp_builtin_open_obj }, |