summaryrefslogtreecommitdiffstatshomepage
path: root/unix-cpy/mpconfigport.h
diff options
context:
space:
mode:
Diffstat (limited to 'unix-cpy/mpconfigport.h')
-rw-r--r--unix-cpy/mpconfigport.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/unix-cpy/mpconfigport.h b/unix-cpy/mpconfigport.h
new file mode 100644
index 0000000000..db72b31455
--- /dev/null
+++ b/unix-cpy/mpconfigport.h
@@ -0,0 +1,31 @@
+// options to control how Micro Python is built
+
+#define MICROPY_ENABLE_FLOAT (1)
+#define MICROPY_EMIT_CPYTHON (1)
+#define MICROPY_EMIT_X64 (0)
+#define MICROPY_EMIT_THUMB (0)
+#define MICROPY_EMIT_INLINE_THUMB (0)
+
+// type definitions for the specific machine
+
+#ifdef __LP64__
+typedef long machine_int_t; // must be pointer size
+typedef unsigned long machine_uint_t; // must be pointer size
+#define UINT_FMT "%lu"
+#define INT_FMT "%ld"
+#else
+// These are definitions for machines where sizeof(int) == sizeof(void*),
+// regardless for actual size.
+typedef int machine_int_t; // must be pointer size
+typedef unsigned int machine_uint_t; // must be pointer size
+#define UINT_FMT "%u"
+#define INT_FMT "%d"
+#endif
+
+#define BYTES_PER_WORD sizeof(machine_int_t)
+
+typedef void *machine_ptr_t; // must be of pointer size
+typedef const void *machine_const_ptr_t; // must be of pointer size
+typedef double machine_float_t;
+
+machine_float_t machine_sqrt(machine_float_t x);