Boost logo

Boost-Build :

From: Bojan Resnik (resnikb_at_[hidden])
Date: 2007-10-10 08:00:58


> The Python port of Boost.Build is now at the stage where
> you can actually build a simple project that
> uses the 'make' rule. Most of this result is thanks to
> Pedro Ferreira, who performed original port back in 2005.
> It appears that the path from here is straight-forward -- we need
> to update modules that Pedro has ported to current Jam codebase,
> and port more tools.
>
> I've put up a wiki page at:
>
> http://zigzag.cs.msu.su/boost.build/wiki/PythonPort
>
> that describes how to try the Python port, and how to help.
>
> Clearly, all possible help is appreciated!

I encountered a couple of problems on Windows:
   1. build.bat --with-python=D:\Python\2.5
         does not work. The final call to bootstrap\jam0 gets:
                    --with-python D:\Python\2.5
         without '='. I suppose that '=' is treated as argument
separator by cmd.exe
         and gets eaten in Setup_Args loop. I solved this by removing the
         Setup_Args loop and using %* in the call to jam0. This is supported
         since Windows 2000, I am not sure about earlier versions.

   2. bjam.exe --build-system=pybb
        in python\tests\bjam\make also fails, because os.uname() is
not supported
        on Windows:
------------------
Boost.Build V2 Python port (experimental)
Traceback (most recent call last):
  File "E:/bb_python/./python\boost\build\main.py", line 10, in <module>
    from boost.build.manager import Manager
  File "E:/bb_python/./python\boost\build\manager.py", line 5, in <module>
    from build.virtual_target import VirtualTargetRegistry
  File "E:/bb_python/./python\boost\build\build\virtual_target.py",
line 64, in <module>
    from boost.build.util import path, utility, set
  File "E:/bb_python/./python\boost\build\util\path.py", line 18, in <module>
    from utility import to_seq
  File "E:/bb_python/./python\boost\build\util\utility.py", line 162,
in <module>
    __major = __major_map [os.uname () [0]]
AttributeError: 'module' object has no attribute 'uname'

Failed to load "boost.build.main"
E:/bb_python\pybb.jam:49: in load
rule main unknown in module PyBB.
E:\bb_python\kernel\modules.jam:259: in import
E:\bb_python\kernel\bootstrap.jam:120: in boost-build
E:\bb_python\boost-build.jam:2: in module scope
------------------
     Perhaps using the more portable platform.uname() would work, but
I don't know if it returns the same names as os.uname().

-- 
Bojan Resnik

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