[pkg-boost-commits] r14068 - in boost-jam/trunk: . debian jam

cavok at alioth.debian.org cavok at alioth.debian.org
Sun May 13 21:35:00 UTC 2007


Author: cavok
Date: 2007-05-13 21:35:00 +0000 (Sun, 13 May 2007)
New Revision: 14068

Modified:
   boost-jam/trunk/boost-jam.spec
   boost-jam/trunk/boostbook.css
   boost-jam/trunk/build.bat
   boost-jam/trunk/build.jam
   boost-jam/trunk/builtins.c
   boost-jam/trunk/debian/changelog
   boost-jam/trunk/debian/rules
   boost-jam/trunk/execnt.c
   boost-jam/trunk/headers.c
   boost-jam/trunk/index.html
   boost-jam/trunk/jam/building.html
   boost-jam/trunk/jam/language.html
   boost-jam/trunk/jam/miscellaneous.html
   boost-jam/trunk/jam/usage.html
   boost-jam/trunk/patchlevel.h
   boost-jam/trunk/variable.c
Log:
successfully merged with upstream 3.1.14

Modified: boost-jam/trunk/boost-jam.spec
===================================================================
--- boost-jam/trunk/boost-jam.spec	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/boost-jam.spec	2007-05-13 21:35:00 UTC (rev 14068)
@@ -1,5 +1,5 @@
 Name: boost-jam
-Version: 3.1.13
+Version: 3.1.14
 Summary: Build tool
 Release: 1
 Source: %{name}-%{version}.tgz

Modified: boost-jam/trunk/boostbook.css
===================================================================
--- boost-jam/trunk/boostbook.css	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/boostbook.css	2007-05-13 21:35:00 UTC (rev 14068)
@@ -2,9 +2,8 @@
     Copyright (c) 2004 Joel de Guzman
     http://spirit.sourceforge.net/
 
-    Use, modification and distribution is subject to the Boost Software
-    License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-    http://www.boost.org/LICENSE_1_0.txt)
+    Distributed under the Boost Software License, Version 1.0. (See accompany-
+    ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 =============================================================================*/
 
 /*=============================================================================
@@ -509,3 +508,12 @@
             font-weight: bold;
         }
     }
+
+/*=============================================================================
+    Images
+=============================================================================*/
+
+    span.inlinemediaobject img
+    {
+        vertical-align: middle;
+    }
\ No newline at end of file

Modified: boost-jam/trunk/build.bat
===================================================================
--- boost-jam/trunk/build.bat	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/build.bat	2007-05-13 21:35:00 UTC (rev 14068)
@@ -59,94 +59,94 @@
 
 setlocal & endlocal
 if NOT "_%VS80COMNTOOLS%_" == "__" (
-    set BOOST_JAM_TOOLSET=vc8
-    set BOOST_JAM_TOOLSET_ROOT=%VS80COMNTOOLS%..\..\VC\
+    set "BOOST_JAM_TOOLSET=vc8"
+    set "BOOST_JAM_TOOLSET_ROOT=%VS80COMNTOOLS%..\..\VC\"
     goto :eof)
 setlocal & endlocal
 if EXIST "%ProgramFiles%\Microsoft Visual Studio 8\VC\bin\VCVARS32.BAT" (
-    set BOOST_JAM_TOOLSET=vc8
-    set BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio 8\VC\
+    set "BOOST_JAM_TOOLSET=vc8"
+    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio 8\VC\"
     goto :eof)
 setlocal & endlocal
 if NOT "_%VS71COMNTOOLS%_" == "__" (
-    set BOOST_JAM_TOOLSET=vc7
-    set BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%\..\..\VC7\
+    set "BOOST_JAM_TOOLSET=vc7"
+    set "BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%\..\..\VC7\"
     goto :eof)
 setlocal & endlocal
 if NOT "_%VCINSTALLDIR%_" == "__" (
-    set BOOST_JAM_TOOLSET=vc7
-    set BOOST_JAM_TOOLSET_ROOT=%VCINSTALLDIR%\VC7\
+    set "BOOST_JAM_TOOLSET=vc7"
+    set "BOOST_JAM_TOOLSET_ROOT=%VCINSTALLDIR%\VC7\"
     goto :eof)
 setlocal & endlocal
 if EXIST "%ProgramFiles%\Microsoft Visual Studio .NET 2003\VC7\bin\VCVARS32.BAT" (
-    set BOOST_JAM_TOOLSET=vc7
-    set BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio .NET 2003\VC7\
+    set "BOOST_JAM_TOOLSET=vc7"
+    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio .NET 2003\VC7\"
     goto :eof)
 setlocal & endlocal
 if EXIST "%ProgramFiles%\Microsoft Visual Studio .NET\VC7\bin\VCVARS32.BAT" (
-    set BOOST_JAM_TOOLSET=vc7
-    set BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio .NET\VC7\
+    set "BOOST_JAM_TOOLSET=vc7"
+    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio .NET\VC7\"
     goto :eof)
 setlocal & endlocal
 if NOT "_%MSVCDir%_" == "__" (
-    set BOOST_JAM_TOOLSET=msvc
-    set BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\
+    set "BOOST_JAM_TOOLSET=msvc"
+    set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
     goto :eof)
 setlocal & endlocal
 if EXIST "%ProgramFiles%\Microsoft Visual Studio\VC98\bin\VCVARS32.BAT" (
-    set BOOST_JAM_TOOLSET=msvc
-    set BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio\VC98\
+    set "BOOST_JAM_TOOLSET=msvc"
+    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio\VC98\"
     goto :eof)
 setlocal & endlocal
 if EXIST "%ProgramFiles%\Microsoft Visual C++\VC98\bin\VCVARS32.BAT" (
-    set BOOST_JAM_TOOLSET=msvc
-    set BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual C++\VC98\
+    set "BOOST_JAM_TOOLSET=msvc"
+    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual C++\VC98\"
     goto :eof)
 setlocal & endlocal
 call :Test_Path cl.exe
 if not errorlevel 1 (
-    set BOOST_JAM_TOOLSET=msvc
-    set BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\
+    set "BOOST_JAM_TOOLSET=msvc"
+    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
     goto :eof)
 setlocal & endlocal
 call :Test_Path vcvars32.bat
 if not errorlevel 1 (
-    set BOOST_JAM_TOOLSET=msvc
+    set "BOOST_JAM_TOOLSET=msvc"
     call "%FOUND_PATH%VCVARS32.BAT"
-    set BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\
+    set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
     goto :eof)
 setlocal & endlocal
 if EXIST "C:\Borland\BCC55\Bin\bcc32.exe" (
-    set BOOST_JAM_TOOLSET=borland
-    set BOOST_JAM_TOOLSET_ROOT=C:\Borland\BCC55\
+    set "BOOST_JAM_TOOLSET=borland"
+    set "BOOST_JAM_TOOLSET_ROOT=C:\Borland\BCC55\"
     goto :eof)
 setlocal & endlocal
 call :Test_Path bcc32.exe
 if not errorlevel 1 (
-    set BOOST_JAM_TOOLSET=borland
-    set BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\
+    set "BOOST_JAM_TOOLSET=borland"
+    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
     goto :eof)
 setlocal & endlocal
 call :Test_Path icl.exe
 if not errorlevel 1 (
-    set BOOST_JAM_TOOLSET=intel-win32
-    set BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\
+    set "BOOST_JAM_TOOLSET=intel-win32"
+    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
     goto :eof)
 setlocal & endlocal
 if EXIST "C:\MinGW\bin\gcc.exe" (
-    set BOOST_JAM_TOOLSET=mingw
-    set BOOST_JAM_TOOLSET_ROOT=C:\MinGW\
+    set "BOOST_JAM_TOOLSET=mingw"
+    set "BOOST_JAM_TOOLSET_ROOT=C:\MinGW\"
     goto :eof)
 setlocal & endlocal
 if NOT "_%CWFolder%_" == "__" (
-    set BOOST_JAM_TOOLSET=metrowerks
-    set BOOST_JAM_TOOLSET_ROOT=%CWFolder%\
+    set "BOOST_JAM_TOOLSET=metrowerks"
+    set "BOOST_JAM_TOOLSET_ROOT=%CWFolder%\"
     goto :eof )
 setlocal & endlocal
 call :Test_Path mwcc.exe
 if not errorlevel 1 (
-    set BOOST_JAM_TOOLSET=metrowerks
-    set BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\..\
+    set "BOOST_JAM_TOOLSET=metrowerks"
+    set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\..\"
     goto :eof)
 setlocal & endlocal
 call :Error_Print "Could not find a suitable toolset."
@@ -157,16 +157,16 @@
 setlocal & endlocal
 call :Test_Path yacc.exe
 if not errorlevel 1 (
-    set YACC=yacc -d
+    set "YACC=yacc -d"
     goto :eof)
 setlocal & endlocal
 call :Test_Path bison.exe
 if not errorlevel 1 (
-    set YACC=bison -d --yacc
+    set "YACC=bison -d --yacc"
     goto :eof)
 setlocal & endlocal
 if EXIST "C:\Program Files\GnuWin32\bin\bison.exe" (
-    set YACC="C:\Program Files\GnuWin32\bin\bison.exe" -d --yacc
+    set "YACC=C:\Program Files\GnuWin32\bin\bison.exe" -d --yacc
     goto :eof)
 setlocal & endlocal
 call :Error_Print "Could not find Yacc to build the Jam grammar."
@@ -182,13 +182,13 @@
     call :Guess_Toolset
     if not errorlevel 1 goto Setup_Toolset
 ) else (
-    call :Test_Option %1
+    call :Test_Option "%1"
     if not errorlevel 1 (
         call :Guess_Toolset
         if not errorlevel 1 goto Setup_Toolset
     ) else (
         setlocal & endlocal
-        set BOOST_JAM_TOOLSET=%1
+        set "BOOST_JAM_TOOLSET=%1"
         shift
         goto Setup_Toolset
     )
@@ -206,60 +206,68 @@
 REM is a single command, even though it's in multiple lines here.
 if "_%BOOST_JAM_TOOLSET%_" == "_metrowerks_" (
     if NOT "_%CWFolder%_" == "__" (
-        set BOOST_JAM_TOOLSET_ROOT=%CWFolder%\) )
+        set "BOOST_JAM_TOOLSET_ROOT=%CWFolder%\"
+        ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_metrowerks_" (
     if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-        set PATH=%BOOST_JAM_TOOLSET_ROOT%Other Metrowerks Tools\Command Line Tools;%PATH%)
-    set BOOST_JAM_CC=mwcc -runtime ss -cwd include -DNT -lkernel32.lib -ladvapi32.lib -luser32.lib
-    set BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe
-    set BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe
-    set BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe
-    set _known_=1
+        set "PATH=%BOOST_JAM_TOOLSET_ROOT%Other Metrowerks Tools\Command Line Tools;%PATH%"
+        )
+    set "BOOST_JAM_CC=mwcc -runtime ss -cwd include -DNT -lkernel32.lib -ladvapi32.lib -luser32.lib"
+    set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
+    set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
+    set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_msvc_" (
     if NOT "_%MSVCDir%_" == "__" (
-        set BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\) )
+        set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
+        ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_msvc_" (
     if EXIST "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" (
         call "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_msvc_" (
     if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-        set PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%)
-    set BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib
-    set BOOST_JAM_OPT_JAM=/Febootstrap\jam0
-    set BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0
-    set BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0
-    set _known_=1
+        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
+        )
+    set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
+    set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
+    set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
+    set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_vc7_" (
     if NOT "_%MSVCDir%_" == "__" (
-        set BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\) )
+        set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
+        ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_vc7_" (
     if EXIST "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" (
         call "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_vc7_" (
     if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-        set PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%)
-    set BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib
-    set BOOST_JAM_OPT_JAM=/Febootstrap\jam0
-    set BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0
-    set BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0
-    set _known_=1
+        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
+        )
+    set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
+    set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
+    set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
+    set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_vc8_" (
     if NOT "_%MSVCDir%_" == "__" (
-        set BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\) )
+        set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
+        ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_vc8_" (
     if EXIST "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" (
         call "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_vc8_" (
     if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
-        set PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%)
-    set BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib
-    set BOOST_JAM_OPT_JAM=/Febootstrap\jam0
-    set BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0
-    set BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0
-    set _known_=1
+        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
+        )
+    set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
+    set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
+    set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
+    set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_borland_" (
     if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
@@ -267,50 +275,55 @@
 if "_%BOOST_JAM_TOOLSET%_" == "_borland_" (
     if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
         if not errorlevel 1 (
-            set BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\) ) )
+            set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
+            ) ) )
 if "_%BOOST_JAM_TOOLSET%_" == "_borland_" (
-    if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (set PATH=%BOOST_JAM_TOOLSET_ROOT%Bin;%PATH%)
-    set BOOST_JAM_CC=bcc32 -WC -w- -q "-I%BOOST_JAM_TOOLSET_ROOT%Include" "-L%BOOST_JAM_TOOLSET_ROOT%Lib" /DNT -nbootstrap
-    set BOOST_JAM_OPT_JAM=-ejam0
-    set BOOST_JAM_OPT_MKJAMBASE=-emkjambasejam0
-    set BOOST_JAM_OPT_YYACC=-eyyacc0
-    set _known_=1
+    if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
+        set "PATH=%BOOST_JAM_TOOLSET_ROOT%Bin;%PATH%"
+        )
+    set "BOOST_JAM_CC=bcc32 -WC -w- -q "-I%BOOST_JAM_TOOLSET_ROOT%Include" "-L%BOOST_JAM_TOOLSET_ROOT%Lib" /DNT -nbootstrap"
+    set "BOOST_JAM_OPT_JAM=-ejam0"
+    set "BOOST_JAM_OPT_MKJAMBASE=-emkjambasejam0"
+    set "BOOST_JAM_OPT_YYACC=-eyyacc0"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_como_" (
-    set BOOST_JAM_CC=como -DNT
-    set BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe
-    set BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe
-    set BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe
-    set _known_=1
+    set "BOOST_JAM_CC=como -DNT"
+    set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
+    set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
+    set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_gcc_" (
-    set BOOST_JAM_CC=gcc -DNT
-    set BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe
-    set BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe
-    set BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe
-    set _known_=1
+    set "BOOST_JAM_CC=gcc -DNT"
+    set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
+    set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
+    set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_gcc-nocygwin_" (
-    set BOOST_JAM_CC=gcc -DNT -mno-cygwin
-    set BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe
-    set BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe
-    set BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe
-    set _known_=1
+    set "BOOST_JAM_CC=gcc -DNT -mno-cygwin"
+    set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
+    set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
+    set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_intel-win32_" (
-    set BOOST_JAM_CC=icl -DNT /nologo kernel32.lib advapi32.lib user32.lib
-    set BOOST_JAM_OPT_JAM=/Febootstrap\jam0
-    set BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0
-    set BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0
-    set _known_=1
+    set "BOOST_JAM_CC=icl -DNT /nologo kernel32.lib advapi32.lib user32.lib"
+    set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
+    set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
+    set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
+    set "_known_=1"
 )
 if "_%BOOST_JAM_TOOLSET%_" == "_mingw_" (
-    if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (set PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%)
-    set BOOST_JAM_CC=gcc -DNT
-    set BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe
-    set BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe
-    set BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe
-    set _known_=1
+    if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
+        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
+        )
+    set "BOOST_JAM_CC=gcc -DNT"
+    set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
+    set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
+    set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
+    set "_known_=1"
 )
 if "_%_known_%_" == "__" (
     call :Error_Print "Unknown toolset: %BOOST_JAM_TOOLSET%"

Modified: boost-jam/trunk/build.jam
===================================================================
--- boost-jam/trunk/build.jam	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/build.jam	2007-05-13 21:35:00 UTC (rev 14068)
@@ -12,7 +12,7 @@
 else { . = "." ; }
 
 # Info about what we are building.
-_VERSION_ = 3 1 13 ;
+_VERSION_ = 3 1 14 ;
 NAME = boost-jam ;
 VERSION = $(_VERSION_:J=$(.)) ;
 RELEASE = 1 ;

Modified: boost-jam/trunk/builtins.c
===================================================================
--- boost-jam/trunk/builtins.c	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/builtins.c	2007-05-13 21:35:00 UTC (rev 14068)
@@ -937,6 +937,17 @@
     *result = list_new( *result, copystr( *(char**)np ) );
 }
 
+static struct hash *get_running_module_vars()
+{
+    struct hash *dummy, *vars = NULL;
+    /* Get the global variables pointer (that of the currently running module) */
+    var_hash_swap(&vars);
+    dummy = vars;
+    /* Put the global variables pointer in its right place */
+    var_hash_swap(&dummy);
+    return vars;
+}
+
 LIST *
 builtin_varnames(
     PARSE   *parse,
@@ -946,8 +957,14 @@
     LIST *result = L0;
     module_t* source_module = bindmodule( arg0 ? arg0->string : 0 );
 
-    if ( source_module->variables )
-        hashenumerate( source_module->variables, add_hash_key, &result );
+    /* The running module _always_ has its 'variables' member set to NULL
+     * due to the way enter_module and var_hash_swap work */
+    struct hash *vars = 
+        source_module == frame->module ? 
+            get_running_module_vars() : source_module->variables;
+
+    if ( vars )
+        hashenumerate( vars, add_hash_key, &result );
     return result;
 }
 

Modified: boost-jam/trunk/debian/changelog
===================================================================
--- boost-jam/trunk/debian/changelog	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/debian/changelog	2007-05-13 21:35:00 UTC (rev 14068)
@@ -1,3 +1,9 @@
+boost-jam (3.1.14-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Domenico Andreoli <cavok at debian.org>  Sun, 13 May 2007 23:34:17 +0200
+
 boost-jam (3.1.13-1) unstable; urgency=low
 
   * New upstream release.

Modified: boost-jam/trunk/debian/rules
===================================================================
--- boost-jam/trunk/debian/rules	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/debian/rules	2007-05-13 21:35:00 UTC (rev 14068)
@@ -3,9 +3,6 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-# This is the debhelper compatability version to use.
-export DH_COMPAT=4
-
 # TODO: figure out how to get debugging symbols into "bjam" executable.
 # (Debian Policy, 10.1)
 

Modified: boost-jam/trunk/execnt.c
===================================================================
--- boost-jam/trunk/execnt.c	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/execnt.c	2007-05-13 21:35:00 UTC (rev 14068)
@@ -915,6 +915,17 @@
     return 0.0;
 }
 
+static double
+creation_time(HANDLE process)
+{
+    FILETIME creation, exit, kernel, user, current;
+    if (GetProcessTimes(process, &creation, &exit, &kernel, &user))
+    {
+        return filetime_seconds(creation);
+    }
+    return 0.0;
+}
+
 /* it's just stupidly silly that one has to do this! */
 typedef struct PROCESS_BASIC_INFORMATION__ {
     LONG ExitStatus;
@@ -998,10 +1009,17 @@
     TerminateProcess(process,-2);
 }
 
-int is_parent_child(DWORD parent, DWORD child)
+/* Recursive check if first process is parent (directly or indirectly) of 
+the second one. Both processes are passed as process ids, not handles.
+Special return value 2 means that the second process is smss.exe and its 
+parent process is System (first argument is ignored) */
+static int 
+is_parent_child(DWORD parent, DWORD child)
 {
     HANDLE process_snapshot_h = INVALID_HANDLE_VALUE;
 
+    if (!child)
+        return 0;
     if (parent == child)
         return 1;
 
@@ -1016,8 +1034,70 @@
             ok == TRUE; 
             ok = Process32Next(process_snapshot_h, &pinfo) )
         {
-            if (pinfo.th32ProcessID == child && pinfo.th32ParentProcessID)
-                return is_parent_child(parent, pinfo.th32ParentProcessID);
+            if (pinfo.th32ProcessID == child)
+            {
+                /*
+                Unfortunately, process ids are not really unique. There might 
+                be spurious "parent and child" relationship match between
+                two non-related processes if real parent process of a given
+                process has exited (while child process kept running as an 
+                "orphan") and the process id of such parent process has been 
+                reused by internals of the operating system when creating 
+                another process. Thus additional check is needed - process
+                creation time. This check may fail (ie. return 0) for system 
+                processes due to insufficient privileges, and that's OK. */
+                double tchild = 0.0;
+                double tparent = 0.0;
+                HANDLE hchild = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pinfo.th32ProcessID);
+
+                CloseHandle(process_snapshot_h);
+
+                /* csrss.exe may display message box like following:
+                    xyz.exe - Unable To Locate Component
+                    This application has failed to start because 
+                    boost_foo-bar.dll was not found. Re-installing the 
+                    application may fix the problem
+                This actually happens when starting test process that depends
+                on a dynamic library which failed to build. We want to 
+                automatically close these message boxes even though csrss.exe
+                is not our child process. We may depend on the fact that (in
+                all current versions of Windows) csrss.exe is directly 
+                child of smss.exe process, which in turn is directly child of
+                System process, which always has process id == 4 .
+                This check must be performed before comparison of process 
+                creation time */
+                if (stricmp(pinfo.szExeFile, "csrss.exe") == 0
+                    && is_parent_child(parent, pinfo.th32ParentProcessID) == 2)
+                {
+                    return 1;
+                }
+                else if (stricmp(pinfo.szExeFile, "smss.exe") == 0
+                    && pinfo.th32ParentProcessID == 4)
+                {
+                    return 2;
+                }
+
+                if (hchild != 0)
+                {
+                    HANDLE hparent = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pinfo.th32ParentProcessID);
+                    if (hparent != 0)
+                    {
+                        tchild = creation_time(hchild);
+                        tparent = creation_time(hparent);
+                        
+                        CloseHandle(hparent);
+                    }
+                    CloseHandle(hchild);
+                }
+
+                /* return 0 if one of the following is true:
+                1. we failed to read process creation time
+                2. child was created before alleged parent */
+                if (tchild == 0.0 || tparent == 0.0 || tchild < tparent)
+                    return 0;
+
+                return is_parent_child(parent, pinfo.th32ParentProcessID) & 1;
+            }
         }
 
         CloseHandle(process_snapshot_h);
@@ -1026,37 +1106,63 @@
     return 0;
 }
 
-int related(HANDLE h, DWORD p)
-{
-    return is_parent_child(get_process_id(h), p);
-}
+typedef struct PROCESS_HANDLE_ID {HANDLE h; DWORD pid;} PROCESS_HANDLE_ID;
 
-BOOL CALLBACK window_enum(HWND hwnd, LPARAM lParam)
+/* This function is called by the operating system for each topmost window. */
+BOOL CALLBACK
+window_enum(HWND hwnd, LPARAM lParam)
 {
-    char buf[10] = {0};
-    HANDLE h = *((HANDLE*) (lParam));
+    char buf[7] = {0};
+    PROCESS_HANDLE_ID p = *((PROCESS_HANDLE_ID*) (lParam));
     DWORD pid = 0;
+    DWORD tid = 0;
 
-    if (!GetClassNameA(hwnd, buf, 10))
-        return TRUE; // failed to read class name
+    /* we want to find and close any window that:
+    1. is visible and
+    2. is a dialog and
+    3. is displayed by any of our child processes */
+    if (!IsWindowVisible(hwnd))
+        return TRUE;
 
-    if (strcmp(buf, "#32770"))
-        return TRUE; // not a dialog
+    if (!GetClassNameA(hwnd, buf, sizeof(buf)))
+        return TRUE; /* failed to read class name; presume it's not a dialog */
+ 
+    if (strcmp(buf, "#32770") != 0)
+        return TRUE; /* not a dialog */
 
-    GetWindowThreadProcessId(hwnd, &pid);
-    if (related(h, pid))
+    /* GetWindowThreadProcessId returns 0 on error, otherwise thread id
+    of window message pump thread */
+    tid = GetWindowThreadProcessId(hwnd, &pid);
+ 
+    if (tid && is_parent_child(p.pid, pid))
     {
-        PostMessage(hwnd, WM_QUIT, 0, 0);
-        // just one window at a time
+        /* ask really nice */
+        PostMessageA(hwnd, WM_CLOSE, 0, 0);
+        /* now wait and see if it worked. If not, insist */
+        if (WaitForSingleObject(p.h, 200) == WAIT_TIMEOUT)
+        {
+            PostThreadMessageA(tid, WM_QUIT, 0, 0);
+            WaitForSingleObject(p.h, 300);
+        }
+        
+        /* done, we do not want to check any other window now */
         return FALSE;
     }
 
     return TRUE;
 }
 
-void close_alert(HANDLE process)
+static void 
+close_alert(HANDLE process)
 {
-    EnumWindows(&window_enum, (LPARAM) &process);
+    DWORD pid = get_process_id(process);
+    /* If process already exited or we just cannot get its process id, do not 
+    go any further */
+    if (pid)
+    {
+        PROCESS_HANDLE_ID p = {process, pid};
+        EnumWindows(&window_enum, (LPARAM) &p);
+    }
 }
 
 static int
@@ -1094,9 +1200,10 @@
     
     if ( globs.timeout > 0 )
     {
+        unsigned int alert_wait = 1;
         /* with a timeout we wait for a finish or a timeout, we check every second
          to see if something timed out */
-        for (waitcode = WAIT_TIMEOUT; waitcode == WAIT_TIMEOUT;)
+        for (waitcode = WAIT_TIMEOUT; waitcode == WAIT_TIMEOUT; ++alert_wait)
         {
             waitcode = WaitForMultipleObjects( num_active, active_handles, FALSE, 1*1000 /* 1 second */ );
             if ( waitcode == WAIT_TIMEOUT )
@@ -1105,10 +1212,16 @@
                 for ( i = 0; i < num_active; ++i )
                 {
                     double t = running_time(active_handles[i]);
+
+                    /* periodically (each 5 secs) check and close message boxes
+                    displayed by any of our child processes */
+                    if ((alert_wait % ((unsigned int) 5)) == 0)
+                        close_alert(active_handles[i]);
+
                     if ( t > (double)globs.timeout )
                     {
                         /* the job may have left an alert dialog around,
-                         try and get rid of it before killing */
+                        try and get rid of it before killing */
                         close_alert(active_handles[i]);
                         /* we have a "runaway" job, kill it */
                         kill_all(0,active_handles[i]);

Modified: boost-jam/trunk/headers.c
===================================================================
--- boost-jam/trunk/headers.c	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/headers.c	2007-05-13 21:35:00 UTC (rev 14068)
@@ -148,6 +148,15 @@
 
 	while( fgets( buf, sizeof( buf ), f ) )
 	{
+            int size = strlen (buf);
+            /* Remove trailing \r and \n, if any. */
+            while (size > 0 
+                   && (buf[size-1] == '\n' && buf[size-1] == '\r'))
+            {
+                buf[size-1] = '\0';
+                --size;
+            }
+
 	    for( i = 0; i < rec; i++ )
 		if( regexec( re[i], buf ) && re[i]->startp[1] )
 	    {

Modified: boost-jam/trunk/index.html
===================================================================
--- boost-jam/trunk/index.html	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/index.html	2007-05-13 21:35:00 UTC (rev 14068)
@@ -1,10 +1,10 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.Jam : 3.1.13</title>
+<title>Boost.Jam : 3.1.14</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
-<link rel="start" href="index.html" title="Boost.Jam : 3.1.13">
+<link rel="start" href="index.html" title="Boost.Jam : 3.1.14">
 <link rel="next" href="jam/building.html" title=" Building BJam">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
 <div class="titlepage">
 <div>
 <div><h2 class="title">
-<a name="jam"></a>Boost.Jam : 3.1.13</h2></div>
+<a name="jam"></a>Boost.Jam : 3.1.14</h2></div>
 <div><div class="author"><h3 class="author">
 <span class="firstname">Rene</span> <span class="surname">Rivera</span>
 </h3></div></div>
@@ -28,7 +28,7 @@
 <div><p class="copyright">Copyright © 2003-2006 Rene
       Rivera, David Abrahams, Vladimir Prus</p></div>
 <div><div class="legalnotice">
-<a name="id2546892"></a><p>
+<a name="id2559082"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
       </p>
@@ -76,11 +76,11 @@
       Jam</a>.
     </p>
 <p>
-      This is version 3.1.13 of BJam and is based on version 2.4 of Jam/MR:
+      This is version 3.1.14 of BJam and is based on version 2.4 of Jam/MR:
     </p>
-<pre class="programlisting">/+\
+<pre class="programlisting"><span class="emphasis"><em>+\
 +\  Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
-+/
+\+</em></span>
 This is Release 2.4 of Jam/MR, a make-like program.
 License is hereby granted to use this software and distribute it
 freely, as long as this copyright notice is retained and modifications
@@ -121,7 +121,7 @@
 </div>
 </div>
 <table width="100%"><tr>
-<td align="left"><small><p>Last revised: June 06, 2006 at 20:55:19 GMT</p></small></td>
+<td align="left"><small><p>Last revised: May 01, 2007 at 04:47:56 GMT</p></small></td>
 <td align="right"><small></small></td>
 </tr></table>
 <hr>

Modified: boost-jam/trunk/jam/building.html
===================================================================
--- boost-jam/trunk/jam/building.html	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/jam/building.html	2007-05-13 21:35:00 UTC (rev 14068)
@@ -4,9 +4,9 @@
 <title> Building BJam</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
-<link rel="start" href="../index.html" title="Boost.Jam : 3.1.13">
-<link rel="up" href="../index.html" title="Boost.Jam : 3.1.13">
-<link rel="prev" href="../index.html" title="Boost.Jam : 3.1.13">
+<link rel="start" href="../index.html" title="Boost.Jam : 3.1.14">
+<link rel="up" href="../index.html" title="Boost.Jam : 3.1.14">
+<link rel="prev" href="../index.html" title="Boost.Jam : 3.1.14">
 <link rel="next" href="usage.html" title=" Using BJam">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -57,20 +57,23 @@
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
 <th align="left">Note</th>
 </tr>
-<tr><td align="left" valign="top"><p>
-        The toolset used to build Boost.Jam is independent of the toolsets used for
-        Boost.Build. Only one version of Boost.Jam is needed to use Boost.Build.
-      </p></td></tr>
+<tr><td align="left" valign="top">
+<p>
+        </p>
+<p>
+          The toolset used to build Boost.Jam is independent of the toolsets used
+          for Boost.Build. Only one version of Boost.Jam is needed to use Boost.Build.
+        </p>
+<p>
+      </p>
+</td></tr>
 </table></div>
 <p>
       The supported toolsets, and wether they are auto-detected, are:
     </p>
-<div class="informaltable">
-<h4>
-<a name="id2508292"></a>
-        <span class="table-title">Supported Toolsets</span>
-      </h4>
-<table class="table">
+<div class="table">
+<a name="id2520501"></a><p class="title"><b>Table 1. Supported Toolsets</b></p>
+<table class="table" summary="Supported Toolsets">
 <colgroup>
 <col>
 <col>
@@ -78,216 +81,536 @@
 <col>
 </colgroup>
 <thead><tr>
-<th>Script</th>
-<th>Platform</th>
-<th>Toolset</th>
-<th>Detection</th>
+<th>
+          <p>
+            Script
+          </p>
+          </th>
+<th>
+          <p>
+            Platform
+          </p>
+          </th>
+<th>
+          <p>
+            Toolset
+          </p>
+          </th>
+<th>
+          <p>
+            Detection
+          </p>
+          </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><code class="literal">build.bat</code></td>
-<td>Windows NT, 2000, and
-            XP</td>
-<td> <a href="http://www.borland.com/bcppbuilder/freecompiler" target="_top"><code class="literal">borland</code></a><br>
+<td>
+          <p>
+            <code class="literal">build.bat</code>
+          </p>
+          </td>
+<td>
+          <p>
+            Windows NT, 2000, and XP
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.borland.com/bcppbuilder/freecompiler" target="_top"><code class="literal">borland</code></a><br>
             <a href="http://www.borland.com/" target="_top">Borland</a> C++Builder (BCC
-            5.5)</td>
-<td> * Common install location: "<code class="literal">C:\Borland\BCC55</code>"<br>
-            * <code class="literal">BCC32.EXE</code> in <code class="literal">PATH</code> </td>
+            5.5)
+          </p>
+          </td>
+<td>
+          <p>
+            * Common install location: "<code class="literal">C:\Borland\BCC55</code>"<br>
+            * <code class="literal">BCC32.EXE</code> in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.comeaucomputing.com/" target="_top"><code class="literal">como</code></a><br>
-            Comeau Computing C/C++</td>
-<td> </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.comeaucomputing.com/" target="_top"><code class="literal">como</code></a><br>
+            Comeau Computing C/C++
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc</code></a><br>
-            GNU GCC</td>
-<td> </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc</code></a><br>
+            GNU GCC
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc-nocygwin</code></a><br>
-            GNU GCC</td>
-<td> </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc-nocygwin</code></a><br>
+            GNU GCC
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.intel.com/software/products/compilers/c60" target="_top"><code class="literal">intel-win32</code></a><br>
-            Intel C++ Compiler for Windows</td>
-<td> * <code class="literal">ICL.EXE</code>
-            in <code class="literal">PATH</code> </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.intel.com/software/products/compilers/c60" target="_top"><code class="literal">intel-win32</code></a><br>
+            Intel C++ Compiler for Windows
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">ICL.EXE</code> in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.metrowerks.com/" target="_top"><code class="literal">metrowerks</code></a><br>
-            MetroWerks CodeWarrior C/C++ 7.x, 8.x, 9.x</td>
-<td> * <code class="literal">CWFolder</code>
-            variable configured * <code class="literal">MWCC.EXE</code> in <code class="literal">PATH</code>
-            </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.metrowerks.com/" target="_top"><code class="literal">metrowerks</code></a><br>
+            MetroWerks CodeWarrior C/C++ 7.x, 8.x, 9.x
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">CWFolder</code> variable configured * <code class="literal">MWCC.EXE</code>
+            in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.mingw.org/" target="_top"><code class="literal">mingw</code></a><br>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.mingw.org/" target="_top"><code class="literal">mingw</code></a><br>
             GNU <a href="http://gcc.gnu.org/" target="_top">GCC</a> as the <a href="http://www.mingw.org/" target="_top">MinGW</a>
-            configuration</td>
-<td> * Common install location: "<code class="literal">C:\MinGW</code>"
-            </td>
+            configuration
+          </p>
+          </td>
+<td>
+          <p>
+            * Common install location: "<code class="literal">C:\MinGW</code>"
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">msvc</code></a><br>
-            Microsoft Visual C++ 6.x</td>
-<td> * <code class="literal">VCVARS32.BAT</code>
-            already configured<br> * <code class="literal">%MSVCDir%</code> is present in
-            environment<br> * Common install locations: "<code class="literal">%ProgramFiles%\Microsoft
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">msvc</code></a><br>
+            Microsoft Visual C++ 6.x
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">VCVARS32.BAT</code> already configured<br> * <code class="literal">%MSVCDir%</code>
+            is present in environment<br> * Common install locations: "<code class="literal">%ProgramFiles%\Microsoft
             Visual Studio</code>", "<code class="literal">%ProgramFiles%\Microsoft
             Visual C++</code>"<br> * <code class="literal">CL.EXE</code> in <code class="literal">PATH</code><br>
-            * <code class="literal">VCVARS32.BAT</code> in <code class="literal">PATH</code> </td>
+            * <code class="literal">VCVARS32.BAT</code> in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">vc7</code></a><br>
-            Microsoft Visual C++ 7.x</td>
-<td> * <code class="literal">VCVARS32.BAT</code>
-            or <code class="literal">VSVARS32.BAT</code> already configured * <code class="literal">%VS71COMNTOOLS%</code>
-            is present in environment<br> * <code class="literal">%VCINSTALLDIR%</code> is
-            present in environment<br> * Common install locations: "<code class="literal">%ProgramFiles%\Microsoft
-            Visual Studio .NET</code>", "<code class="literal">%ProgramFiles%\Microsoft
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">vc7</code></a><br>
+            Microsoft Visual C++ 7.x
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">VCVARS32.BAT</code> or <code class="literal">VSVARS32.BAT</code>
+            already configured * <code class="literal">%VS71COMNTOOLS%</code> is present in
+            environment<br> * <code class="literal">%VCINSTALLDIR%</code> is present in environment<br>
+            * Common install locations: "<code class="literal">%ProgramFiles%\Microsoft Visual
+            Studio .NET</code>", "<code class="literal">%ProgramFiles%\Microsoft
             Visual Studio .NET 2003</code>"<br> * <code class="literal">CL.EXE</code>
             in <code class="literal">PATH</code><br> * <code class="literal">VCVARS32.BAT</code> in
-            <code class="literal">PATH</code> </td>
+            <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">vc8</code></a><br>
-            Microsoft Visual C++ 8.x</td>
-<td> * <code class="literal">VCVARS32.BAT</code>
-            or <code class="literal">VSVARS32.BAT</code> already configured<br> * <code class="literal">%VS80COMNTOOLS%</code>
-            is present in environment<br> * Common install location: "<code class="literal">%ProgramFiles%\Microsoft
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://msdn.microsoft.com/visualc/" target="_top"><code class="literal">vc8</code></a><br>
+            Microsoft Visual C++ 8.x
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">VCVARS32.BAT</code> or <code class="literal">VSVARS32.BAT</code>
+            already configured<br> * <code class="literal">%VS80COMNTOOLS%</code> is present
+            in environment<br> * Common install location: "<code class="literal">%ProgramFiles%\Microsoft
             Visual Studio 8</code>"<br> * <code class="literal">CL.EXE</code> in
             <code class="literal">PATH</code><br> * <code class="literal">VCVARS32.BAT</code> in <code class="literal">PATH</code>
-            </td>
+          </p>
+          </td>
 </tr>
 <tr>
-<td><code class="literal">build.sh</code></td>
-<td>Unix, Linux, Cygwin,
-            etc.</td>
-<td> <a href="http://www.hp.com/go/c++" target="_top"><code class="literal">acc</code></a><br>
-            HP-UX aCC</td>
-<td> * <code class="literal">aCC</code> in <code class="literal">PATH</code><br>
-            * <code class="literal">uname</code> is "HP-UX" </td>
+<td>
+          <p>
+            <code class="literal">build.sh</code>
+          </p>
+          </td>
+<td>
+          <p>
+            Unix, Linux, Cygwin, etc.
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.hp.com/go/c++" target="_top"><code class="literal">acc</code></a><br>
+            HP-UX aCC
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">aCC</code> in <code class="literal">PATH</code><br> * <code class="literal">uname</code>
+            is "HP-UX"
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.comeaucomputing.com/" target="_top"><code class="literal">como</code></a><br>
-            Comeau Computing C/C++</td>
-<td> * como in <code class="literal">PATH</code>
-            </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.comeaucomputing.com/" target="_top"><code class="literal">como</code></a><br>
+            Comeau Computing C/C++
+          </p>
+          </td>
+<td>
+          <p>
+            * como in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc</code></a><br>
-            GNU GCC</td>
-<td> * gcc in <code class="literal">PATH</code> </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://gcc.gnu.org/" target="_top"><code class="literal">gcc</code></a><br>
+            GNU GCC
+          </p>
+          </td>
+<td>
+          <p>
+            * gcc in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.intel.com/software/products/compilers/c60l/" target="_top"><code class="literal">intel-linux</code></a><br>
-            Intel C++ for Linux</td>
-<td> * <code class="literal">icc</code> in <code class="literal">PATH</code><br>
-            * Common install locations: "<code class="literal">/opt/intel/cc/9.0</code>",
-            "<code class="literal">/opt/intel_cc_80</code>", "<code class="literal">/opt/intel/compiler70</code>",
-            "<code class="literal">/opt/intel/compiler60</code>", "<code class="literal">/opt/intel/compiler50</code>"
-            </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.intel.com/software/products/compilers/c60l/" target="_top"><code class="literal">intel-linux</code></a><br>
+            Intel C++ for Linux
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">icc</code> in <code class="literal">PATH</code><br> * Common install
+            locations: "<code class="literal">/opt/intel/cc/9.0</code>", "<code class="literal">/opt/intel_cc_80</code>",
+            "<code class="literal">/opt/intel/compiler70</code>", "<code class="literal">/opt/intel/compiler60</code>",
+            "<code class="literal">/opt/intel/compiler50</code>"
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <code class="literal">kcc</code><br>
-            Intel KAI C++</td>
-<td> * <code class="literal">KCC</code> in <code class="literal">PATH</code>
-            </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <code class="literal">kcc</code><br> Intel KAI C++
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">KCC</code> in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.borland.com/bcppbuilder/freecompiler" target="_top"><code class="literal">kylix</code></a><br>
-            <a href="http://www.borland.com/" target="_top">Borland</a> C++Builder</td>
 <td>
-            * bc++ in PATH </td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.borland.com/bcppbuilder/freecompiler" target="_top"><code class="literal">kylix</code></a><br>
+            <a href="http://www.borland.com/" target="_top">Borland</a> C++Builder
+          </p>
+          </td>
+<td>
+          <p>
+            * bc++ in PATH
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.sgi.com/developers/devtools/languages/mipspro.html" target="_top"><code class="literal">mipspro</code></a><br>
-            SGI MIPSpro C</td>
-<td> * <code class="literal">uname</code> is "<code class="literal">IRIX</code>"
-            or "<code class="literal">IRIX64</code>" </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.sgi.com/developers/devtools/languages/mipspro.html" target="_top"><code class="literal">mipspro</code></a><br>
+            SGI MIPSpro C
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">uname</code> is "<code class="literal">IRIX</code>" or
+            "<code class="literal">IRIX64</code>"
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <code class="literal">sunpro</code><br>
-            Sun Workshop 6 C++</td>
-<td> * Standard install location: "<code class="literal">/opt/SUNWspro</code>"
-            </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <code class="literal">sunpro</code><br> Sun Workshop 6 C++
+          </p>
+          </td>
+<td>
+          <p>
+            * Standard install location: "<code class="literal">/opt/SUNWspro</code>"
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <code class="literal">qcc</code><br>
-            <a href="http://www.qnx.com/" target="_top">QNX Neutrino</a>
-</td>
 <td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <code class="literal">qcc</code><br> <a href="http://www.qnx.com/" target="_top">QNX Neutrino</a>
+          </p>
+          </td>
+<td>
+          <p>
             * <code class="literal">uname</code> is "<code class="literal">QNX</code>" and
-            <code class="literal">qcc</code> in <code class="literal">PATH</code> </td>
+            <code class="literal">qcc</code> in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www.tru64unix.compaq.com/cplus/" target="_top"><code class="literal">true64cxx</code></a><br>
-            Compaq C++ Compiler for True64 UNIX</td>
-<td> * <code class="literal">uname</code>
-            is "<code class="literal">OSF1</code>" </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.tru64unix.compaq.com/cplus/" target="_top"><code class="literal">true64cxx</code></a><br>
+            Compaq C++ Compiler for True64 UNIX
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">uname</code> is "<code class="literal">OSF1</code>"
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td> </td>
-<td> <a href="http://www-3.ibm.com/software/ad/vacpp/" target="_top"><code class="literal">vacpp</code></a><br>
-            IBM VisualAge C++</td>
-<td> * <code class="literal">xlc</code> in <code class="literal">PATH</code>
-            </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www-3.ibm.com/software/ad/vacpp/" target="_top"><code class="literal">vacpp</code></a><br>
+            IBM VisualAge C++
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">xlc</code> in <code class="literal">PATH</code>
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td>MacOS X</td>
-<td> <a href="http://developer.apple.com/tools/compilers.html" target="_top"><code class="literal">darwin</code></a><br>
-            Apple MacOS X GCC</td>
-<td> * <code class="literal">uname</code> is "<code class="literal">Darwin</code>"
-            </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            MacOS X
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://developer.apple.com/tools/compilers.html" target="_top"><code class="literal">darwin</code></a><br>
+            Apple MacOS X GCC
+          </p>
+          </td>
+<td>
+          <p>
+            * <code class="literal">uname</code> is "<code class="literal">Darwin</code>"
+          </p>
+          </td>
 </tr>
 <tr>
-<td> </td>
-<td>Windows NT, 2000, and XP</td>
-<td> <a href="http://www.mingw.org/" target="_top"><code class="literal">mingw</code></a><br> GNU
-            <a href="http://gcc.gnu.org/" target="_top">GCC</a> as the <a href="http://www.mingw.org/" target="_top">MinGW</a>
-            configuration with the MSYS shell</td>
-<td> * Common install location:
-            "<code class="literal">/mingw</code>" </td>
+<td>
+          <p>
+          </p>
+          </td>
+<td>
+          <p>
+            Windows NT, 2000, and XP
+          </p>
+          </td>
+<td>
+          <p>
+            <a href="http://www.mingw.org/" target="_top"><code class="literal">mingw</code></a><br>
+            GNU <a href="http://gcc.gnu.org/" target="_top">GCC</a> as the <a href="http://www.mingw.org/" target="_top">MinGW</a>
+            configuration with the MSYS shell
+          </p>
+          </td>
+<td>
+          <p>
+            * Common install location: "<code class="literal">/mingw</code>"
+          </p>
+          </td>
 </tr>
 </tbody>
 </table>

Modified: boost-jam/trunk/jam/language.html
===================================================================
--- boost-jam/trunk/jam/language.html	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/jam/language.html	2007-05-13 21:35:00 UTC (rev 14068)
@@ -4,8 +4,8 @@
 <title> Language</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
-<link rel="start" href="../index.html" title="Boost.Jam : 3.1.13">
-<link rel="up" href="../index.html" title="Boost.Jam : 3.1.13">
+<link rel="start" href="../index.html" title="Boost.Jam : 3.1.14">
+<link rel="up" href="../index.html" title="Boost.Jam : 3.1.14">
 <link rel="prev" href="usage.html" title=" Using BJam">
 <link rel="next" href="miscellaneous.html" title="Miscellaneous">
 </head>
@@ -85,9 +85,9 @@
 <p>
           Whenever a target is bound to a location in the filesystem, Boost Jam will
           look for a variable called <code class="literal">BINDRULE</code> (first "on"
-          the target being bound, then in the global module). If non-empty, <code class="literal">$(BINDRULE[1])</code>
+          the target being bound, then in the global module). If non-empty, =$(BINDRULE[1])=
           names a rule which is called with the name of the target and the path it
-          is being bound to. The signature of the rule named by <code class="literal">$(BINDRULE[1])</code>
+          is being bound to. The signature of the rule named by =$(BINDRULE[1])=
           should match the following:
         </p>
 <pre class="programlisting">rule <span class="emphasis"><em>bind-rule</em></span> ( <span class="emphasis"><em>target</em></span> : <span class="emphasis"><em>path</em></span> )
@@ -117,7 +117,7 @@
       </p>
 <p>
         Rules can return values, which can be expanded into a list with "[
-        <span class="emphasis"><em>rule</em></span> <span class="emphasis"><em>args</em></span> ... ]". A rule's
+        <span class="emphasis"><em>rule</em></span> <span class="emphasis"><em>args</em></span> ... ]". A rule's
         value is the value of its last statement, though only the following statements
         have values: 'if' (value of the leg chosen), 'switch' (value of the case
         chosen), set (value of the resulting variable), and 'return' (value of its
@@ -142,18 +142,18 @@
 <p>
         Invoke a rule.
       </p>
-<pre class="programlisting"><span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ;
+<pre class="programlisting"><span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ;
 </pre>
 <p>
         Invoke a rule under the influence of target's specific variables..
       </p>
-<pre class="programlisting">on <span class="emphasis"><em>target</em></span> <span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ;
+<pre class="programlisting">on <span class="emphasis"><em>target</em></span> <span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ;
 </pre>
 <p>
         Used as an argument, expands to the return value of the rule invoked.
       </p>
-<pre class="programlisting">[ <span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ]
-[ on <span class="emphasis"><em>target</em></span> <span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ]
+<pre class="programlisting">[ <span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ]
+[ on <span class="emphasis"><em>target</em></span> <span class="emphasis"><em>rulename</em></span> <span class="emphasis"><em>field1</em></span> : <span class="emphasis"><em>field2</em></span> : <span class="emphasis"><em>...</em></span> : <span class="emphasis"><em>fieldN</em></span> ]
 </pre>
 <p>
         A rule is invoked with values in <span class="emphasis"><em>field1</em></span> through <span class="emphasis"><em>fieldN</em></span>.
@@ -261,40 +261,65 @@
           in the rule declaration) is bound to a single element of the corresponding
           actual argument unless followed by one of these modifiers:
         </p>
-<div class="informaltable">
-<h4>
-<a name="id2558760"></a>
-          </h4>
-<table class="table">
+<div class="informaltable"><table class="table">
 <colgroup>
 <col>
 <col>
 </colgroup>
 <thead><tr>
-<th>Symbol</th>
-<th>Semantics of preceding symbol</th>
+<th>
+                <p>
+                  Symbol
+                </p>
+                </th>
+<th>
+                <p>
+                  Semantics of preceding symbol
+                </p>
+                </th>
 </tr></thead>
 <tbody>
 <tr>
-<td><code class="literal">?</code></td>
-<td>optional</td>
+<td>
+                <p>
+                  <code class="literal">?</code>
+                </p>
+                </td>
+<td>
+                <p>
+                  optional
+                </p>
+                </td>
 </tr>
 <tr>
-<td><code class="literal">*</code></td>
-<td>Bind to zero or more unbound
-                elements of the actual argument. When <code class="literal">*</code> appears
-                where an argument name is expected, any number of additional arguments
-                are accepted. This feature can be used to implement "varargs"
-                rules.</td>
+<td>
+                <p>
+                  <code class="literal">*</code>
+                </p>
+                </td>
+<td>
+                <p>
+                  Bind to zero or more unbound elements of the actual argument. When
+                  <code class="literal">*</code> appears where an argument name is expected,
+                  any number of additional arguments are accepted. This feature can
+                  be used to implement "varargs" rules.
+                </p>
+                </td>
 </tr>
 <tr>
-<td><code class="literal">+</code></td>
-<td>Bind to one or more unbound
-                elements of the actual argument.</td>
+<td>
+                <p>
+                  <code class="literal">+</code>
+                </p>
+                </td>
+<td>
+                <p>
+                  Bind to one or more unbound elements of the actual argument.
+                </p>
+                </td>
 </tr>
 </tbody>
-</table>
-</div>
+</table></div>
 <p>
           The actual and formal arguments are checked for inconsistencies, which
           cause Jam to exit with an error code:
@@ -414,10 +439,16 @@
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../images/warning.png"></td>
 <th align="left">Warning</th>
 </tr>
-<tr><td align="left" valign="top"><p>
-              For targets with build actions: if their build actions exit with a
-              nonzero return code, dependent targets will still be built.
-            </p></td></tr>
+<tr><td align="left" valign="top">
+<p>
+              </p>
+<p>
+                For targets with build actions: if their build actions exit with
+                a nonzero return code, dependent targets will still be built.
+              </p>
+<p>
+            </p>
+</td></tr>
 </table></div>
 <pre class="programlisting">NOTFILE <span class="emphasis"><em>targets</em></span> ;
 </pre>
@@ -478,17 +509,25 @@
             <code class="literal">ISFILE</code> marks targets as required to be files. This
             changes the way <code class="literal">bjam</code> searches for the target such
             that it ignores mathes for file system items that are not file, like
-            directories. This makes it possible to avoid <code class="computeroutput"><span class="preprocessor">#include</span> <span class="string">"exception"</span></code> matching if one happens
-            to have a directory named exception in the header search path.
+            directories. This makes it possible to avoid <code class="computeroutput"><span class="preprocessor">#include</span>
+            <span class="string">"exception"</span></code> matching
+            if one happens to have a directory named exception in the header search
+            path.
           </p>
 <div class="warning"><table border="0" summary="Warning">
 <tr>
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../images/warning.png"></td>
 <th align="left">Warning</th>
 </tr>
-<tr><td align="left" valign="top"><p>
-              This is currently not fully implemented.
-            </p></td></tr>
+<tr><td align="left" valign="top">
+<p>
+              </p>
+<p>
+                This is currently not fully implemented.
+              </p>
+<p>
+            </p>
+</td></tr>
 </table></div>
 </div>
 <div class="section" lang="en">
@@ -555,9 +594,10 @@
 <pre class="programlisting">rule BACKTRACE ( )
 </pre>
 <p>
-            Returns a list of quadruples: <span class="emphasis"><em>filename</em></span> <span class="emphasis"><em>line</em></span> <span class="emphasis"><em>module</em></span> <span class="emphasis"><em>rulename</em></span>...,
-            describing each shallower level of the call stack. This rule can be used
-            to generate useful diagnostic messages from Jam rules.
+            Returns a list of quadruples: <span class="emphasis"><em>filename</em></span> <span class="emphasis"><em>line</em></span>
+            <span class="emphasis"><em>module</em></span> <span class="emphasis"><em>rulename</em></span>..., describing
+            each shallower level of the call stack. This rule can be used to generate
+            useful diagnostic messages from Jam rules.
           </p>
 <pre class="programlisting">rule UPDATE ( <span class="emphasis"><em>targets</em></span> * )
 </pre>
@@ -1255,7 +1295,7 @@
             </dd>
 <dt><span class="term"><code class="literal">JAMVERSION</code></span></dt>
 <dd>
-<code class="literal">bjam</code> version, currently "3.1.13"
+<code class="literal">bjam</code> version, currently "3.1.14"
             </dd>
 <dt><span class="term"><code class="literal">JAM_VERSION</code></span></dt>
 <dd>
@@ -1468,10 +1508,16 @@
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
 <th align="left">Note</th>
 </tr>
-<tr><td align="left" valign="top"><p>
-            This includes any local variables in rules from the call stack which
-            have not returned at the time of the <code class="literal">VARNAMES</code> invocation.
-          </p></td></tr>
+<tr><td align="left" valign="top">
+<p>
+            </p>
+<p>
+              This includes any local variables in rules from the call stack which
+              have not returned at the time of the <code class="literal">VARNAMES</code> invocation.
+            </p>
+<p>
+          </p>
+</td></tr>
 </table></div>
 </div>
 <div class="section" lang="en">
@@ -1572,14 +1618,20 @@
 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
 <th align="left">Note</th>
 </tr>
-<tr><td align="left" valign="top"><p>
-            Though it won't affect rules that are currently executing until they
-            complete, <code class="literal">DELETE_MODULE</code> should be used with extreme
-            care because it will wipe out any others and all variable (including
-            locals in that module) immediately. Because of the way dynamic binding
-            works, variables which are shadowed by locals will not be destroyed,
-            so the results can be really unpredictable.
-          </p></td></tr>
+<tr><td align="left" valign="top">
+<p>
+            </p>
+<p>
+              Though it won't affect rules that are currently executing until they
+              complete, <code class="literal">DELETE_MODULE</code> should be used with extreme
+              care because it will wipe out any others and all variable (including
+              locals in that module) immediately. Because of the way dynamic binding
+              works, variables which are shadowed by locals will not be destroyed,
+              so the results can be really unpredictable.
+            </p>
+<p>
+          </p>
+</td></tr>
 </table></div>
 </div>
 </div>

Modified: boost-jam/trunk/jam/miscellaneous.html
===================================================================
--- boost-jam/trunk/jam/miscellaneous.html	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/jam/miscellaneous.html	2007-05-13 21:35:00 UTC (rev 14068)
@@ -4,8 +4,8 @@
 <title>Miscellaneous</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
-<link rel="start" href="../index.html" title="Boost.Jam : 3.1.13">
-<link rel="up" href="../index.html" title="Boost.Jam : 3.1.13">
+<link rel="start" href="../index.html" title="Boost.Jam : 3.1.14">
+<link rel="up" href="../index.html" title="Boost.Jam : 3.1.14">
 <link rel="prev" href="language.html" title=" Language">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -227,8 +227,8 @@
           following allows a sensible non-empty default which can easily be overridden
           by the user: 
 <pre class="programlisting">
-<span class="identifier">MESSAGE</span> <span class="special">?\=</span> <span class="identifier">starting</span> <span class="identifier">jam</span><span class="special">...</span> <span class="special">;</span>
-<span class="keyword">if</span> #<span class="special">(</span><span class="identifier">MESSAGE</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">ECHO</span> <span class="identifier">The</span> <span class="identifier">message</span> <span class="identifier">is</span><span class="special">:</span> #<span class="special">(</span><span class="identifier">MESSAGE</span><span class="special">)</span> <span class="special">;</span> <span class="special">}</span>
+<span class="identifier">MESSAGE</span> <span class="special">?\=</span> <span class="identifier">starting</span> <span class="identifier">jam</span><span class="special">...</span> <span class="special">;</span>
+<span class="keyword">if</span> #<span class="special">(</span><span class="identifier">MESSAGE</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">ECHO</span> <span class="identifier">The</span> <span class="identifier">message</span> <span class="identifier">is</span><span class="special">:</span> #<span class="special">(</span><span class="identifier">MESSAGE</span><span class="special">)</span> <span class="special">;</span> <span class="special">}</span>
 </pre>
           If the user wants a specific message, he invokes jam with <code class="literal">"-sMESSAGE=message
           text"</code>. If he wants no message, he invokes jam with <code class="literal">-sMESSAGE=</code>

Modified: boost-jam/trunk/jam/usage.html
===================================================================
--- boost-jam/trunk/jam/usage.html	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/jam/usage.html	2007-05-13 21:35:00 UTC (rev 14068)
@@ -4,8 +4,8 @@
 <title> Using BJam</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
-<link rel="start" href="../index.html" title="Boost.Jam : 3.1.13">
-<link rel="up" href="../index.html" title="Boost.Jam : 3.1.13">
+<link rel="start" href="../index.html" title="Boost.Jam : 3.1.14">
+<link rel="up" href="../index.html" title="Boost.Jam : 3.1.14">
 <link rel="prev" href="building.html" title=" Building BJam">
 <link rel="next" href="language.html" title=" Language">
 </head>

Modified: boost-jam/trunk/patchlevel.h
===================================================================
--- boost-jam/trunk/patchlevel.h	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/patchlevel.h	2007-05-13 21:35:00 UTC (rev 14068)
@@ -9,9 +9,9 @@
 
 #define VERSION_MAJOR 3
 #define VERSION_MINOR 1
-#define VERSION_PATCH 13
+#define VERSION_PATCH 14
 #define VERSION_MAJOR_SYM "03"
 #define VERSION_MINOR_SYM "1"
-#define VERSION_PATCH_SYM "13"
-#define VERSION "3.1.13"
+#define VERSION_PATCH_SYM "14"
+#define VERSION "3.1.14"
 #define JAMVERSYM "JAMVERSION=3.1"

Modified: boost-jam/trunk/variable.c
===================================================================
--- boost-jam/trunk/variable.c	2007-05-13 21:31:24 UTC (rev 14067)
+++ boost-jam/trunk/variable.c	2007-05-13 21:35:00 UTC (rev 14068)
@@ -291,8 +291,7 @@
                         }
                         
                         /* expand the file value into the file reference */
-                        if ( !globs.noexec )
-                            var_string_to_file( split+3, ine-split-4, file_name_s, lol );
+                        var_string_to_file( split+3, ine-split-4, file_name_s, lol );
                         
                         /* continue on with the expansion */
                         out += strlen(out);
@@ -352,8 +351,13 @@
 {
     const char * ine = in+insize;
     FILE * out_file = 0;
-    if ( strcmp( out, "STDOUT" ) == 0 )
+    int out_debug = DEBUG_EXEC ? 1 : 0;
+    if ( globs.noexec )
     {
+        /* out_debug = 1; */
+    }
+    else if ( strcmp( out, "STDOUT" ) == 0 )
+    {
         out_file = stdout;
     }
     else if ( strcmp( out, "STDERR" ) == 0 )
@@ -382,6 +386,8 @@
         string_free(&out_name);
     }
 
+    if ( out_debug ) printf("\nfile %s\n",out);
+
     while( *in && in < ine )
     {
         int dollar = 0;
@@ -396,7 +402,8 @@
         }
         if ( output_0 < output_1 )
         {
-            fwrite(output_0,output_1-output_0,1,out_file);
+            if ( out_file ) fwrite(output_0,output_1-output_0,1,out_file);
+            if ( out_debug ) fwrite(output_0,output_1-output_0,1,stdout);
         }
         output_0 = output_1;
 
@@ -411,7 +418,7 @@
             ++output_1;
         }
 
-        /* If a variable encountered, expand it and and embed the */
+        /* If a variable encountered, expand it and embed the */
         /* space-separated members of the list in the output. */
 
         if( dollar )
@@ -422,26 +429,34 @@
 
             while ( l )
             {
-                fputs( l->string, out_file );
+                if ( out_file ) fputs( l->string, out_file );
+                if ( out_debug ) puts( l->string );
                 l = list_next( l );
-                if ( l ) fputc( ' ', out_file );
+                if ( l )
+                {
+                    if ( out_file ) fputc( ' ', out_file );
+                    if ( out_debug ) fputc( ' ', stdout );
+                }
             }
 
             list_free( l );
         }
         else if ( output_0 < output_1 )
         {
-            fwrite(output_0,output_1-output_0,1,out_file);
+            if ( out_file ) fwrite(output_0,output_1-output_0,1,out_file);
+            if ( out_debug ) fwrite(output_0,output_1-output_0,1,stdout);
         }
         
         in = output_1;
     }
 
-    if ( out_file != stdout && out_file != stderr )
+    if ( out_file && out_file != stdout && out_file != stderr )
     {
         fflush( out_file );
         fclose( out_file );
     }
+
+    if ( out_debug ) fputc('\n',stdout);
 }
 
 /*




More information about the pkg-boost-commits mailing list