Boost logo

Boost-Build :

Subject: Re: [Boost-build] python lib for Boost-Build engine and swig
From: Vladimir Prus (ghost_at_[hidden])
Date: 2011-04-27 02:40:34


On Sunday, April 24, 2011 19:11:52 Joseph Stein wrote:
> I found out when goggling that boost is trying to create a python-based
> Boost.Build library. I wondering if any one thought about taking this one
> step further with swig and not limiting them self to just python? I think
> this might be a little easer to do but i don't no a lot about swig so it
> hard to say.
> The reason Why I think this would be good is for several reason ....
>
>
> 1.)It would allow for control by IDE not written in c++ or python.(java
> NetBeans for example could use it natively in there own language to
> control Boost-Build form there ide)
> 2.)It would allow people to write praser(in other languages other that
> c++ or python) for more then just jam files(they could make a prase to
> read cmakeList.txt for example.)

Joseph,

I might be wrong, but I though SWIG is a mechanism to create bindings,
in various languages, for a C library.

The important reasons why Python is chosen to be future language of
Boost.Build is that:

- We want to have a nice implementation language -- better than C for sure.
- Users have to extend Boost.Build, and for that, using a real interpreted
language is much more convenient than C.

I don't really know whether you can take Python class exposed by SWIG
and then derive from it, but even if you can, it is much easier for folks
if they could look at implementation in the same language that they
are gonna write their extensions in.

> 3.) It would I believe lead to my idea of a perfect build system.(but i
> could be wrong I sure it can be debated)
> IMHO I have not been very happy with the build system out there they all
> see half baked they have the following problems.
> 1.)they demand to use there language when parsing files for example
> cmake can only read cmakeList.txt the can’t read jamfiles,MakeFiles or the
> format scons uses. I would like to see a build system actually smart
> enough to read (The developer choose build file format.) instead of
> demanding you to user there build format(you might say there language)

I don't believe this is possible. Modern build systems add many concepts
on top of simple "targets + actions" model of make. And, those concepts
are not mutually compatible. In fact, converting concepts of one build
system into another is almost impossible.

- Volodya

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build: http://boost.org/boost-build2

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