circuitpython/windows
stijn c61131380d windows: Make msvc project file support any version from VS2013 to VS2017
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.
2017-03-23 15:44:27 +11:00
..
msvc msvc: Add machine/pin-related sources to build 2017-03-02 09:54:03 +01:00
.appveyor.yml windows: Add Appveyor CI builds for msvc port. 2015-12-18 21:49:35 +00:00
.gitignore windows: Make msvc project file support any version from VS2013 to VS2017 2017-03-23 15:44:27 +11:00
fmode.c mpy-cross: Use binary file translation mode for creating mpy files on windows 2016-07-22 21:21:54 +03:00
fmode.h mpy-cross: Use binary file translation mode for creating mpy files on windows 2016-07-22 21:21:54 +03:00
init.c windows/msvc: Nicer handling of asserts and 'invalid' parameters 2015-12-26 22:14:16 +00:00
init.h windows: Add modtime implementation 2014-05-09 13:58:15 +02:00
Makefile all/Makefile: Remove -ansi from GCC flags, its ignored anyway. 2017-03-23 15:32:12 +11:00
micropython.vcxproj windows: Make msvc project file support any version from VS2013 to VS2017 2017-03-23 15:44:27 +11:00
mpconfigport.h windows: Enable READER_POSIX to get access to lexer_new_from_file. 2016-11-16 20:27:12 +11:00
mpconfigport.mk windows: Follow unix port changes regarding "utime" module. 2016-06-18 00:17:18 +03:00
README wundows/README: Typo fix. 2016-07-22 21:24:26 +03:00
realpath.c windows: Make unistd.h more posix compatible 2015-08-14 12:04:23 +02:00
realpath.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
sleep.c windows: Add usleep() implementation for msvc port 2015-10-25 15:42:19 +03:00
sleep.h windows: Add usleep() implementation for msvc port 2015-10-25 15:42:19 +03:00
windows_mphal.c windows: Implement mp_hal_ticks_cpu in terms of QueryPerformanceCounter 2016-11-03 10:31:58 +01:00
windows_mphal.h windows: Implement mp_hal_ticks_cpu in terms of QueryPerformanceCounter 2016-11-03 10:31:58 +01:00

This is experimental, community-supported Windows port of MicroPython.
It is based on Unix port, and expected to remain so.
The port requires additional testing, debugging, and patches. Please
consider to contribute.


To cross-compile under Debian/Ubuntu Linux system:

sudo apt-get install gcc-mingw-w64
make CROSS_COMPILE=i686-w64-mingw32-

If for some reason the mingw-w64 crosscompiler is not available, you can try
mingw32 instead, but it comes with a really old gcc which may produce some
spurious errors (you may need to disable -Werror):

sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
make CROSS_COMPILE=i586-mingw32msvc-


To compile under Cygwin:

Install following packages using cygwin's setup.exe:
mingw64-i686-gcc-core, mingw64-x86_64-gcc-core, make
Build using:

make CROSS_COMPILE=i686-w64-mingw32-

or for 64bit:

make CROSS_COMPILE=x86_64-w64-mingw32-


To compile using Visual Studio 2013 (or higher):

Open micropython.vcxproj and build


To compile using Visual Studio 2013 (or higher) commandline:

msbuild micropython.vcxproj


To run on Linux using Wine:

The default build (MICROPY_USE_READLINE=1) uses extended Windows console
functions and thus should be run using "wineconsole" tool. Depending
on the Wine build configuration, you may also want to select the curses
backend which has the look&feel of a standard Unix console:

    wineconsole --backend=curses ./micropython.exe

For more info, see https://www.winehq.org/docs/wineusr-guide/cui-programs

If built without line editing and history capabilities
(MICROPY_USE_READLINE=0), the resulting binary can be run using the standard
"wine" tool.