From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-07-07 03:23:52
> Sorry, I ran into an unannounced meeting and unforeseen problems
> upgrading mit W2k Box to VC 7.1 last week. But now I should be able to
> check my mail regularly.
> > It's probably possible to allow project-root.jam to change type of .c
> > files to C++, though it looks like a bad solution: we need this only
> > for a single project, not globally.
> Do you know how ?
Unfortunately, no... the obvious idea is to make suffix->type mapping
per-project, not global, but that's quite a bunch of work.
> > > 2. Platform dependent dependencies.
> > contain code covering this.
> > I think you're the third person who encounters this same issue, so it
> > should be addressed now.
> > "I'd like to use feature such-and-such, if it's already valid,
> > it's OK, otherwise, please make it valid".
> > Something like:
> > feature.ensure-valid <os>LINUX <os>NT ;
> > What would you say about this approach.
> Sounds good. This would work for every feature, like <toolset>, right ?
> And bjam would catch typos when I the do <os>LINUS or so.
Yep, that's the motivation for this idea, as opposed to allowing any values.
> Where would I put this ? I guess boost-build.jam ?
> +1 from my side.
I think you should be able to put it everywhere, including project-root.jam,
Jamfile, and user/site config. "boost-build.jam" would not work however ---
it's loaded *before* the core of build system. Even before modules mechanism
> > > 3. STLport.
> > >
> > > Working great, but find a diff attached which eliminates annoying
> > >
> > > warning: target id '@/stlport/stlport uses deprecated syntax,
> > > warning: which may be removed in a future version.
> > > warning: reference is made from project at 'RailSys/simu'
> > I've made the correction. Thanks!
> Could you please fix qt.jam. It also contains old syntax. Thanx !
Hmm... could you point specific place? I've built both qt and qt-uic examples
without any warnings at all.
> > > I wonder if bjam could support static linking of STLport on Win32
> > > using
> > >
> > > <define>_STLP_USE_STATIC_LIB
> > > <define>_RTLDLL
> > >
> > > somehow.
> > > This results in linking against static lib, using system runtime.
> > > It uses special stlport lib with _staticx extension, build by
> > > stlport make target "staticx". It is quite useful, because I dont
> > > have to deliver STLport .dll to my customers.
> > So, to use stlport on windows with <link>static you'd have to
> > - use different name of library
> > - add those two defines ?
> Yes. You got it.
> > Yep, I think it is possible. Probably, you could try adding this
> > feature yourself, since I don't have static stlport readily
> > available? The name is computed in 'stlport-target-class.construct'
> > and additional requirements are in
> > 'stlport-target-class.compute-usage-requirements'.
> I'll take a look at that.
> > > 4. Qt-Toolset
> > > I'm trying to add support for qt-uic "embedding" feature.
> > > This is used by Qt-Designer to embed *.png files in a C++ source
> > > code. The files are compiled with the command line
> > > uic -embed <unique id> <list-of .png files> - o embedded.cpp
> > >
> > > Thomas Witt and I have hacked some code for V1.
> > > Can someone drop me a hint how I can start to implement this on V2.
> > > And I thought I could add some more user friendliness on Win32
> > > (library name, defines etc.)
> > What interface do you plan for the "embedding" feature. I never used
> > it (did not even know about it), so can't even imagine...
> Mmh. Let me see.
> When hacking V1, we simply added a list of .png Files to the target list
> of the executable. This "png-Files list" is then "embedded" as
> described above and the resulting .cpp is compiled into the
> Well, I think we could try:
> embed-images unique-id : image1.png image2.png : embedded.cpp ;
> exe app : main.cpp unique-id ;
> and then call
> uic -embed unique-id image1.png image2.png -o embedded.cpp
> in order to created embedded.cpp.
I think this interface is right.
> I'd like to have "embedded.cpp" optional and defaulting to
If I understand correctly "unique-id" will be "project name" for UIC, and
"embedded.cpp" -- output file? Yes, I think it's possible to support
arbitrary name for output file. Another option is name output file the same
as main-target (e.g. "unique" id and make an option for specifying project
name). Which one is best is up to you.
> Could you drop me some links to get more information about "hacking"
> bjam ?
There's beginnings of "extender manual" at
You can use the example as the starting point. Except that VERBATIM file type
will become PNG and the action body will be different. Also
since you'll want to allow many PNG files as sources.
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