Rename configuration variables controling Python features.

Now of the form MICROPY_PY_*.  See issue #35.
diff --git a/py/builtinimport.c b/py/builtinimport.c
index d2b1870..fa1a839 100644
--- a/py/builtinimport.c
+++ b/py/builtinimport.c
@@ -73,7 +73,7 @@
     // extract the list of paths
     uint path_num = 0;
     mp_obj_t *path_items;
-#if MICROPY_ENABLE_MOD_SYS
+#if MICROPY_PY_SYS
     mp_obj_list_get(mp_sys_path, &path_num, &path_items);
 #endif
 
diff --git a/py/builtintables.c b/py/builtintables.c
index d51c019..1d22683 100644
--- a/py/builtintables.c
+++ b/py/builtintables.c
@@ -53,14 +53,14 @@
 #if MICROPY_ENABLE_FLOAT
     { MP_OBJ_NEW_QSTR(MP_QSTR_float), (mp_obj_t)&mp_type_float },
 #endif
-#if MICROPY_ENABLE_FROZENSET
+#if MICROPY_PY_FROZENSET
     { MP_OBJ_NEW_QSTR(MP_QSTR_frozenset), (mp_obj_t)&mp_type_frozenset },
 #endif
     { MP_OBJ_NEW_QSTR(MP_QSTR_int), (mp_obj_t)&mp_type_int },
     { MP_OBJ_NEW_QSTR(MP_QSTR_list), (mp_obj_t)&mp_type_list },
     { MP_OBJ_NEW_QSTR(MP_QSTR_map), (mp_obj_t)&mp_type_map },
     { MP_OBJ_NEW_QSTR(MP_QSTR_object), (mp_obj_t)&mp_type_object },
-#if MICROPY_ENABLE_PROPERTY
+#if MICROPY_PY_PROPERTY
     { MP_OBJ_NEW_QSTR(MP_QSTR_property), (mp_obj_t)&mp_type_property },
 #endif
     { MP_OBJ_NEW_QSTR(MP_QSTR_range), (mp_obj_t)&mp_type_range },
@@ -159,26 +159,26 @@
     { MP_OBJ_NEW_QSTR(MP_QSTR_micropython), (mp_obj_t)&mp_module_micropython },
 
     { MP_OBJ_NEW_QSTR(MP_QSTR_array), (mp_obj_t)&mp_module_array },
-#if MICROPY_ENABLE_MOD_IO
+#if MICROPY_PY_IO
     { MP_OBJ_NEW_QSTR(MP_QSTR_io), (mp_obj_t)&mp_module_io },
 #endif
-#if MICROPY_ENABLE_MOD_COLLECTIONS
+#if MICROPY_PY_COLLECTIONS
     { MP_OBJ_NEW_QSTR(MP_QSTR__collections), (mp_obj_t)&mp_module_collections },
 #endif
-#if MICROPY_ENABLE_MOD_STRUCT
+#if MICROPY_PY_STRUCT
     { MP_OBJ_NEW_QSTR(MP_QSTR_struct), (mp_obj_t)&mp_module_struct },
 #endif
 
 #if MICROPY_ENABLE_FLOAT
     { MP_OBJ_NEW_QSTR(MP_QSTR_math), (mp_obj_t)&mp_module_math },
-#if MICROPY_ENABLE_MOD_CMATH
+#if MICROPY_PY_CMATH
     { MP_OBJ_NEW_QSTR(MP_QSTR_cmath), (mp_obj_t)&mp_module_cmath },
 #endif
 #endif
-#if MICROPY_ENABLE_MOD_SYS
+#if MICROPY_PY_SYS
     { MP_OBJ_NEW_QSTR(MP_QSTR_sys), (mp_obj_t)&mp_module_sys },
 #endif
-#if MICROPY_ENABLE_MOD_GC && MICROPY_ENABLE_GC
+#if MICROPY_PY_GC && MICROPY_ENABLE_GC
     { MP_OBJ_NEW_QSTR(MP_QSTR_gc), (mp_obj_t)&mp_module_gc },
 #endif
 
diff --git a/py/modcmath.c b/py/modcmath.c
index fc41c44..9e4de25 100644
--- a/py/modcmath.c
+++ b/py/modcmath.c
@@ -32,7 +32,7 @@
 #include "obj.h"
 #include "builtin.h"
 
-#if MICROPY_ENABLE_FLOAT && MICROPY_ENABLE_MOD_CMATH
+#if MICROPY_ENABLE_FLOAT && MICROPY_PY_CMATH
 
 // These are defined in modmath.c
 extern const mp_obj_float_t mp_math_e_obj;
@@ -154,4 +154,4 @@
     .globals = (mp_obj_dict_t*)&mp_module_cmath_globals,
 };
 
-#endif // MICROPY_ENABLE_FLOAT && MICROPY_ENABLE_MOD_CMATH
+#endif // MICROPY_ENABLE_FLOAT && MICROPY_PY_CMATH
diff --git a/py/modcollections.c b/py/modcollections.c
index a7ed273..9e3da7e 100644
--- a/py/modcollections.c
+++ b/py/modcollections.c
@@ -30,7 +30,7 @@
 #include "obj.h"
 #include "builtin.h"
 
-#if MICROPY_ENABLE_MOD_COLLECTIONS
+#if MICROPY_PY_COLLECTIONS
 
 STATIC const mp_map_elem_t mp_module_collections_globals_table[] = {
     { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR__collections) },
@@ -54,4 +54,4 @@
     .globals = (mp_obj_dict_t*)&mp_module_collections_globals,
 };
 
-#endif // MICROPY_ENABLE_MOD_COLLECTIONS
+#endif // MICROPY_PY_COLLECTIONS
diff --git a/py/modgc.c b/py/modgc.c
index de6ecd5..03b520b 100644
--- a/py/modgc.c
+++ b/py/modgc.c
@@ -35,7 +35,7 @@
 #include "objstr.h"
 #include "gc.h"
 
-#if MICROPY_ENABLE_MOD_GC && MICROPY_ENABLE_GC
+#if MICROPY_PY_GC && MICROPY_ENABLE_GC
 
 STATIC mp_obj_t py_gc_collect(void) {
     gc_collect();
diff --git a/py/modio.c b/py/modio.c
index b1f0d88..e1761f7 100644
--- a/py/modio.c
+++ b/py/modio.c
@@ -30,7 +30,7 @@
 #include "obj.h"
 #include "builtin.h"
 
-#if MICROPY_ENABLE_MOD_IO
+#if MICROPY_PY_IO
 
 extern const mp_obj_type_t mp_type_fileio;
 extern const mp_obj_type_t mp_type_textio;
@@ -40,14 +40,14 @@
     // Note: mp_builtin_open_obj should be defined by port, it's not
     // part of the core.
     { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj },
-    #if MICROPY_MOD_IO_FILEIO
+    #if MICROPY_PY_IO_FILEIO
     { MP_OBJ_NEW_QSTR(MP_QSTR_FileIO), (mp_obj_t)&mp_type_fileio },
     #endif
     #if MICROPY_CPYTHON_COMPAT
     { MP_OBJ_NEW_QSTR(MP_QSTR_TextIOWrapper), (mp_obj_t)&mp_type_textio },
     #endif
     { MP_OBJ_NEW_QSTR(MP_QSTR_StringIO), (mp_obj_t)&mp_type_stringio },
-    #if MICROPY_IO_BYTESIO
+    #if MICROPY_PY_IO_BYTESIO
     { MP_OBJ_NEW_QSTR(MP_QSTR_BytesIO), (mp_obj_t)&mp_type_bytesio },
     #endif
 };
diff --git a/py/modmath.c b/py/modmath.c
index 485d946..e0ff163 100644
--- a/py/modmath.c
+++ b/py/modmath.c
@@ -32,7 +32,7 @@
 #include "obj.h"
 #include "builtin.h"
 
-#if MICROPY_ENABLE_FLOAT && MICROPY_ENABLE_MOD_MATH
+#if MICROPY_ENABLE_FLOAT && MICROPY_PY_MATH
 
 //TODO: Change macros to check for overflow and raise OverflowError or RangeError
 #define MATH_FUN_1(py_name, c_name) \
@@ -184,4 +184,4 @@
     .globals = (mp_obj_dict_t*)&mp_module_math_globals,
 };
 
-#endif // MICROPY_ENABLE_FLOAT && MICROPY_ENABLE_MOD_MATH
+#endif // MICROPY_ENABLE_FLOAT && MICROPY_PY_MATH
diff --git a/py/modstruct.c b/py/modstruct.c
index 19cf9cf..39571e3 100644
--- a/py/modstruct.c
+++ b/py/modstruct.c
@@ -37,7 +37,7 @@
 #include "binary.h"
 #include "parsenum.h"
 
-#if MICROPY_ENABLE_MOD_STRUCT
+#if MICROPY_PY_STRUCT
 
 STATIC char get_fmt_type(const char **fmt) {
     char t = **fmt;
diff --git a/py/modsys.c b/py/modsys.c
index 954711a..738758b 100644
--- a/py/modsys.c
+++ b/py/modsys.c
@@ -34,7 +34,7 @@
 #include "objtuple.h"
 #include "objstr.h"
 
-#if MICROPY_ENABLE_MOD_SYS
+#if MICROPY_PY_SYS
 
 // These should be implemented by ports, specific types don't matter,
 // only addresses.
@@ -65,11 +65,11 @@
     { MP_OBJ_NEW_QSTR(MP_QSTR_byteorder), MP_OBJ_NEW_QSTR(MP_QSTR_big) },
 #endif
 
-#if MICROPY_MOD_SYS_EXIT
+#if MICROPY_PY_SYS_EXIT
     { MP_OBJ_NEW_QSTR(MP_QSTR_exit), (mp_obj_t)&mp_sys_exit_obj },
 #endif
 
-#if MICROPY_MOD_SYS_STDFILES
+#if MICROPY_PY_SYS_STDFILES
     { MP_OBJ_NEW_QSTR(MP_QSTR_stdin), (mp_obj_t)&mp_sys_stdin_obj },
     { MP_OBJ_NEW_QSTR(MP_QSTR_stdout), (mp_obj_t)&mp_sys_stdout_obj },
     { MP_OBJ_NEW_QSTR(MP_QSTR_stderr), (mp_obj_t)&mp_sys_stderr_obj },
diff --git a/py/mpconfig.h b/py/mpconfig.h
index 5104f39..853d475 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -131,7 +131,16 @@
 #endif
 
 /*****************************************************************************/
-/* Fine control over Python features                                         */
+/* Optimisations                                                             */
+
+// Whether to use computed gotos in the VM, or a switch
+// Computed gotos are roughly 10% faster, and increase VM code size by a little
+#ifndef MICROPY_OPT_COMPUTED_GOTO
+#define MICROPY_OPT_COMPUTED_GOTO (0)
+#endif
+
+/*****************************************************************************/
+/* Python internal features                                                  */
 
 // Whether to include the garbage collector
 #ifndef MICROPY_ENABLE_GC
@@ -209,75 +218,6 @@
 #define MICROPY_ENABLE_FLOAT (0)
 #endif
 
-// Whether to provide "collections" module
-#ifndef MICROPY_ENABLE_MOD_COLLECTIONS
-#define MICROPY_ENABLE_MOD_COLLECTIONS (1)
-#endif
-
-// Whether to provide "math" module
-#ifndef MICROPY_ENABLE_MOD_MATH
-#define MICROPY_ENABLE_MOD_MATH (1)
-#endif
-
-// Whether to provide "cmath" module
-#ifndef MICROPY_ENABLE_MOD_CMATH
-#define MICROPY_ENABLE_MOD_CMATH (0)
-#endif
-
-// Whether to provide "gc" module
-#ifndef MICROPY_ENABLE_MOD_GC
-#define MICROPY_ENABLE_MOD_GC (1)
-#endif
-
-// Whether to provide "io" module
-#ifndef MICROPY_ENABLE_MOD_IO
-#define MICROPY_ENABLE_MOD_IO (1)
-#endif
-
-#ifndef MICROPY_MOD_IO_FILEIO
-#define MICROPY_MOD_IO_FILEIO (0)
-#endif
-
-#ifndef MICROPY_IO_BYTESIO
-#define MICROPY_IO_BYTESIO (1)
-#endif
-
-// Whether to provide "struct" module
-#ifndef MICROPY_ENABLE_MOD_STRUCT
-#define MICROPY_ENABLE_MOD_STRUCT (1)
-#endif
-
-// Whether to provide "sys" module
-#ifndef MICROPY_ENABLE_MOD_SYS
-#define MICROPY_ENABLE_MOD_SYS (1)
-#endif
-
-// sys.exit() availability
-#ifndef MICROPY_MOD_SYS_EXIT
-#define MICROPY_MOD_SYS_EXIT (0)
-#endif
-
-// sys.{stdin,stdout,stderr} availability
-#ifndef MICROPY_MOD_SYS_STDFILES
-#define MICROPY_MOD_SYS_STDFILES (0)
-#endif
-
-// Whether to support slice object and correspondingly
-// slice subscript operators
-#ifndef MICROPY_ENABLE_SLICE
-#define MICROPY_ENABLE_SLICE (1)
-#endif
-
-// Whether to support frozenset object
-#ifndef MICROPY_ENABLE_FROZENSET
-#define MICROPY_ENABLE_FROZENSET (0)
-#endif
-
-// Whether to support the property object
-#ifndef MICROPY_ENABLE_PROPERTY
-#define MICROPY_ENABLE_PROPERTY (1)
-#endif
-
 // Enable features which improve CPython compatibility
 // but may lead to more code size/memory usage.
 // TODO: Originally intended as generic category to not
@@ -291,10 +231,78 @@
 #define MICROPY_STREAMS_NON_BLOCK (0)
 #endif
 
-// Whether to use computed gotos in the VM, or a switch
-// Computed gotos are roughly 10% faster, and increase VM code size by a little
-#ifndef MICROPY_OPT_COMPUTED_GOTO
-#define MICROPY_OPT_COMPUTED_GOTO (0)
+/*****************************************************************************/
+/* Fine control over Python builtins, classes, modules, etc                  */
+
+// Whether to support slice object and correspondingly
+// slice subscript operators
+#ifndef MICROPY_PY_SLICE
+#define MICROPY_PY_SLICE (1)
+#endif
+
+// Whether to support frozenset object
+#ifndef MICROPY_PY_FROZENSET
+#define MICROPY_PY_FROZENSET (0)
+#endif
+
+// Whether to support the property object
+#ifndef MICROPY_PY_PROPERTY
+#define MICROPY_PY_PROPERTY (1)
+#endif
+
+// Whether to provide "collections" module
+#ifndef MICROPY_PY_COLLECTIONS
+#define MICROPY_PY_COLLECTIONS (1)
+#endif
+
+// Whether to provide "math" module
+#ifndef MICROPY_PY_MATH
+#define MICROPY_PY_MATH (1)
+#endif
+
+// Whether to provide "cmath" module
+#ifndef MICROPY_PY_CMATH
+#define MICROPY_PY_CMATH (0)
+#endif
+
+// Whether to provide "gc" module
+#ifndef MICROPY_PY_GC
+#define MICROPY_PY_GC (1)
+#endif
+
+// Whether to provide "io" module
+#ifndef MICROPY_PY_IO
+#define MICROPY_PY_IO (1)
+#endif
+
+// Whether to provide "io.FileIO" class
+#ifndef MICROPY_PY_IO_FILEIO
+#define MICROPY_PY_IO_FILEIO (0)
+#endif
+
+// Whether to provide "io.BytesIO" class
+#ifndef MICROPY_PY_IO_BYTESIO
+#define MICROPY_PY_IO_BYTESIO (1)
+#endif
+
+// Whether to provide "struct" module
+#ifndef MICROPY_PY_STRUCT
+#define MICROPY_PY_STRUCT (1)
+#endif
+
+// Whether to provide "sys" module
+#ifndef MICROPY_PY_SYS
+#define MICROPY_PY_SYS (1)
+#endif
+
+// Whether to provide "sys.exit" function
+#ifndef MICROPY_PY_SYS_EXIT
+#define MICROPY_PY_SYS_EXIT (0)
+#endif
+
+// Whether to provide sys.{stdin,stdout,stderr} objects
+#ifndef MICROPY_PY_SYS_STDFILES
+#define MICROPY_PY_SYS_STDFILES (0)
 #endif
 
 /*****************************************************************************/
diff --git a/py/objlist.c b/py/objlist.c
index ee74926..7a15006 100644
--- a/py/objlist.c
+++ b/py/objlist.c
@@ -150,7 +150,7 @@
 STATIC mp_obj_t list_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
     if (value == MP_OBJ_NULL) {
         // delete
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
         if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
             mp_obj_list_t *self = self_in;
             machine_uint_t start, stop;
@@ -174,7 +174,7 @@
     } else if (value == MP_OBJ_SENTINEL) {
         // load
         mp_obj_list_t *self = self_in;
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
         if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
             machine_uint_t start, stop;
             if (!mp_seq_get_fast_slice_indexes(self->len, index, &start, &stop)) {
@@ -188,7 +188,7 @@
         uint index_val = mp_get_index(self->base.type, self->len, index, false);
         return self->items[index_val];
     } else {
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
         if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
             mp_obj_list_t *self = self_in;
             assert(MP_OBJ_IS_TYPE(value, &mp_type_list));
diff --git a/py/objnamedtuple.c b/py/objnamedtuple.c
index a55dd64..6f228a8 100644
--- a/py/objnamedtuple.c
+++ b/py/objnamedtuple.c
@@ -34,7 +34,7 @@
 #include "obj.h"
 #include "objtuple.h"
 
-#if MICROPY_ENABLE_MOD_COLLECTIONS
+#if MICROPY_PY_COLLECTIONS
 
 typedef struct _mp_obj_namedtuple_type_t {
     mp_obj_type_t base;
@@ -174,4 +174,4 @@
 }
 MP_DEFINE_CONST_FUN_OBJ_2(mp_namedtuple_obj, new_namedtuple_type);
 
-#endif // MICROPY_ENABLE_MOD_COLLECTIONS
+#endif // MICROPY_PY_COLLECTIONS
diff --git a/py/objproperty.c b/py/objproperty.c
index b4f2e7d..147a755 100644
--- a/py/objproperty.c
+++ b/py/objproperty.c
@@ -34,7 +34,7 @@
 #include "obj.h"
 #include "runtime.h"
 
-#if MICROPY_ENABLE_PROPERTY
+#if MICROPY_PY_PROPERTY
 
 typedef struct _mp_obj_property_t {
     mp_obj_base_t base;
@@ -115,4 +115,4 @@
     return self->proxy;
 }
 
-#endif // MICROPY_ENABLE_PROPERTY
+#endif // MICROPY_PY_PROPERTY
diff --git a/py/objset.c b/py/objset.c
index 32c194d..6a6a375 100644
--- a/py/objset.c
+++ b/py/objset.c
@@ -52,13 +52,13 @@
 
 STATIC bool is_set_or_frozenset(mp_obj_t o) {
     return MP_OBJ_IS_TYPE(o, &mp_type_set)
-#if MICROPY_ENABLE_FROZENSET
+#if MICROPY_PY_FROZENSET
         || MP_OBJ_IS_TYPE(o, &mp_type_frozenset)
 #endif
     ;
 }
 
-#if MICROPY_ENABLE_FROZENSET
+#if MICROPY_PY_FROZENSET
 STATIC void check_set_or_frozenset(mp_obj_t o) {
     if (!is_set_or_frozenset(o)) {
         nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "'set' object required"));
@@ -72,7 +72,7 @@
     if (!MP_OBJ_IS_TYPE(o, &mp_type_set)) {
         // Emulate CPython behavior
         // AttributeError: 'frozenset' object has no attribute 'add'
-        #if MICROPY_ENABLE_FROZENSET
+        #if MICROPY_PY_FROZENSET
         if (MP_OBJ_IS_TYPE(o, &mp_type_frozenset)) {
             nlr_raise(mp_obj_new_exception_msg(&mp_type_AttributeError, "'frozenset' has no such attribute"));
         }
@@ -83,11 +83,11 @@
 
 STATIC void set_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) {
     mp_obj_set_t *self = self_in;
-    #if MICROPY_ENABLE_FROZENSET
+    #if MICROPY_PY_FROZENSET
     bool is_frozen = MP_OBJ_IS_TYPE(self_in, &mp_type_frozenset);
     #endif
     if (self->set.used == 0) {
-        #if MICROPY_ENABLE_FROZENSET
+        #if MICROPY_PY_FROZENSET
         if (is_frozen) {
             print(env, "frozen");
         }
@@ -96,7 +96,7 @@
         return;
     }
     bool first = true;
-    #if MICROPY_ENABLE_FROZENSET
+    #if MICROPY_PY_FROZENSET
     if (is_frozen) {
         print(env, "frozenset(");
     }
@@ -112,7 +112,7 @@
         }
     }
     print(env, "}");
-    #if MICROPY_ENABLE_FROZENSET
+    #if MICROPY_PY_FROZENSET
     if (is_frozen) {
         print(env, ")");
     }
@@ -556,7 +556,7 @@
     .locals_dict = (mp_obj_t)&set_locals_dict,
 };
 
-#if MICROPY_ENABLE_FROZENSET
+#if MICROPY_PY_FROZENSET
 const mp_obj_type_t mp_type_frozenset = {
     { &mp_type_type },
     .name = MP_QSTR_frozenset,
diff --git a/py/objslice.c b/py/objslice.c
index a51a65c..8fe65de 100644
--- a/py/objslice.c
+++ b/py/objslice.c
@@ -56,7 +56,7 @@
 /******************************************************************************/
 /* slice object                                                               */
 
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
 
 // TODO: This implements only variant of slice with 2 integer args only.
 // CPython supports 3rd arg (step), plus args can be arbitrary Python objects.
diff --git a/py/objstr.c b/py/objstr.c
index 323f329..4ec1034 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -349,7 +349,7 @@
     GET_STR_DATA_LEN(self_in, self_data, self_len);
     if (value == MP_OBJ_SENTINEL) {
         // load
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
         if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
             machine_uint_t start, stop;
             if (!mp_seq_get_fast_slice_indexes(self_len, index, &start, &stop)) {
diff --git a/py/objstringio.c b/py/objstringio.c
index a1a765f..7a3e0f8 100644
--- a/py/objstringio.c
+++ b/py/objstringio.c
@@ -37,7 +37,7 @@
 #include "stream.h"
 #include "objstr.h"
 
-#if MICROPY_ENABLE_MOD_IO
+#if MICROPY_PY_IO
 
 typedef struct _mp_obj_stringio_t {
     mp_obj_base_t base;
@@ -156,7 +156,7 @@
     .locals_dict = (mp_obj_t)&stringio_locals_dict,
 };
 
-#if MICROPY_IO_BYTESIO
+#if MICROPY_PY_IO_BYTESIO
 const mp_obj_type_t mp_type_bytesio = {
     { &mp_type_type },
     .name = MP_QSTR_BytesIO,
diff --git a/py/objtuple.c b/py/objtuple.c
index 4651537..b56c643 100644
--- a/py/objtuple.c
+++ b/py/objtuple.c
@@ -161,7 +161,7 @@
     if (value == MP_OBJ_SENTINEL) {
         // load
         mp_obj_tuple_t *self = self_in;
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
         if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
             machine_uint_t start, stop;
             if (!mp_seq_get_fast_slice_indexes(self->len, index, &start, &stop)) {
diff --git a/py/objtype.c b/py/objtype.c
index 1d4f908..0561282 100644
--- a/py/objtype.c
+++ b/py/objtype.c
@@ -413,7 +413,7 @@
     mp_obj_class_lookup(self, self->base.type, attr, 0, dest);
     mp_obj_t member = dest[0];
     if (member != MP_OBJ_NULL) {
-#if MICROPY_ENABLE_PROPERTY
+#if MICROPY_PY_PROPERTY
         if (MP_OBJ_IS_TYPE(member, &mp_type_property)) {
             // object member is a property
             // delegate the store to the property
@@ -447,7 +447,7 @@
 STATIC bool instance_store_attr(mp_obj_t self_in, qstr attr, mp_obj_t value) {
     mp_obj_instance_t *self = self_in;
 
-#if MICROPY_ENABLE_PROPERTY
+#if MICROPY_PY_PROPERTY
     // for property, we need to do a lookup first in the class dict
     // this makes all stores slow... how to fix?
     mp_obj_t member[2] = {MP_OBJ_NULL};
diff --git a/py/qstrdefs.h b/py/qstrdefs.h
index 1081d04..1de0989 100644
--- a/py/qstrdefs.h
+++ b/py/qstrdefs.h
@@ -125,7 +125,7 @@
 Q(bytearray)
 Q(bytes)
 Q(callable)
-#if MICROPY_ENABLE_MOD_STRUCT
+#if MICROPY_PY_STRUCT
 Q(calcsize)
 #endif
 Q(chr)
@@ -257,11 +257,11 @@
 Q(module)
 Q(slice)
 
-#if MICROPY_ENABLE_FROZENSET
+#if MICROPY_PY_FROZENSET
 Q(frozenset)
 #endif
 
-#if MICROPY_ENABLE_MOD_MATH || MICROPY_ENABLE_MOD_CMATH
+#if MICROPY_PY_MATH || MICROPY_PY_CMATH
 Q(math)
 Q(e)
 Q(pi)
@@ -305,7 +305,7 @@
 Q(lgamma)
 #endif
 
-#if MICROPY_ENABLE_MOD_CMATH
+#if MICROPY_PY_CMATH
 Q(cmath)
 Q(phase)
 Q(polar)
@@ -331,7 +331,7 @@
 Q(utf-8)
 #endif
 
-#if MICROPY_ENABLE_MOD_SYS
+#if MICROPY_PY_SYS
 Q(argv)
 Q(byteorder)
 Q(big)
@@ -344,13 +344,13 @@
 Q(version_info)
 #endif
 
-#if MICROPY_ENABLE_MOD_STRUCT
+#if MICROPY_PY_STRUCT
 Q(struct)
 Q(pack)
 Q(unpack)
 #endif
 
-#if MICROPY_ENABLE_MOD_IO
+#if MICROPY_PY_IO
 Q(io)
 Q(readall)
 Q(readline)
@@ -362,14 +362,14 @@
 Q(getvalue)
 #endif
 
-#if MICROPY_ENABLE_MOD_GC
+#if MICROPY_PY_GC
 Q(gc)
 Q(collect)
 Q(disable)
 Q(enable)
 #endif
 
-#if MICROPY_ENABLE_PROPERTY
+#if MICROPY_PY_PROPERTY
 Q(property)
 Q(getter)
 Q(setter)
diff --git a/py/showbc.c b/py/showbc.c
index 91b7572..33c59dc 100644
--- a/py/showbc.c
+++ b/py/showbc.c
@@ -419,7 +419,7 @@
                 printf("SET_ADD " UINT_FMT, unum);
                 break;
 
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
             case MP_BC_BUILD_SLICE:
                 DECODE_UINT;
                 printf("BUILD_SLICE " UINT_FMT, unum);
diff --git a/py/vm.c b/py/vm.c
index ee2ec23..1f3f693 100644
--- a/py/vm.c
+++ b/py/vm.c
@@ -762,7 +762,7 @@
                     sp--;
                     DISPATCH();
 
-#if MICROPY_ENABLE_SLICE
+#if MICROPY_PY_SLICE
                 ENTRY(MP_BC_BUILD_SLICE):
                     DECODE_UINT;
                     if (unum == 2) {