classification
Title: Add support for mingw
Type: enhancement Stage:
Components: Build Versions: Python 3.4
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: brian.curtin, loewis, ned.deily, rpetrov, schmir, smartmobili, terry.reedy, xuecan
Priority: normal Keywords: patch

Created on 2009-06-24 13:10 by smartmobili, last changed 2014-02-03 15:50 by BreamoreBoy.

Files
File name Uploaded Description Edit
python3-mingw.patch smartmobili, 2009-06-24 13:10 mingw patch for Python 3.0.1
Messages (8)
msg89663 - (view) Author: (smartmobili) Date: 2009-06-24 13:10
Hi,

I can see that python still doesn't support mingw environnment whil
during past years some people provided some patch.
I wanted recently to compile Python-3.0.1 on mingw and I have found a
patch in a svn repository of a opensource project(don't remember which
one)- So I attach it and I hope it will studied by python dev.
Generally it's not very difficult, you should add some #ifdef
__MINGW32__ when needeed and hack around these lines.
Don't understand you still don't support it.

So this patch is a first step because it doesn't work very well, I mean
I had to copy manually errmap.h from PC to include folder.
And after I get an issue :

gcc -L/usr/local/lib  -o python.exe \
                Modules/python.o \
                libpython3.0.a    -lm
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: can't initialize sys standard streams
ImportError: No module named encodings.utf_8

This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
make: *** [sharedmods] Error 3
msg89673 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2009-06-24 19:10
> Don't understand you still don't support it.

Primarily because the patches that have been contributed don't work
well. We see no point in adding patches that don't work, and prefer
to add only patches that actually do work.
msg89676 - (view) Author: Roumen Petrov (rpetrov) * Date: 2009-06-24 19:42
quote : "Primarily because the patches that have been contributed don't
work well. " :)
msg89746 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2009-06-26 22:34
In a few days, when 3.1 comes out, 3.0 will be mostly dead.
I think it would be more useful to put energy into a 3.1 port.

Other thoughts:

Your patch amounts to a in-development version of a new feature. To me,
that belongs on a separate branch or repository where those interested
can work on it. I am surprised that no one has set up a py-mingw project
on SourceForge, Google Code, or wherever, if indeed no one has. If not,
someone should. New modules from 3rd party developers are expected to be
publicly released for testing and use for some months, at least, before
adoption. Though it is not my decision, I would require the same of a
new port

I am not sure that minor-platform code like this belongs in the central
repository, especially when we transition to mercurial, where central
repository loses some of its meaning. To me, every ifdef from yet
another system makes the code harder to read.

So I recommend that you think in terms of maintaining a separate
Py-Mingw mecurial or whatever repository indefinitely as a public
project site where you and others interested can have your own wiki,
tracker, mail list, and release schedule -- all without permission from
the PSF developers.

I notice that your patch has a lot of FIXMEs. I presume that they only
apply to mingw, so that would be wrong for inclusion into the core. The
freedom to put platform-specific notes in the code is to me a reason to
have a platform-specific repository.
msg185749 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2013-04-01 17:43
@Brian,Tim any comments on this?  Out of curiosity how does cygwin manage Python?
msg185751 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2013-04-01 17:49
None from me. Not familiar with what cygwin does.
msg185783 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2013-04-01 23:22
This issue has likely been superseded by more recent activity to support mingw, for example, activity tracked in Issue17605.  Roumen?
msg194377 - (view) Author: Roumen Petrov (rpetrov) * Date: 2013-08-04 13:57
I would like to config that path to this issue is one of those for issue3871 - my patch for 2.6/2.7  enhanced by "?? (sorry I forgot user :( ) " for 3.0 .

Now as requested "all in one patch" is split and first set is listed in issue17605 "build interpeter core", second issue18653 "build core modules" plus modernization of mingw&cygwin compiler classes in scope of issue18654 .
History
Date User Action Args
2014-02-03 15:50:18BreamoreBoysetnosy: - BreamoreBoy
2013-10-24 09:59:30tim.goldensetnosy: - tim.golden
2013-08-04 13:57:51rpetrovsetmessages: + msg194377
2013-04-01 23:22:57ned.deilysetnosy: + ned.deily
messages: + msg185783
2013-04-01 17:49:26brian.curtinsetnosy: loewis, terry.reedy, schmir, tim.golden, xuecan, rpetrov, brian.curtin, smartmobili, BreamoreBoy
messages: + msg185751
2013-04-01 17:43:12BreamoreBoysetnosy: + tim.golden, brian.curtin

messages: + msg185749
versions: + Python 3.4, - Python 3.2
2011-02-15 23:11:08schmirsetnosy: + schmir
2010-11-12 06:07:58terry.reedysetversions: + Python 3.2, - Python 3.0
2010-08-08 14:27:54skrahsetnosy: + xuecan, BreamoreBoy
2010-08-08 14:27:42skrahlinkissue3456 superseder
2009-06-26 22:34:27terry.reedysetnosy: + terry.reedy
messages: + msg89746
2009-06-24 19:42:54rpetrovsetnosy: + rpetrov
messages: + msg89676
2009-06-24 19:10:17loewissetnosy: + loewis
messages: + msg89673
2009-06-24 13:10:41smartmobilicreate