summaryrefslogtreecommitdiff
path: root/unix/Makefile
AgeCommit message (Collapse)Author
2017-08-11all: Make use of $(TOP) variable in Makefiles, instead of "..".Damien George
$(TOP) is defined in py/mkenv.mk and should be used to refer to the top level of this repository.
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-07-12unix/Makefile: Disable assertions in the standard unix executable.Damien George
Reasons to disable: - the code is relatively robust so doesn't need full checking in the main executable, and the coverage build is used for full testing with assertions still enabled; - reduces code size noticeably, by 27k for x86-64 and 20k for x86; - allows to more easily track changes in code size, since assertions can skew things.
2017-06-08unix/Makefile: replace references to make with $(MAKE)Tamas TEVESZ
make is not always GNU make; the latter may go by different names. This helps builds on systems where the default make is not GNU make.
2017-05-29various: Spelling fixesVille Skyttä
2017-05-26unix/Makefile: Don't add frozen bytecode to minimal build.Damien George
2017-05-12unix/Makefile: Enable frozen bytecode modules dir.Paul Sokolovsky
2017-04-26unix: Remove obsolete MICROPY_FATFS macro.Damien George
It doesn't do anything. The VFS feature is controlled by MICROPY_VFS and the FatFS driver, by MICROPY_VFS_FAT (which are set in mpconfigport.h).
2017-03-31all: Use full path name when including mp-readline/timeutils/netutils.Damien George
This follows the pattern of how all other headers are now included, and makes it explicit where the header file comes from. This patch also removes -I options from Makefile's that specify the mp-readline/timeutils/ netutils directories, which are no longer needed.
2017-03-23all/Makefile: Remove -ansi from GCC flags, its ignored anyway.Krzysztof Blazewicz
The -ansi flag is used for C dialect selection and it is equivalent to -std=c90. Because it goes right before -std=gnu99 it is ignored as for conflicting flags GCC always uses the last one.
2017-02-06unix: Fix freedos port build problems.Nikita Melentev
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
2017-01-05unix/Makefile: Allow cache-map-lookup optimisation with frozen bytecode.Damien George
2017-01-05unix: Enable and add basic frozen str and frozen mpy in coverage build.Damien George
2017-01-05unix/Makefile: Split long line for coverage target, easier to modify.Damien George
2016-12-22unix/Makefile: Make "coverage_test" target mirror Travis test actions.Damien George
2016-11-21unix/Makefile: Update freedos target for change of USELECT config name.Damien George
2016-11-08py: Move frozen bytecode Makefile rules from ports to common mk files.Damien George
Now, to use frozen bytecode all a port needs to do is define FROZEN_MPY_DIR to the directory containing the .py files to freeze, and define MICROPY_MODULE_FROZEN_MPY and MICROPY_QSTR_EXTRA_POOL.
2016-11-07tools, unix: Replace upip tarball with just source files.Paul Sokolovsky
To make its inclusion as frozen modules in multiple ports less magic. Ports are just expected to symlink 2 files into their scripts/modules subdirs. Unix port updated to use this and in general follow frozen modules setup tested and tried on baremetal ports, where there's "scripts" predefined dir (overridable with FROZEN_DIR make var), and a user just drops Python files there.
2016-11-02unix: fix symbol references for x86 MacJan Pochyla
2016-10-25unix/Makefile: Remove references to deprecated pip-micropython.Paul Sokolovsky
2016-10-16esp8266, stmhal, unix: MAKE_FROZEN is consistently defined in mkenv.mk.Paul Sokolovsky
2016-09-22unix: Enable btree module for coverage build.Damien George
2016-09-05unix,stmhal,esp8266: When find'ing frozen files follow symbolic links.Damien George
It's useful to be able to use symbolic links to add files and directories to the set of scripts to be frozen.
2016-09-05py: Add MICROPY_USE_INTERNAL_PRINTF option, defaults to enabled.Delio Brignoli
This new config option allows to control whether MicroPython uses its own internal printf or not (if not, an external one should be linked in). Accompanying this new option is the inclusion of lib/utils/printf.c in the core list of source files, so that ports no longer need to include it themselves.
2016-08-31unix,stmhal,esp8266: When find'ing frozen files don't use extra slash.Damien George
This extra forward slash for the starting-point directory is unnecessary and leads to additional slashes on Max OS X which mean that the frozen files cannot be imported. Fixes #2374.
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