aboutsummaryrefslogtreecommitdiff
path: root/unix/mpconfigport.h
AgeCommit message (Collapse)Author
2017-09-06ports: Make new ports/ sub-directory and move all ports there.Damien George
This is to keep the top-level directory clean, to make it clear what is core and what is a port, and to allow the repository to grow with new ports in a sustainable way.
2017-07-31all: Use the name MicroPython consistently in commentsAlexander Steffen
There were several different spellings of MicroPython present in comments, when there should be only one.
2017-06-01unix: Convert to use core-provided version of built-in import().Damien George
2017-05-03py/modio: Implement uio.resource_stream(package, resource_path).Paul Sokolovsky
The with semantics of this function is close to pkg_resources.resource_stream() function from setuptools, which is the canonical way to access non-source files belonging to a package (resources), regardless of what medium the package uses (e.g. individual source files vs zip archive). In the case of MicroPython, this function allows to access resources which are frozen into the executable, besides accessing resources in the file system. This is initial stage of the implementation, which actually doesn't implement "package" part of the semantics, just accesses frozen resources from "root", or filesystem resource - from current dir.
2017-04-22mpy-cross, unix, windows, stmhal: Enable return-if-else optimisation.Damien George
Prior to making this a config option it was previously available on these (and all other) ports, and it makes sense to keep it enabled for mpy-cross as well as ports that have a decent amount of space for the code.
2017-04-11unix, windows: Use core-provided KeyboardInterrupt exception object.Damien George
2017-04-01all: Move BYTES_PER_WORD definition from ports to py/mpconfig.hDamien George
It can still be overwritten by a port in mpconfigport.h but for almost all cases one can use the provided default.
2017-03-31unix: Convert mp_uint_t to size_t in alloc.c.Pavol Rusnak
2017-02-02py: Added optimised support for 3-argument calls to builtin.pow()Nicko van Someren
Updated modbuiltin.c to add conditional support for 3-arg calls to pow() using MICROPY_PY_BUILTINS_POW3 config parameter. Added support in objint_mpz.c for for optimised implementation.
2017-01-30extmod/vfs_fat: Remove MICROPY_FATFS_OO config option.Damien George
Everyone should now be using the new ooFatFs library. The old one is no longer supported and will be removed.
2017-01-30unix/mpconfigport.h: Remove obsolete MICROPY_FATFS_VOLUMES config.Damien George
2017-01-30extmod: Remove MICROPY_FSUSERMOUNT and related files.Damien George
Replaced by MICROPY_VFS and the VFS sub-system.
2017-01-27unix: Change to use new generic VFS sub-system in coverage build.Damien George
This patch includes a new module "uos_vfs" which can be used for testing the VFS syb-system.
2017-01-27unix: Switch to OO version of FatFS library.Damien George
2016-12-22unix: Enable utimeq module.Paul Sokolovsky
2016-11-21unix: Rename define for unix moduselect to MICROPY_PY_USELECT_POSIX.Paul Sokolovsky
To not conflict with recently made available globally baremetal moduselect.
2016-11-16py: Factor out persistent-code reader into separate files.Damien George
Implementations of persistent-code reader are provided for POSIX systems and systems using FatFS. Macros to use these are MICROPY_READER_POSIX and MICROPY_READER_FATFS respectively. If an alternative implementation is needed then a port can define the function mp_reader_new_file.
2016-10-29unix/modtime: Use ticks_diff() implementation from extmod/utime_mphal.c.Paul Sokolovsky
2016-08-24extmod/modubinascii: Make crc32() support configurable.Paul Sokolovsky
Disable by default, enable in unix port.
2016-08-15ports: Remove typedef of machine_ptr_t, it's no longer needed.Damien George
This type was used only for the typedef of mp_obj_t, which is now defined by the object representation. So we can now remove this unused typedef, to simplify the mpconfigport.h file.
2016-08-10unix/mpconfigport.h: Don't include stdio.h on MacOS.ilovezfs
Fixes build errors such as "../lib/utils/printf.c:43:5: error: expected parameter declarator"
2016-08-07py/objstr: Make .partition()/.rpartition() methods configurable.Paul Sokolovsky
Default is disabled, enabled for unix port. Saves 600 bytes on x86.
2016-08-06unix: Enable websocket module.Paul Sokolovsky
2016-07-30py/mpconfig.h: Add MICROPY_STREAMS_POSIX_API setting.Paul Sokolovsky
To filter out even prototypes of mp_stream_posix_*() functions, which require POSIX types like ssize_t & off_t, which may be not available in some ports.
2016-07-26unix/mpconfigport.h: Include stdio.h by default.Paul Sokolovsky
This allows to use printf() in a any source file with unix port, for quick debugging.
2016-07-22unix: Enable MICROPY_PY_STR_BYTES_CMP_WARN.Paul Sokolovsky
Also, fix a warning text (remove "duplicate" BytesWarning).
2016-07-13extmod/modussl_axtls: Further changes to allow alternative SSL modules.Paul Sokolovsky
Make variable MICROPY_SSL_AXTLS=1 should be defined to activate modussl_axtls and link with -laxtls.
2016-06-19unix/modmachine: Enable time_pulse_us() function.Paul Sokolovsky
2016-06-18unix: Disable FatFs VFS for normal build, keep enabled for coverage.Paul Sokolovsky
It's enabled mostly for unit testing, and we do that in full with coverage build.
2016-06-18unix/alloc: Add option to use uPy's alloc-exec implementation even for libffi.Paul Sokolovsky
When built for Linux, libffi includes very bloated and workaround exec-alloc implementation required to work around SELinux and other "sekuritee" features which real people don't use. MicroPython has own alloc-exec implementation, used to alloc memory for @micropython.native code. With this option enabled, uPy's implementation will override libffi's. This saves 11K on x86_64 (and that accounts for more than half of the libffi code size). TODO: Possibly, we want to refactor this option to allow either use uPy's implementation even for libffi, or allow to use libffi's implementation even for uPy.
2016-06-17unix: Move "utime" module config to C level instead of make level.Paul Sokolovsky
2016-06-15py/mpconfig.h: MP_NOINLINE is universally useful, move from unix port.Paul Sokolovsky
2016-05-22py/objstr: Implement str.center().Paul Sokolovsky
Disabled by default, enabled in unix port. Need for this method easily pops up when working with text UI/reporting, and coding workalike manually again and again counter-productive.
2016-05-16unix: Add ability to include frozen bytecode in the build.Damien George
To use frozen bytecode make a subdirectory under the unix/ directory (eg frozen/), put .py files there, then run: make FROZEN_MPY_DIR=frozen Be sure to build from scratch. The .py files will then be available for importing.
2016-05-10unix: Enable uerrno module.Damien George
2016-04-15py: Declare help, input, open builtins in core.Paul Sokolovsky
These are *defined* per-port, but why redeclare them again and again.
2016-04-13py: Add ability to have frozen persistent bytecode from .mpy files.Damien George
The config variable MICROPY_MODULE_FROZEN is now made of two separate parts: MICROPY_MODULE_FROZEN_STR and MICROPY_MODULE_FROZEN_MPY. This allows to have none, either or both of frozen strings and frozen mpy files (aka frozen bytecode).
2016-04-13lib/utils/printf: Rework overriding printer of DEBUG_printf().Paul Sokolovsky
By default it uses mp_plat_print, but a port may override it to another value with MICROPY_DEBUG_PRINTER_DEST.
2016-04-11unix: Build with MICROPY_PY_UHASHLIB_SHA1 if already building with axTLS.Paul Sokolovsky
2016-02-25unix: Enabled importing of persistent bytecode (.mpy files).Damien George
2016-02-15py/mpstate.h: fs_user_mount is now standard, reusable uPy functionality.Paul Sokolovsky
2016-02-14unix: Enable VfsFat support.Paul Sokolovsky
2016-01-29py/runtime: mp_stack_ctrl_init() should be called immediately on startup.Paul Sokolovsky
Calling it from mp_init() is too late for some ports (like Unix), and leads to incomplete stack frame being captured, with following GC issues. So, now each port should call mp_stack_ctrl_init() on its own, ASAP after startup, and taking special precautions so it really was called before stack variables get allocated (because if such variable with a pointer is missed, it may lead to over-collecting (typical symptom is segfaulting)).
2016-01-17extmod/modurandom: Add "urandom" module.Paul Sokolovsky
Seedable and reproducible pseudo-random number generator. Implemented functions are getrandbits(n) (n <= 32) and seed(). The algorithm used is Yasmarang by Ilya Levin: http://www.literatecode.com/yasmarang
2016-01-15unix: Add option to build 64-bit NaN-boxing interpreter.Damien George
Build using: make nanbox
2016-01-01extmod/moduos_dupterm: Make mp_uos_dupterm_tx_strn() function reusable.Paul Sokolovsky
Function to actually spool output terminal data to dupterm object.
2016-01-01py: Clean up instantiation of dupterm object.Paul Sokolovsky
To comply with already established scheme for extmod's.
2016-01-01py/mpconfig: Make configuration of dupterm object reusable.Paul Sokolovsky
2015-12-28unix: Implement uos.dupterm(). Conditional on MICROPY_PY_OS_DUPTERM.Paul Sokolovsky
2015-12-23unix/unix_mphal: Raise KeyboardInterrupt straight from signal handler.Paul Sokolovsky
POSIX doesn't guarantee something like that to work, but it works on any system with careful signal implementation. Roughly, the requirement is that signal handler is executed in the context of the process, its main thread, etc. This is true for Linux. Also tested to work without issues on MacOSX.