| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
| |
SA_SIGINFO allows the signal handler to access more information about
the signal, especially useful in a threaded environment. The extra
information is not currently used but it may prove useful in the future.
|
|
|
|
|
| |
This patch allows any given thread to do a proper garbage collection and
scan all the pointers of all active threads.
|
|
|
|
| |
As per PEP-475.
|
| |
|
| |
|
|
|
|
| |
Has the ability to create new threads.
|
| |
|
|
|
|
|
|
|
|
|
| |
The linker flag --gc-sections is not available on the linker used on
Mac OS X which results in an error when linking micropython on Mac OS X.
Therefore move this option to the LDFLAGS_ARCH variable on non Darwin
systems. According to http://stackoverflow.com/a/17710056 the equivalent
to --gc-sections is -dead_strip thus this option is used for the
LDFLAGS_ARCH on Darwin systems.
|
| |
|
| |
|
|
|
|
|
| |
It's now used for more than just stream protocol (e.g. pin protocol), so
don't use false names.
|
|
|
|
|
| |
It's enabled mostly for unit testing, and we do that in full with coverage
build.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Also try to use -fno-exceptions. Other options taken from libffi's configure
defaults.
|
| |
|
|
|
|
|
|
|
| |
This actually saves "only" 6K for x86_64 build, as we're still more or less
careful to #ifdef unneeded code. But relying on --gc-sections in a "lazy"
manner would allow to make #ifdef'ing less pervasive (not suggested right
away, but an option for the future).
|
|
|
|
|
|
|
|
|
|
|
|
| |
MicroPython own readline implementation is superior now by providing
automatic indentation and completion (completion for GNU Readline was
never implemented). MICROPY_USE_READLINE=2 also wasn't build for a long
time and probably broken.
If GNU Readline is still beneficial for some cases, it can be achieved
with external wrappers like "rlwrap" (there will be the same level of
functionality, as again, there never was deep integration, like completion
support).
|
|
|
|
| |
TODO: Do the same for other config files.
|
|
|
|
| |
Was broken since introduction of FatFs support.
|
| |
|
|
|
|
|
|
| |
The call to stat() returns a 10 element tuple consistent to the os.stat()
call. At the moment, the only relevant information returned are file
type and file size.
|
|
|
|
|
| |
Try to emulate "you can build without reading instructions" behavior as far
as possible.
|
|
|
|
|
|
|
| |
Avoid using system libraries, use copies bundled with MicroPython as
submodules (currently affects only libffi, other dependencies either
already used as bundled-only (axtls), or can't be bundled (so far),
like libjni).
|
|
|
|
|
| |
ussl was in testing mode for 8 months, and now enabled in other ports
(e.g. esp8266), so time for unix port to catch up.
|
| |
|
|
|
|
|
|
| |
To use, put your directory structure with .py files in frozen/ and then:
make FROZEN_MPY_DIR=frozen
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Similar to existing mp_hal_ticks_ms().
|
|
|
|
|
| |
This allows to enable the options which aren't enabled in the normal unix
config (as unix port is no longer an enable-all port).
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The current install command uses the flag -D which is specific to the
install command from GNU coreutils, but isn't available for the BSD
version. This solution uses the -d flag which should be commonly
available to create the target directory. Afterwards the target files
are installed to this directory seperately.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add template rule that converts a specified source file into a qstring file
- add special rule for generating a central header that contains all
extracted/autogenerated strings - defined by QSTR_DEFS_COLLECTED
variable. Each platform appends a list of sources that may contain
qstrings into a new build variable: SRC_QSTR. Any autogenerated
prerequisities are should be appened to SRC_QSTR_AUTO_DEPS variable.
- remove most qstrings from py/qstrdefs, keep only qstrings that
contain special characters - these cannot be easily detected in the
sources without additional annotations
- remove most manual qstrdefs, use qstrdef autogen for: py, cc3200,
stmhal, teensy, unix, windows, pic16bit:
- remove all micropython generic qstrdefs except for the special strings that contain special characters (e.g. /,+,<,> etc.)
- remove all port specific qstrdefs except for special strings
- append sources for qstr generation in platform makefiles (SRC_QSTR)
|
|
|
|
| |
These are *defined* per-port, but why redeclare them again and again.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
By default it uses mp_plat_print, but a port may override it to another
value with MICROPY_DEBUG_PRINTER_DEST.
|
| |
|
|
|
|
| |
After this you need only one path for build (path/to/djgpp/bin). Original patch made by @dhylands
|
| |
|
| |
|
|
|
|
|
| |
And with "buffering" arg introduced, it's non possible to make it
non-kwonly.
|
|
|
|
|
| |
It's ignored (unbuffered, raw I/O is used), but least makes it compatible
with CPython.
|
| |
|
|
|
|
|
|
|
| |
See https://github.com/micropython/micropython/issues/1736 for the
list of complications. This workaround instead of duplicating REPL
to another stream, switches to it, because read(STDIN) we use otherwise
is blocking call, so it and custom REPL stream can't be used together.
|
| |
|