[Scons-users] Scons using msys/mingw.
Jos De Laender
jos at de-laender.be
Sun Feb 10 12:39:59 EST 2013
Dmitry (sorry for the earlier missspelling in the name),
Bill,
I just was about reporting it turned out quite well after all !
Using the native python and following the two advices of Dmitry :
- religious use of os.path, os.sep, os.pathsep, os.path.join, and friends.
- safeguarding escapes, as in p.replace('/', '\\\\').replace('\\', '\\\\')
Additionally, but that might be as well a problem as my project setup,
the "default env" was pretty useless.
(PATH set in msys environment, PKG_CONFIG_PATH communicated via env, CC
options via env etc ..)
But importing lots of stuff of the os.environ solved that one.
Have a working one. Surely not yet bullet proof, but way further than I
was hoping !
Jos
Op 10-02-13 18:14, Bill Deegan schreef:
> Jos,
>
> SCons is good with cross platform, but msys is sort of cross/cross
> platform.. :)
>
> Hopefully when we rework our tools infrastructure we'll be able to
> handle this better.
>
> -Bill
>
> On Sun, Feb 10, 2013 at 1:48 AM, Jos De Laender <jos at de-laender.be
> <mailto:jos at de-laender.be>> wrote:
>
>
> 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 <mailto: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 <mailto:Scons-users at scons.org>
> http://four.pairlist.net/mailman/listinfo/scons-users
>
>
>
> --
> Jos De Laender
> www.jodela.be <http://www.jodela.be>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org <mailto:Scons-users at scons.org>
> http://four.pairlist.net/mailman/listinfo/scons-users
>
>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> http://four.pairlist.net/mailman/listinfo/scons-users
--
Jos De Laender
www.jodela.be
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20130210/aaa73ebe/attachment.html>
More information about the Scons-users
mailing list