--- /usr/share/boost-build/tools/qt4.jam 2008-03-07 17:36:03.000000000 +0100 +++ qt4.jam 2008-04-24 19:27:04.000000000 +0200 @@ -75,16 +75,58 @@ # Initialized the QT support module. The 'prefix' parameter # tells where QT is installed. -rule init ( prefix ) +rule init ( prefix : full_bin ? : full_inc ? : full_lib ? ) { project.push-current $(.project) ; + # pre-build paths to detect reinitializations changes + local inc_prefix lib_prefix bin_prefix ; + if $(full_inc) + { + inc_prefix = $(full_inc) ; + } + else + { + inc_prefix = $(prefix)/include ; + } + if $(full_lib) + { + lib_prefix = $(full_lib) ; + } + else + { + lib_prefix = $(prefix)/lib ; + } + if $(full_bin) + { + bin_prefix = $(full_bin) ; + } + else + { + bin_prefix = $(prefix)/bin ; + } + if $(.initialized) { if $(prefix) != $(.prefix) { errors.error - "Attempt the reinitialize QT with different installation prefix" ; + "Attempt the reinitialize QT with different installation prefix" ; + } + if $(inc_prefix) != $(.incprefix) + { + errors.error + "Attempt the reinitialize QT with different include path" ; + } + if $(lib_prefix) != $(.libprefix) + { + errors.error + "Attempt the reinitialize QT with different library path" ; + } + if $(bin_prefix) != $(.binprefix) + { + errors.error + "Attempt the reinitialize QT with different bin path" ; } } else @@ -93,10 +135,9 @@ .prefix = $(prefix) ; #~ Setup prefixes for include, binaries and libs. - #~ TODO: Implement overrides in "init" parameter list. - .incprefix = $(.prefix)/include ; - .libprefix = $(.prefix)/lib ; - .binprefix = $(.prefix)/bin ; + .incprefix = $(inc_prefix) ; + .libprefix = $(lib_prefix) ; + .binprefix = $(bin_prefix) ; # Generates cpp files from header files using "moc" tool generators.register-standard qt4.moc : H : CPP(moc_%) : qt4 ;