From: Reece Dunn (msclrhd_at_[hidden])
Date: 2006-05-04 03:16:57
David Abrahams wrote:
> Vladimir Prus <ghost_at_[hidden]> writes:
> > On Tuesday 02 May 2006 05:00, Stephane Odul wrote:
> >> After reading these documents I'm a bit concerned.
> >> My projects are using Boost.Jam (and nothing else from boost.org),
> >> I've just updated from 3.1.9 to 3.1.12, and from what I gathered the
> >> future of Boost.Build is python.
> >> Does it mean that the development of Boot.Jam will be dropped, and
> >> that future release will require Python to at least ensure some
> >> backward compatibility ?
> > Both yes and no. A future version of V2 will require Python to run
> Note that Python will probably be embedded in Boost.Build, so you
> won't necessarily need a separate Python installation.
What about the Python libraries. One of the major advantages of using Python (as well as having a real type system) is to be able to use shutils, os, sys, subprocess, set and other libraries?
If the user wants to package the build output into a tar.bz2 archive, they can do this in 3 lines of Python!
In Python 2.4, the subprocess module allows you to execute a process and then capture its output. This would allow you to write the action for testing.jam in pure Python without all the macros to factor in the differences between the Linux/Cygwin and Windows shells. It would also allow the underlying call to cmd.exe/sh to be removed. The real win for using subprocess is being able to treat an application and its arguments as a list of strings:
cmd = [ 'gcc', '-c' ]
cmd.append( '-fsomething' )
command.run( cmd ) # my helper wrapper around subprocess
I have a question about python and re-entrancy. Is it possible to do:
command.run( [ 'python', 'mytest.py' ] )
Express yourself instantly with MSN Messenger! Download today it's FREE!
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk