blob: 9c91b757a827c4d3a9418f5406e1f1cb0fc78c75 [file] [log] [blame]
Damienc025ebb2013-10-12 14:30:21 +01001// options to control how Micro Python is built
2
Damiend2755ec2013-10-16 23:58:48 +01003#define MICROPY_EMIT_X64 (1)
Damien3ef4abb2013-10-12 16:53:13 +01004#define MICROPY_EMIT_THUMB (0)
5#define MICROPY_EMIT_INLINE_THUMB (0)
Paul Sokolovsky78e8e302014-04-02 20:57:19 +03006#define MICROPY_ENABLE_GC (1)
Damien George12bab722014-04-05 20:35:48 +01007#define MICROPY_ENABLE_FINALISER (1)
Damien George136f6752014-01-07 14:54:15 +00008#define MICROPY_MEM_STATS (1)
Damien Georgecbd2f742014-01-19 11:48:48 +00009#define MICROPY_DEBUG_PRINTERS (1)
Damien George136f6752014-01-07 14:54:15 +000010#define MICROPY_ENABLE_REPL_HELPERS (1)
Damien Georged3ebe482014-01-07 15:20:33 +000011#define MICROPY_ENABLE_LEXER_UNIX (1)
Damien George62ad1892014-01-29 21:51:51 +000012#define MICROPY_ENABLE_SOURCE_LINE (1)
Damien George777b0f32014-04-13 18:59:45 +010013#define MICROPY_ENABLE_PROPERTY (1)
Damien George0c36da02014-03-08 15:24:39 +000014#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE)
Damien George438c88d2014-02-22 19:25:23 +000015#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ)
Damien George354d15a2014-02-06 21:11:19 +000016#define MICROPY_PATH_MAX (PATH_MAX)
AZ Huang9309d992014-04-15 15:57:01 +080017#define MICROPY_USE_COMPUTED_GOTOS (1)
Paul Sokolovsky4165cd12014-04-13 07:00:37 +030018#define MICROPY_MOD_SYS_STDFILES (1)
Damienc025ebb2013-10-12 14:30:21 +010019
20// type definitions for the specific machine
21
Paul Sokolovskye85c3892013-12-30 03:38:32 +020022#ifdef __LP64__
23typedef long machine_int_t; // must be pointer size
24typedef unsigned long machine_uint_t; // must be pointer size
Paul Sokolovskye85c3892013-12-30 03:38:32 +020025#else
26// These are definitions for machines where sizeof(int) == sizeof(void*),
27// regardless for actual size.
28typedef int machine_int_t; // must be pointer size
29typedef unsigned int machine_uint_t; // must be pointer size
Paul Sokolovskye85c3892013-12-30 03:38:32 +020030#endif
Damiend276f632013-10-22 16:05:47 +010031
Paul Sokolovskye85c3892013-12-30 03:38:32 +020032#define BYTES_PER_WORD sizeof(machine_int_t)
33
Damienc025ebb2013-10-12 14:30:21 +010034typedef void *machine_ptr_t; // must be of pointer size
Damiend99b0522013-12-21 18:17:45 +000035typedef const void *machine_const_ptr_t; // must be of pointer size
Paul Sokolovsky910843e2014-02-14 12:02:34 +020036
Paul Sokolovsky910843e2014-02-14 12:02:34 +020037extern const struct _mp_obj_fun_native_t mp_builtin_open_obj;
38#define MICROPY_EXTRA_BUILTINS \
Damien George7efc5b32014-04-05 22:36:42 +010039 { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj },