[Scons-users] Scons using msys/mingw.

Jos De Laender jos at de-laender.be
Sun Feb 10 04:48:19 EST 2013



Hi Dimitri,

Thanks for the extensive answer.
It is what I was already afraid of ... though glad it is 'doable'.
Probably I just expected a little bit too much of 'cross-platform' ...

Jos

Op 10-02-13 05:51, Dmitry Mikhin schreef:

> Hi Jos,

>

> I have a fairly big and multi-lingual project

> (C/C++/Fortran/Python/LaTeX/RPM or InnoSetup/etc.) built under mingw

> and linux. Uses native Python on Windows.

>

> Overall, it is not only a question whether msys Python is like the

> Unix one. The MinGW SCons calls cmd.exe shell whenever using any

> external program, and therefore, paths passed into the DOS shell must

> conform. Also, some utilities and compilers were happy with Unix-style

> paths in their arguments, while others insisted on '\\\\'. Sometimes

> it was down to how the string would be used: in a shell invocation or

> in Python code. Every time it was try and error. So, both converting

> all arguments to Windows-style did not work, and leaving it all Unix

> style did not work, at least in my case.

>

> A brief run over the changes I had to make:

> - religious use of os.path, os.sep, os.pathsep, os.path.join, and friends.

> - safeguarding escapes, as in p.replace('/', '\\\\').replace('\\', '\\\\')

> - for unknown reason had to use duplicate=1 in VariantDir

> - adding resource files, icons, etc. on Windows

> - switching between *.sh and *.bat versions of my own, in-project scripts,

> - bypassing use of fifo pipes when on Windows

> - switching between RPM/InnoSetup as needed

> - no '-fPIC'

> - adding env['PROGSUFFIX'] whenever searching with WhereIs

> - selecting between 'cmp' and 'fc /b', 'copy' and 'cp', 'move' and

> 'mv' whenever these were invoked directly.

>

> The main effort was in the first two items. Regrettably, there was no

> common recipe with safeguarding, as explained above. Hey, it worked!

>

> Best of luck,

> Dmitry

>

> On Sun, Feb 10, 2013 at 8:45 AM, Jos De Laender <jos at de-laender.be> wrote:

>> Gents,

>>

>> I have a fairly common problem. Nevertheless I don't succeed finding a

>> successful path ...

>>

>> The project is a linux project that is replicated in msys/mingw.

>>

>> There are some issues with the default compiler, but those I can manage with

>> a little help of google.

>>

>> The real issue is though that I have install paths and alike that should be

>> expressed in msys separators ('/') even though the os specific one is '\'.

>> There I go nuts ...

>> It appeared to me that building python on msys would be the way to go, but

>> much to my surprise that seems far from straightforward ..

>> (and no thanks, I don't want to pull in cygwin :)).

>>

>> Someone got this issue before ? So I'm looking for two potential resolutions

>> :

>> - Setting the separator, independently ...

>> or

>> - Building python under msys (assuming that then it will behave like a linux

>> one ...)

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

>



--
Jos De Laender
www.jodela.be



More information about the Scons-users mailing list