[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