Boost logo

Boost-Build :

From: Jürgen Hunold (hunold_at_[hidden])
Date: 2005-08-16 09:13:18


Hi Volodya !

On Maandag 15 August 2005, 15:54, Jürgen Hunold wrote:
> On Freedag 12 August 2005, 12:28, Vladimir Prus wrote:
> > flags qt4.moc INCLUDES <include> ;
> >
> > right before the "moc" action, and use -I$(INCLUDES) in the action.
>
> I'll try to test this this evening.

Please find a new patch for qt4.jam attached (qt4.jam.diff).
It enables passing <include> and <define> to the moc.

> > > I've got a rudimentary set of Jamfiles for compiling Qt4 with V2.
> > > It stills needs lots of improvements and is working on Linux only.
> > > If anybody is interested, please drop me a note.
> >
> > I definitely would like to look at them. I have a hope to be able to
> > build KDE4 with Boost.Build one day.

Right, the environment is attached.
unbzip2/tar in $QTDIR and call bjam on it ;-))

Caveats:
- requires .moc files from qmake build for inclusion by the corresponding .cpp
file. _every_ sub-Jamfile adds the needed <include> for release, debug and my
special develop (release, debug-symbols without NDEBUG) variant.
- does not build tools (moc, rcc, uic, uic3)
- Works only on linux (debian amd64 unstable, SuSE-9.2)

Especially platform specific things like freetype, the free sql engines and
more are currently hardcoded into the Jamfiles. Those are normally detected
by configure but we need a way to configure them automagically or manually in
user-config.jam.

I've done no "magical" things sofar, just a quick hack to see whether it work
in principle.

Comments welcome, but I'll be away from mail tomorrow, so don't worry ;-)

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold ! Institut für Verkehrswesen, Eisenbahnbau
* voice: ++49 511 762-2529 ! und -betrieb, Universität Hannover 
* fax : ++49 511 762-3001 ! Appelstrasse 9a, D-30167 Hannover
* hunold_at_[hidden] ! www.ive.uni-hannover.de
 --Boundary-00=_+RfADwJ+o3a70+M Content-Type: text/x-diff;
charset="iso-8859-1";
name="qt4.jam.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="qt4.jam.diff"
Index: qt4.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/qt4.jam,v
retrieving revision 1.2
diff -u -3 -p -r1.2 qt4.jam
--- qt4.jam	12 Aug 2005 10:26:36 -0000	1.2
+++ qt4.jam	16 Aug 2005 14:03:27 -0000
@@ -165,10 +165,15 @@ rule directory
return $(.prefix) ;
}
+# Get <include> and <defines> from current toolset
+flags qt4.moc INCLUDES <include> ;
+flags qt4.moc DEFINES <define> ;
+
# Processes headers to create Qt MetaObject information
+# Qt4-moc has its c++-parser, so pass INCLUDES and DEFINES
actions moc
{
-	$(.prefix)/bin/moc -I$(.prefix)/include -I$(.prefix)/include/QtCore -f $(>) -o $(<)
+ $(.prefix)/bin/moc -I$(INCLUDES) -D$(DEFINES) -f $(>) -o $(<)
}
# Generates source files from resource files
 --Boundary-00=_+RfADwJ+o3a70+M Content-Type: application/x-tbz;
name="jam.tar.bz2"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="jam.tar.bz2"
[Attachment content not displayed.] --Boundary-00=_+RfADwJ+o3a70+M-- 

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