Blame view

build5/epsilon-master/python/port/mpconfigport.h 3.42 KB
6663b6c9   adorian   projet complet av...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  #include <stdint.h>
  #include <alloca.h>
  #include "helpers.h"
  
  /* MicroPython configuration options
   * We're not listing the default options as defined in mpconfig.h */
  
  // Maximum length of a path in the filesystem
  #define MICROPY_ALLOC_PATH_MAX (32)
  
  // Whether to include the garbage collector
  #define MICROPY_ENABLE_GC (1)
  
  // Whether to check C stack usage
  #define MICROPY_STACK_CHECK (1)
  
  // Whether to provide the mp_kbd_exception object, and micropython.kbd_intr function
  #define MICROPY_KBD_EXCEPTION (1)
  
  // Long int implementation
  #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ)
  
  // Whether to include information in the byte code to determine source
  #define MICROPY_ENABLE_SOURCE_LINE (1)
  
  // Exception messages provide full info, e.g. object names
  #define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_DETAILED)
  
  // Float and complex implementation
  #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE)
  
  // Enable features which improve CPython compatibility
  // but may lead to more code size/memory usage.
  // TODO: Originally intended as generic category to not
  // add bunch of once-off options. May need refactoring later
  #define MICROPY_CPYTHON_COMPAT (0)
  
  // Support for async/await/async for/async with
  #define MICROPY_PY_ASYNC_AWAIT (0)
  
  // Whether to support bytearray object
  #define MICROPY_PY_BUILTINS_BYTEARRAY (0)
  
  // Whether to support frozenset object
  #define MICROPY_PY_BUILTINS_FROZENSET (1)
  
  // Whether to support property object
  #define MICROPY_PY_BUILTINS_PROPERTY (0)
  
  // Whether to set __file__ for imported modules
  #define MICROPY_PY___FILE__ (0)
  
  // Whether to provide "array" module. Note that large chunk of the
  // underlying code is shared with "bytearray" builtin type, so to
  // get real savings, it should be disabled too.
  #define MICROPY_PY_ARRAY (0)
  
  // Whether to support attrtuple type (MicroPython extension)
  // It provides space-efficient tuples with attribute access
  #define MICROPY_PY_ATTRTUPLE (0)
  
  // Whether to provide "collections" module
  #define MICROPY_PY_COLLECTIONS (0)
  
  // Whether to provide special math functions: math.{erf,erfc,gamma,lgamma}
  #define MICROPY_PY_MATH_SPECIAL_FUNCTIONS (1)
  
  // Whether to provide "cmath" module
  #define MICROPY_PY_CMATH (1)
  
  // Whether to provide "gc" module
  #define MICROPY_PY_GC (0)
  
  // Whether to provide "io" module
  #define MICROPY_PY_IO (0)
  
  // Whether to provide "struct" module
  #define MICROPY_PY_STRUCT (0)
  
  // Whether to provide "sys" module
  #define MICROPY_PY_SYS (0)
  
  // Wether to provide the "urandom" module
  #define MICROPY_PY_URANDOM (1)
  
  // Whether to include: randrange, randint, choice, random, uniform
  #define MICROPY_PY_URANDOM_EXTRA_FUNCS (1)
  
  // Make a pointer to RAM callable (eg set lower bit for Thumb code)
  // (This scheme won't work if we want to mix Thumb and normal ARM code.)
  #define MICROPY_MAKE_POINTER_CALLABLE(p) (p)
  
  #define MICROPY_VM_HOOK_LOOP micropython_port_should_interrupt();
  
  typedef intptr_t mp_int_t; // must be pointer size
  typedef uintptr_t mp_uint_t; // must be pointer size
  
  typedef long mp_off_t;
  
  #define SEEK_CUR 1
  
  // extra built in names to add to the global namespace
  #define MICROPY_PORT_BUILTINS \
      { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj }, \
      { MP_OBJ_NEW_QSTR(MP_QSTR_input), (mp_obj_t)&mp_builtin_input_obj },
  
  #define MP_STATE_PORT MP_STATE_VM
  
  extern const struct _mp_obj_module_t kandinsky_module;
  
  #define MICROPY_PORT_BUILTIN_MODULES \
      { MP_ROM_QSTR(MP_QSTR_kandinsky), MP_ROM_PTR(&kandinsky_module) }