On Fri, Oct 10, 2014 at 1:29 AM, Victor Stinner <victor.stin...@gmail.com> wrote: > Hi, > > Windows is not the primary target of Python developers, probably > because most of them work on Linux. Official Python binaries are > currently built by Microsoft Visual Studio. Even if Python developers > get free licenses thanks for Microsoft, I would prefer to use an open > source compiler if it would be possible. So *anyone* can build Python > from scatch. I don't like the requirement of having a license to build > Python. The free version (Visual Studio Express) only supports 32-bit > and doesn't support PGO build (Profile-Guided Optimizations, which are > disabled if I remember correctly because of compiler bugs). > > I know that it's hard to replace Visual Studio. I don't want to do it > right now, but I would like to discuss that with you. > > > === Open Watcom > > Jeffrey Armstrong is working on the Python support of OpenWatcom(v2), see: > http://lightningpython.org/ > https://bitbucket.org/ArmstrongJ/lightning-python > > This compiler was initially written on MS-DOS in 32-bit, but it now > supports Windows and Linux as well. The 64-bit mode is new and > experimental. The Open Watcom "v2" project is actively developed at: > > https://github.com/open-watcom/open-watcom-v2/ > > On Linux, Open Watcom don't support dynamic linking. On Windows, it > uses its own C library. I'm not sure that Open Watcom is the best > choice to build Python on Windows. > > > === MinGW > > Some people tried to compile Python. See for example: > https://bitbucket.org/puqing/python-mingw > > We even got some patches: > http://bugs.python.org/issue3871 (rejected) > > See also: > https://stackoverflow.com/questions/15365249/build-python-with-mingw-and-gcc > > MinGW reuses the Microsoft C library and it is based on GCC which is > very stable, actively developed, supports a lot of archiectures, etc. > I guess that it should be possible to reuse third party GCC tools like > the famous GDB debugger?
You may want to get in touch with Carl Kleffner -- he's done a bunch of work lately on getting a mingw-based toolchain to the point where it can build numpy and scipy. (This is pretty urgent for us because (a) numerical work requires a BLAS library and the main competitive open-source one -- OpenBLAS -- cannot be built by msvc because of asm syntax issues, (b) msvc's fortran support is even worse than its C99 support.) Getting this working is non-trivial, since by default mingw-compiled code depends on the GCC runtime libraries, the default ABI doesn't match msvc, etc. But apparently these issues are all fixable. General info: https://github.com/numpy/numpy/wiki/Mingw-static-toolchain The built toolchains etc.: https://bitbucket.org/carlkl/mingw-w64-for-python/downloads Readme: https://bitbucket.org/carlkl/mingw-w64-for-python/downloads/readme.txt The patch to the numpy sources -- this in particular includes the various distutils hacks needed to enable the crucial ABI-compatibility switches: https://bitbucket.org/carlkl/mingw-w64-for-python/downloads/numpy.patch (Unfortunately he doesn't seem to have posted the build recipe for the toolchain itself -- I'm sure he'd be happy to if you asked though.) AFAICT the end result is a single free compiler toolchain that can spit out 32- and 64-bit binaries using whichever MSVC runtime you prefer. -n -- Nathaniel J. Smith Postdoctoral researcher - Informatics - University of Edinburgh http://vorpus.org _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com