Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 1 | // options to control how Micro Python is built |
| 2 | |
Paul Sokolovsky | d674bd5 | 2014-01-04 19:38:19 +0200 | [diff] [blame] | 3 | // Linking with GNU readline causes binary to be licensed under GPL |
| 4 | #ifndef MICROPY_USE_READLINE |
| 5 | #define MICROPY_USE_READLINE (1) |
| 6 | #endif |
| 7 | |
Damien | d2755ec | 2013-10-16 23:58:48 +0100 | [diff] [blame] | 8 | #define MICROPY_EMIT_X64 (1) |
Damien | 3ef4abb | 2013-10-12 16:53:13 +0100 | [diff] [blame] | 9 | #define MICROPY_EMIT_THUMB (0) |
| 10 | #define MICROPY_EMIT_INLINE_THUMB (0) |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 11 | #define MICROPY_MEM_STATS (1) |
Damien George | cbd2f74 | 2014-01-19 11:48:48 +0000 | [diff] [blame] | 12 | #define MICROPY_DEBUG_PRINTERS (1) |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 13 | #define MICROPY_ENABLE_REPL_HELPERS (1) |
Damien George | d3ebe48 | 2014-01-07 15:20:33 +0000 | [diff] [blame] | 14 | #define MICROPY_ENABLE_LEXER_UNIX (1) |
Damien George | 62ad189 | 2014-01-29 21:51:51 +0000 | [diff] [blame] | 15 | #define MICROPY_ENABLE_SOURCE_LINE (1) |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 16 | #define MICROPY_ENABLE_FLOAT (1) |
Paul Sokolovsky | 966879c | 2014-01-17 20:01:36 +0200 | [diff] [blame] | 17 | #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_LONGLONG) |
Damien George | 354d15a | 2014-02-06 21:11:19 +0000 | [diff] [blame] | 18 | #define MICROPY_PATH_MAX (PATH_MAX) |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 19 | |
| 20 | // type definitions for the specific machine |
| 21 | |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 22 | #ifdef __LP64__ |
| 23 | typedef long machine_int_t; // must be pointer size |
| 24 | typedef unsigned long machine_uint_t; // must be pointer size |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 25 | #else |
| 26 | // These are definitions for machines where sizeof(int) == sizeof(void*), |
| 27 | // regardless for actual size. |
| 28 | typedef int machine_int_t; // must be pointer size |
| 29 | typedef unsigned int machine_uint_t; // must be pointer size |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 30 | #endif |
Damien | d276f63 | 2013-10-22 16:05:47 +0100 | [diff] [blame] | 31 | |
Paul Sokolovsky | e85c389 | 2013-12-30 03:38:32 +0200 | [diff] [blame] | 32 | #define BYTES_PER_WORD sizeof(machine_int_t) |
| 33 | |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 34 | typedef void *machine_ptr_t; // must be of pointer size |
Damien | d99b052 | 2013-12-21 18:17:45 +0000 | [diff] [blame] | 35 | typedef const void *machine_const_ptr_t; // must be of pointer size |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 36 | typedef double machine_float_t; |
Damien | 087d218 | 2013-11-09 20:14:30 +0000 | [diff] [blame] | 37 | |
| 38 | machine_float_t machine_sqrt(machine_float_t x); |
Paul Sokolovsky | 910843e | 2014-02-14 12:02:34 +0200 | [diff] [blame^] | 39 | |
| 40 | struct _mp_obj_fun_native_t; |
| 41 | extern const struct _mp_obj_fun_native_t mp_builtin_open_obj; |
| 42 | #define MICROPY_EXTRA_BUILTINS \ |
| 43 | { MP_QSTR_open, (mp_obj_t)&mp_builtin_open_obj }, |