From deaeaac4691a0a89343354045360a2e7eb5bbab3 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 10 May 2014 17:26:47 +0300 Subject: [PATCH] modsys: Enable sys.exit() per port after all. --- py/modsys.c | 2 ++ py/mpconfig.h | 5 +++++ stmhal/mpconfigport.h | 1 + unix/mpconfigport.h | 1 + 4 files changed, 9 insertions(+) diff --git a/py/modsys.c b/py/modsys.c index f2b87a68cf..d133d6b278 100644 --- a/py/modsys.c +++ b/py/modsys.c @@ -55,8 +55,10 @@ STATIC const MP_DEFINE_STR_OBJ(version_obj, "3.4.0"); STATIC const mp_map_elem_t mp_module_sys_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_sys) }, +#if MICROPY_SYS_EXIT // Should be implemented by port { MP_OBJ_NEW_QSTR(MP_QSTR_exit), (mp_obj_t)&mp_sys_exit_obj }, +#endif { MP_OBJ_NEW_QSTR(MP_QSTR_path), (mp_obj_t)&mp_sys_path_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_argv), (mp_obj_t)&mp_sys_argv_obj }, diff --git a/py/mpconfig.h b/py/mpconfig.h index 2711318d1f..73ecc92d16 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -229,6 +229,11 @@ typedef double mp_float_t; #define MICROPY_MOD_SYS_STDFILES (0) #endif +// sys.exit() availability +#ifndef MICROPY_SYS_EXIT +#define MICROPY_SYS_EXIT (0) +#endif + // Whether to support slice object and correspondingly // slice subscript operators #ifndef MICROPY_ENABLE_SLICE diff --git a/stmhal/mpconfigport.h b/stmhal/mpconfigport.h index 0a99128bf0..43ef27f874 100644 --- a/stmhal/mpconfigport.h +++ b/stmhal/mpconfigport.h @@ -45,6 +45,7 @@ #define MICROPY_ENABLE_LFN (1) #define MICROPY_LFN_CODE_PAGE (437) /* 1=SFN/ANSI 437=LFN/U.S.(OEM) */ #define MICROPY_MOD_SYS_STDFILES (1) +#define MICROPY_SYS_EXIT (1) #define MICROPY_ENABLE_MOD_CMATH (1) // extra built in names to add to the global namespace diff --git a/unix/mpconfigport.h b/unix/mpconfigport.h index ba95349a6e..38bb979c92 100644 --- a/unix/mpconfigport.h +++ b/unix/mpconfigport.h @@ -44,6 +44,7 @@ #define MICROPY_USE_COMPUTED_GOTO (1) #define MICROPY_MOD_SYS_STDFILES (1) #define MICROPY_ENABLE_MOD_CMATH (1) +#define MICROPY_SYS_EXIT (1) // Define to MICROPY_ERROR_REPORTING_DETAILED to get function, etc. // names in exception messages (may require more RAM). #define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_DETAILED)