$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: jurko.gospodnetic_at_[hidden]
Date: 2008-07-30 14:17:44
Author: jurko
Date: 2008-07-30 14:17:44 EDT (Wed, 30 Jul 2008)
New Revision: 47893
URL: http://svn.boost.org/trac/boost/changeset/47893
Log:
Added support for the c++-template-depth feature with the hp_cxx Boost Build toolset.
Text files modified: 
   trunk/tools/build/v2/tools/hp_cxx.jam |    15 ++++++++++++++-                         
   1 files changed, 14 insertions(+), 1 deletions(-)
Modified: trunk/tools/build/v2/tools/hp_cxx.jam
==============================================================================
--- trunk/tools/build/v2/tools/hp_cxx.jam	(original)
+++ trunk/tools/build/v2/tools/hp_cxx.jam	2008-07-30 14:17:44 EDT (Wed, 30 Jul 2008)
@@ -124,6 +124,8 @@
 flags hp_cxx.link FINDLIBS-ST <find-static-library> ;
 flags hp_cxx.link FINDLIBS-SA <find-shared-library> ;
 
+flags hp_cxx.compile.c++ TEMPLATE_DEPTH <c++-template-depth> ;
+
 actions link bind LIBRARIES
 {
     $(CONFIG_COMMAND) -noimplicit_include $(OPTIONS) -o "$(<)" -L$(LIBPATH) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) -lrt -lm
@@ -154,9 +156,20 @@
 # Note: We deliberately don't suppress any warnings on the compiler command
 # line, the user can always do this in a customized toolset later on.
 
+rule compile.c++
+{
+    # We preprocess the TEMPLATE_DEPTH command line option here because we found
+    # no way to do it correctly in the actual action code. There we either get
+    # the -pending_instantiations parameter when no c++-template-depth property
+    # has been specified or we get additional quotes around
+    # "-pending_instantiations ".
+    local template-depth = [ on $(1) return $(TEMPLATE_DEPTH) ] ;
+    TEMPLATE_DEPTH on $(1) = "-pending_instantiations "$(template-depth) ;
+}
+
 actions compile.c++
 {
-    $(CONFIG_COMMAND) -x cxx -c -std strict_ansi -nopure_cname -noimplicit_include -timplicit_local -ptr "$(<[1]:D)/cxx_repository" $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -o "$(<)" "$(>)"
+    $(CONFIG_COMMAND) -x cxx -c -std strict_ansi -nopure_cname -noimplicit_include -timplicit_local -ptr "$(<[1]:D)/cxx_repository" $(OPTIONS) $(TEMPLATE_DEPTH) -D$(DEFINES) -I"$(INCLUDES)" -o "$(<)" "$(>)"
 }
 
 # Always create archive from scratch. See the gcc toolet for rationale.