From 2d11b174192e77c46df2849647a3ae661d885852 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Sun, 13 Dec 2015 08:47:00 +0200
Subject: [PATCH] unix/moduselect: Make configurable with MICROPY_PY_USELECT.

---
 unix/moduselect.c   |  6 ++++++
 unix/mpconfigport.h | 10 +++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/unix/moduselect.c b/unix/moduselect.c
index 6a01325a1..537bd4796 100644
--- a/unix/moduselect.c
+++ b/unix/moduselect.c
@@ -25,6 +25,10 @@
  * THE SOFTWARE.
  */
 
+#include "py/mpconfig.h"
+
+#if MICROPY_PY_USELECT
+
 #include <stdio.h>
 #include <errno.h>
 #include <poll.h>
@@ -212,3 +216,5 @@ const mp_obj_module_t mp_module_uselect = {
     .name = MP_QSTR_uselect,
     .globals = (mp_obj_dict_t*)&mp_module_select_globals,
 };
+
+#endif // MICROPY_PY_USELECT
diff --git a/unix/mpconfigport.h b/unix/mpconfigport.h
index 5161066c0..ad75f5287 100644
--- a/unix/mpconfigport.h
+++ b/unix/mpconfigport.h
@@ -104,6 +104,9 @@
 #define MICROPY_PY_UHEAPQ           (1)
 #define MICROPY_PY_UHASHLIB         (1)
 #define MICROPY_PY_UBINASCII        (1)
+#ifndef MICROPY_PY_USELECT
+#define MICROPY_PY_USELECT          (1)
+#endif
 #define MICROPY_PY_MACHINE          (1)
 
 // Define to MICROPY_ERROR_REPORTING_DETAILED to get function, etc.
@@ -158,6 +161,11 @@ extern const struct _mp_obj_module_t mp_module_jni;
 #else
 #define MICROPY_PY_SOCKET_DEF
 #endif
+#if MICROPY_PY_USELECT
+#define MICROPY_PY_USELECT_DEF { MP_ROM_QSTR(MP_QSTR_uselect), MP_ROM_PTR(&mp_module_uselect) },
+#else
+#define MICROPY_PY_USELECT_DEF
+#endif
 
 #define MICROPY_PORT_BUILTIN_MODULES \
     MICROPY_PY_FFI_DEF \
@@ -166,7 +174,7 @@ extern const struct _mp_obj_module_t mp_module_jni;
     MICROPY_PY_SOCKET_DEF \
     { MP_ROM_QSTR(MP_QSTR_machine), MP_ROM_PTR(&mp_module_machine) }, \
     { MP_ROM_QSTR(MP_QSTR_uos), MP_ROM_PTR(&mp_module_os) }, \
-    { MP_ROM_QSTR(MP_QSTR_uselect), MP_ROM_PTR(&mp_module_uselect) }, \
+    MICROPY_PY_USELECT_DEF \
     MICROPY_PY_TERMIOS_DEF \
 
 // type definitions for the specific machine
-- 
GitLab