aboutsummaryrefslogtreecommitdiff
path: root/unix/Makefile
AgeCommit message (Collapse)Author
2016-07-31unix/Makefile: And note why btree module is disabled for coverage build.Paul Sokolovsky
2016-07-16unix: Cache libaxtls.a in local build dir.Paul Sokolovsky
Allows to build the library variant for other ports in parallel.
2016-07-09unix: Disable the GIL to improve performance of non-thread code.Damien George
Threading support is still very new so stay conservative at this point and enable threading without the GIL. This requires users to protect concurrent access of mutatable Python objects (eg lists) with locks at the Python level (something you should probably do anyway). The advantage is that there is less of a performance hit for non-threaded code, because the VM does not need to constantly release/acquire the GIL. In the future the GIL will be made more efficient. There is also room to improve the efficiency of non-GIL code by not using mutex's if there is only one thread active.
2016-07-03unix/Makefile: Make "minimal" build be minimal again.Paul Sokolovsky
2016-07-02unix: Enable btree module.Paul Sokolovsky
But disable it for coverage build, as its extra warninsg aren't compatible with K&R C BerkeleyDB uses.
2016-06-28unix: Add basic thread support using pthreads.Damien George
Has the ability to create new threads.
2016-06-27unix: Fix Makefile to handle gc-sections linker flags on Mac OS.Martin Müller
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.
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/Makefile: libffi: Build with -Os.Paul Sokolovsky
Also try to use -fno-exceptions. Other options taken from libffi's configure defaults.
2016-06-17unix: Move "utime" module config to C level instead of make level.Paul Sokolovsky
2016-06-17unix: Time to build with --gc-sections.Paul Sokolovsky
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).
2016-06-16unix: Deprecate support for GNU Readline (MICROPY_USE_READLINE=2).Paul Sokolovsky
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).
2016-06-16unix: Unbreak "minimal" target by disabling FatFs.Paul Sokolovsky
Was broken since introduction of FatFs support.
2016-05-31extmod/vfs_fat.c: Add vfs.stat().Robert HH
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.
2016-05-28unix/Makefile: "make axtls": Automatically fetch submodules if missing.Paul Sokolovsky
Try to emulate "you can build without reading instructions" behavior as far as possible.
2016-05-26unix/Makefile: nanbox build is not compatible with modussl, disable.Paul Sokolovsky
2016-05-23unix: Support frozen packages.Damien George
To use, put your directory structure with .py files in frozen/ and then: make FROZEN_MPY_DIR=frozen
2016-05-18unix/mpconfigport_coverage.h: Add dedicated config file for coverage build.Paul Sokolovsky
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).
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-04-28unix/Makefile: Make install more compatible (BSD, etc.).Martin Müller
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.
2016-04-19unix: Make sure build dir exists before accessing it for freezing upip.Paul Sokolovsky
2016-04-16py: Add rules for automated extraction of qstrs from sources.Jan Čapek
- 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)
2016-04-08unix: freedos strip and size names for binariespohmelie
After this you need only one path for build (path/to/djgpp/bin). Original patch made by @dhylands
2016-02-15extmod/vfs_fat_ffconf: Reusable FatFs module, move from stmhal/ffconf.Paul Sokolovsky
TODO: Probably merge into vfs_fat_diskio.
2016-02-15extmod/vfs_fat_file: Reusable FatFs module, move from stmhal/file.Paul Sokolovsky
2016-02-15extmod/vfs_fat_diskio: Reusable FatFs module, move from stmhal/diskio.Paul Sokolovsky
2016-02-14unix: Enable VfsFat support.Paul Sokolovsky
2016-01-28lib/utils/printf: Fix printf on release buildsDave Hylands
When using newer glibc's the compiler automatically sets _FORTIFY_SOURCE when building with -O1 and this causes a special inlined version of printf to be declared which then bypasses our version of printf.
2016-01-26extmod/modurandom: Add some extra random functions.Damien George
Functions added are: - randint - randrange - choice - random - uniform They are enabled with configuration variable MICROPY_PY_URANDOM_EXTRA_FUNCS, which is disabled by default. It is enabled for unix coverage build and stmhal.
2016-01-15unix/modffi: Allow to compile modffi in OBJ_REPR_D mode.Damien George
2016-01-15unix: Add option to build 64-bit NaN-boxing interpreter.Damien George
Build using: make nanbox
2016-01-02unix/Makefile: Move include of mpconfigport.mk to before mkenv.mk.Damien George
So that if MICROPY_FORCE_32BIT is set mpconfigport.mk it influences mkenv.mk.
2015-12-16unix: Add FreeDos targetpohmelie
2015-12-13unix: Move modmachine into unix directoryDave Hylands
This leaves behind the common functionality in extmod/machine_mem.c which can be used by all ports.
2015-11-22unix: Use printf() implementation in terms of mp_printf().Paul Sokolovsky
In other words, unix port now uses overriden printf(), instead of using libc's. This should remove almost all dependency on libc stdio (which is bloated).
2015-11-17unix: Add "uselect" module, with poll() function.Paul Sokolovsky
Underlyingly, uses standard POSIX poll() for portability.
2015-10-19libffi: Skip building docs.Paul Sokolovsky
This requires makeinfo installed and wastes time (especially in CI).
2015-10-19all: Make netutils.h available to all ports by default.Paul Sokolovsky
Generally, ports should inherit INC from py.mk, append to it, not overwrite it. TODO: Likely should do the same for other vars too.
2015-10-18unix: Build libffi in a directory which is gitgnored.Paul Sokolovsky
To avoid "-dirty" version previous and spurious "modified" output from git status, etc.
2015-10-04unix: Add support for building axtls dependency lib.Paul Sokolovsky
2015-09-11unix/modjni: "jni" module to interface to JNI-compliant JavaVM.Paul Sokolovsky
This includes Android Dalvik VM for example. Example usage: import jni System = jni.cls("java/lang/System") System.out.println("Hello, Java!")
2015-08-30unix: Allow to build libffi from source and link against it.Paul Sokolovsky
Linking against local libffi (and other libs in future) is triggered by "make MICROPY_STANDALONE=1". Before that, dependent libs should be built with "make deplibs".
2015-08-29py: Treat -m32 flag as part of CC, LD, etc.Paul Sokolovsky
Indeed, this flag efectively selects architecture target, and must consistently apply to all compiles and links, including 3rd-party libraries, unlike CFLAGS, which have MicroPython-specific setting.
2015-06-03unix: Prepare upip frozen modules under build/.Paul Sokolovsky
2015-06-03unix: Uncompress upip tarball to build directory.Paul Sokolovsky
2015-06-02unix: Include upip as fronzen modules inside the standard interpreter.Paul Sokolovsky
MicroPython doesn't come with standard library included, so it is important to be able to easily install needed package in a seamless manner. Bundling package manager (upip) inside an executable solves this issue. upip is bundled only with standard executable, not "minimal" or "fast" builds.
2015-05-30unix: minimal: Don't use readline support.Paul Sokolovsky
After switching to builtin readline support, "minimal" no longer builds, and minimal doesn't really need readline support.
2015-05-27unix: Add option to use uPy readline, and enable by default.Damien George
This gets uPy readline working with unix port, with tab completion and history. GNU readline is still supported, configure using MICROPY_USE_READLINE variable.
2015-05-27unix: Factor out stdio and ctrl-C code to unix_mphal.c file.Damien George
2015-05-08unix: Add special function to improve coverage.Damien George
The function and corresponding command-line option are only enabled for the coverage build. They are used to exercise uPy features that can't be properly tested by Python scripts.