summaryrefslogtreecommitdiffstatshomepage
path: root/windows
Commit message (Collapse)AuthorAge
* all: Make static dicts use mp_rom_map_elem_t type and MP_ROM_xxx macros.Damien George2017-08-21
|
* all: Make use of $(TOP) variable in Makefiles, instead of "..".Damien George2017-08-11
| | | | | $(TOP) is defined in py/mkenv.mk and should be used to refer to the top level of this repository.
* all: Use the name MicroPython consistently in commentsAlexander Steffen2017-07-31
| | | | | There were several different spellings of MicroPython present in comments, when there should be only one.
* all: Remove trailing spaces, per coding conventions.Damien George2017-07-19
|
* all: Unify header guard usage.Alexander Steffen2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code conventions suggest using header guards, but do not define how those should look like and instead point to existing files. However, not all existing files follow the same scheme, sometimes omitting header guards altogether, sometimes using non-standard names, making it easy to accidentally pick a "wrong" example. This commit ensures that all header files of the MicroPython project (that were not simply copied from somewhere else) follow the same pattern, that was already present in the majority of files, especially in the py folder. The rules are as follows. Naming convention: * start with the words MICROPY_INCLUDED * contain the full path to the file * replace special characters with _ In addition, there are no empty lines before #ifndef, between #ifndef and one empty line before #endif. #endif is followed by a comment containing the name of the guard macro. py/grammar.h cannot use header guards by design, since it has to be included multiple times in a single C file. Several other files also do not need header guards as they are only used internally and guaranteed to be included only once: * MICROPY_MPHALPORT_H * mpconfigboard.h * mpconfigport.h * mpthreadport.h * pin_defs_*.h * qstrdefs*.h
* windows: Convert to use core-provided version of built-in import().Damien George2017-06-01
|
* various: Spelling fixesVille Skyttä2017-05-29
|
* msvc: Workaround parser bug in older MSBuild versionsstijn2017-05-03
| | | | | | | | Versions prior to v14.0 have a bug in parsing item functions when used within a condition: https://github.com/Microsoft/msbuild/issues/368. Since commit [db9c2e3] this results in an error when building MicroPython with for example VS2013. Fix this by creating an intermediate property.
* windows/README: Add a note about stack usage for msvcstijn2017-05-01
| | | | | Add information as discussed in #2927 to the readme to make the easier to discover.
* windows/README: Fix some typos and grammarstijn2017-05-01
|
* msvc: Rebuild all qstrs when mpconfig headers are modifiedstijn2017-04-30
| | | | | | | | Make qstr generation depend on modifications in mpconfigport.h, mpconfig.h and makeqstrdata.py and if any of those change scan all source files for qstrs again since they might have changed (for example typcially when enabling new features in mpconfig.h). This fixes #2982 for msvc builds.
* msvc: Do not define DEBUG for debug buildsstijn2017-04-30
| | | | | It is not used anywhere and causes a warning about redefinition because it is used in modutimeq.c
* windows/README: Convert to Markdown.Paul Sokolovsky2017-04-30
|
* mpy-cross, unix, windows, stmhal: Enable return-if-else optimisation.Damien George2017-04-22
| | | | | | 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.
* windows: Bring mpconfigport.h up-to-date with unix portstijn2017-04-21
| | | | | | | Add definitions/source files for features which work on the windows ports but weren't yet enabled. UTIME related lines are moved a couple of lines up to make comparision with unix/mpconfigport.h easier in the future.
* unix, windows: Use core-provided KeyboardInterrupt exception object.Damien George2017-04-11
|
* all: Move BYTES_PER_WORD definition from ports to py/mpconfig.hDamien George2017-04-01
| | | | | It can still be overwritten by a port in mpconfigport.h but for almost all cases one can use the provided default.
* msvc: Remove directory with generated files when cleaning.stijn2017-03-23
| | | | | This assures after cleaning all build artefacts (qstr related files, generated version header) have been removed.
* windows: Make msvc project file support any version from VS2013 to VS2017stijn2017-03-23
| | | | | | | | | | | | | | Instead of having the PlatformToolset property hardcoded to a specific version just set it to the value of DefaultPlatformToolset: this gets defined according to the commandline environment in which the build was started. Instead of just supporting VS2015 the project can now be built by any version from VS2013 to VS2017 and normally future versions as well, without quirks like VS asking whether you want to upgrade the project to the latest version (as was the case when opening the project in VS2017) or not being able to build at all (as was the case when opening the project in VS2013). Also adjust the .gitignore file to ignore any artefacts from VS2017.
* all/Makefile: Remove -ansi from GCC flags, its ignored anyway.Krzysztof Blazewicz2017-03-23
| | | | | | 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.
* msvc: Add machine/pin-related sources to buildstijn2017-03-02
| | | | This fixes unresolved references after [f1ea3bc]
* windows/.gitignore: Ignore VC.db and VC.opendb files from VS2015stijn2017-02-17
| | | | | | Since VS2015 update 2 .db files are used for storing browsing info, instead of .sdf files. If users don't specify a location for these files excplicitly they end up in the project directory so ignore them.
* windows: Enable READER_POSIX to get access to lexer_new_from_file.Damien George2016-11-16
|
* windows: Implement mp_hal_ticks_cpu in terms of QueryPerformanceCounterstijn2016-11-03
|
* windows: Fix utime_mphal compilation for msvcstijn2016-11-03
|
* windows: Enable utime_mphal following unix, define mp_hal_ticks_*.Paul Sokolovsky2016-10-29
| | | | | mp_hal_ticks_ms, mp_hal_ticks_us taken from unix port, mp_hal_ticks_cpu dummy.
* windows: Enable MICROPY_PY_UERRNOstijn2016-09-10
| | | | This also fixes the test failure for vfs_fat_ramdisk.py
* ports: Remove typedef of machine_ptr_t, it's no longer needed.Damien George2016-08-15
| | | | | | 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.
* wundows/README: Typo fix.Paul Sokolovsky2016-07-22
|
* mpy-cross: Use binary file translation mode for creating mpy files on windowsstijn2016-07-22
| | | | | | | | This is a fix for https://github.com/micropython/micropython/issues/2209: by default a file created using open() uses text translation mode so writing \n to it will result in the file having \r\n. This is obviously problematic for binary .mpy files, so provide functions for setting the open mode and use binary mode in mpy-cross' main().
* windows/msvc: Include machine_pinbase.c in build and enable umachine modulestijn2016-06-25
| | | | Fixes linker errors since [ad229477] and adds the umachine module so tests pass.
* windows: Follow unix port changes regarding "utime" module.Paul Sokolovsky2016-06-18
|
* py: Rename __QSTR_EXTRACT flag to NO_QSTR.Paul Sokolovsky2016-06-16
| | | | | It has more usages than just qstr extraction, for example, embedding (where people don't care about efficient predefined qstrs).
* windows: Enable multi-processor compilation for msvcstijn2016-05-08
| | | | | This will launch about as many compiler instances as there are logical processors on a machine, and as such significantly speeds up compilation.
* windows/msvc: Rewrite qstr auto-generation.stijn2016-04-25
| | | | | | | | | | Builds have been broken since reworking autogeneration in c618f91 and related, this gets fixed here by applying similar qstr generation logic for the msvc builds: c files are only preprocessed when changed (or not yet preprocessed) and the concatenated output is fed into makeqstrdefs.py. To speed up this process, the concatenated output is already filtered to contain only lines which makeqstrdefs really needs: this makes the qstr generation stage about twice as fast (checked on different machines).
* windows/msvc: Implement automatic qstr generation using makeqstrdefs.stijn2016-04-16
| | | | | | Note this still needs some work: currently all source files are always preprocessed no matter which one actually changed, moreover that happens file by file without any parallellism so builds are painstakingly slow.
* py: Add rules for automated extraction of qstrs from sources.Jan Čapek2016-04-16
| | | | | | | | | | | | | | | | | | | | | - 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)
* py: Declare help, input, open builtins in core.Paul Sokolovsky2016-04-15
| | | | These are *defined* per-port, but why redeclare them again and again.
* py: Add ability to have frozen persistent bytecode from .mpy files.Damien George2016-04-13
| | | | | | | 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).
* py/runtime: mp_stack_ctrl_init() should be called immediately on startup.Paul Sokolovsky2016-01-29
| | | | | | | | | 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)).
* windows/msvc: Add modurandom.c to list of source files.Damien George2016-01-26
|
* windows: Enable urandom module.Damien George2016-01-26
|
* windows: Propagate MICROPY_PY_OS_DUPTERM handling from unix port.Paul Sokolovsky2015-12-28
|
* windows/msvc: Nicer handling of asserts and 'invalid' parametersstijn2015-12-26
| | | | | | | | | | The default bahaviour for debug builds is to show dialog boxes for asserts and invalid parameter handling. This is not so nice in general and causes the Appveyor debug builds to hang because the io\file_seek.py test passes a closed file descriptor to lseek. Disable this behaviour by printing assert messages to the output instead of showing the dialog, and by disabling 'invalid' parameter handling which causes the affected functions to just return an error and set errno appropriately.
* windows: Better handling of Ctrl-Cstijn2015-12-21
| | | | | | | | | | This builds upon the changes made in 2195046365c. Using signal() does not produce reliable results so SetConsoleCtrlHandler is used, and the handler is installed only once during initialization instead of removing it in mp_hal_set_interrupt_char when it is not strictly needed anymore, since removing it might lead to Ctrl-C events being missed because they are fired on a seperate thread which might only become alive after the handler was removed.
* windows: Add Appveyor CI builds for msvc port.stijn2015-12-18
| | | | | | Appveyor is like Travis, but for Windows builds. The appveyor.yml configuration will build the msvc port in all configuration/platform conbinations, and run the tests for each of those.
* msvc: Add dirent.h/.c implementationstijn2015-12-18
| | | | This fixes the build after adding directory iteration in d874702
* windows/windows_mphal: Add basic support for raising KeyboardInterrupt.Paul Sokolovsky2015-12-18
| | | | | Compiles with mingw32, tested to work erratically under Wine due to not fully implemented emulation in it.
* windows: Make keyboard_interrupt_obj available, it's standard feature.Paul Sokolovsky2015-12-18
|
* msvc: Use new modmachine infrastructure per changes in f925165stijn2015-12-15
|