Boost logo

Boost-Commit :

From: dave_at_[hidden]
Date: 2007-11-24 13:39:42


Author: dave
Date: 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
New Revision: 41340
URL: http://svn.boost.org/trac/boost/changeset/41340

Log:
Merge in some changes from trunk

Text files modified:
   branches/bitten/tools/Jamfile.v2 | 7 ++-
   branches/bitten/tools/boostbook/xsl/html.xsl | 13 +++++-
   branches/bitten/tools/boostbook/xsl/xhtml.xsl | 13 +++++-
   branches/bitten/tools/build/v2/build/project.jam | 10 +++++
   branches/bitten/tools/build/v2/tools/builtin.jam | 4 ++
   branches/bitten/tools/inspect/inspect.cpp | 40 +++++++++++++++++----
   branches/bitten/tools/inspect/long_name_check.cpp | 72 +++++-----------------------------------
   branches/bitten/tools/inspect/unnamed_namespace_check.cpp | 2
   branches/bitten/tools/jam/src/build.jam | 4 +-
   branches/bitten/tools/jam/src/jam.h | 6 ++
   branches/bitten/tools/jam/src/output.c | 8 ++++
   branches/bitten/tools/quickbook/detail/utils.cpp | 1
   branches/bitten/tools/regression/build/Jamroot.jam | 24 +++++++++++-
   branches/bitten/tools/regression/xsl_reports/build_results.sh | 71 ++++++++++++++++++++++++++++++++++++++-
   14 files changed, 186 insertions(+), 89 deletions(-)

Modified: branches/bitten/tools/Jamfile.v2
==============================================================================
--- branches/bitten/tools/Jamfile.v2 (original)
+++ branches/bitten/tools/Jamfile.v2 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -14,12 +14,15 @@
     <link>static
     ;
 
+use-project /boost/regression : regression/build ;
+
 TOOLS =
     bcp//bcp
     inspect/build//inspect
     quickbook//quickbook
- regression/build//compiler_status
- regression/build//process_jam_log
+ /boost/regression//compiler_status
+ /boost/regression//library_status
+ /boost/regression//process_jam_log
     wave/build//wave
     ;
 

Modified: branches/bitten/tools/boostbook/xsl/html.xsl
==============================================================================
--- branches/bitten/tools/boostbook/xsl/html.xsl (original)
+++ branches/bitten/tools/boostbook/xsl/html.xsl 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -172,7 +172,7 @@
                                  $time, ' ', $timezone)"/>
   </xsl:template>
 
-
+ <!-- Footer Copyright -->
   <xsl:template match="copyright" mode="boost.footer">
     <xsl:if test="position() &gt; 1">
       <br/>
@@ -195,6 +195,11 @@
     <xsl:apply-templates select="holder" mode="titlepage.mode"/>
   </xsl:template>
 
+ <!-- Footer License -->
+ <xsl:template match="legalnotice" mode="boost.footer">
+ <xsl:apply-templates select="para" mode="titlepage.mode" />
+ </xsl:template>
+
   <xsl:template name="user.footer.content">
     <table width="100%">
       <tr>
@@ -231,10 +236,12 @@
           </xsl:if>
         </td>
         <td align="right">
- <small>
+ <div class = "copyright-footer">
             <xsl:apply-templates select="ancestor::*/*/copyright"
               mode="boost.footer"/>
- </small>
+ <xsl:apply-templates select="ancestor::*/*/legalnotice"
+ mode="boost.footer"/>
+ </div>
         </td>
       </tr>
     </table>

Modified: branches/bitten/tools/boostbook/xsl/xhtml.xsl
==============================================================================
--- branches/bitten/tools/boostbook/xsl/xhtml.xsl (original)
+++ branches/bitten/tools/boostbook/xsl/xhtml.xsl 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -171,7 +171,7 @@
                                  $time, ' ', $timezone)"/>
   </xsl:template>
 
-
+ <!-- Footer Copyright -->
   <xsl:template match="copyright" mode="boost.footer">
     <xsl:if test="position() &gt; 1">
       <br/>
@@ -194,6 +194,11 @@
     <xsl:apply-templates select="holder" mode="titlepage.mode"/>
   </xsl:template>
 
+ <!-- Footer License -->
+ <xsl:template match="legalnotice" mode="boost.footer">
+ <xsl:apply-templates select="para" mode="titlepage.mode" />
+ </xsl:template>
+
   <xsl:template name="user.footer.content">
     <table width="100%">
       <tr>
@@ -230,10 +235,12 @@
           </xsl:if>
         </td>
         <td align="right">
- <small>
+ <div class = "copyright-footer">
             <xsl:apply-templates select="ancestor::*/*/copyright"
               mode="boost.footer"/>
- </small>
+ <xsl:apply-templates select="ancestor::*/*/legalnotice"
+ mode="boost.footer"/>
+ </div>
         </td>
       </tr>
     </table>

Modified: branches/bitten/tools/build/v2/build/project.jam
==============================================================================
--- branches/bitten/tools/build/v2/build/project.jam (original)
+++ branches/bitten/tools/build/v2/build/project.jam 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -1007,7 +1007,15 @@
     #
     rule conditional ( condition + : requirements * )
     {
- return $(condition:J=,):$(requirements) ;
+ local condition = $(condition:J=,) ;
+ if [ MATCH (:) : $(condition) ]
+ {
+ return $(condition)$(requirements) ;
+ }
+ else
+ {
+ return $(condition):$(requirements) ;
+ }
     }
 }
 

Modified: branches/bitten/tools/build/v2/tools/builtin.jam
==============================================================================
--- branches/bitten/tools/build/v2/tools/builtin.jam (original)
+++ branches/bitten/tools/build/v2/tools/builtin.jam 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -205,6 +205,8 @@
     power
     # MIPS/SGI
     mips1 mips2 mips3 mips4 mips32 mips32r2 mips64
+ # HP/PA-RISC
+ parisc
     #
     : propagated optional ;
 
@@ -237,6 +239,8 @@
     r2000 r3000 r3900 r4000 r4100 r4300 r4400 r4600 r4650 r6000 r8000
     rm7000 rm9000 orion sb1
     vr4100 vr4111 vr4120 vr4130 vr4300 vr5000 vr5400 vr5500
+ # HP/PA-RISC
+ 700 7100 7100lc 7200 7300 8000
     #
     : propagated optional ;
     

Modified: branches/bitten/tools/inspect/inspect.cpp
==============================================================================
--- branches/bitten/tools/inspect/inspect.cpp (original)
+++ branches/bitten/tools/inspect/inspect.cpp 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -84,6 +84,25 @@
   typedef std::vector< error_msg > error_msg_vector;
   error_msg_vector msgs;
 
+// get info (as a string) if inspect_root is svn working copy --------------//
+
+ string info( const fs::path & inspect_root )
+ {
+ string rev;
+ string repos;
+ fs::path entries( inspect_root / ".svn" / "entries" );
+ fs::ifstream entries_file( entries );
+ if ( entries_file )
+ {
+ std::getline( entries_file, rev );
+ std::getline( entries_file, rev );
+ std::getline( entries_file, rev );
+ std::getline( entries_file, rev ); // revision number as a string
+ std::getline( entries_file, repos ); // repository as a string
+ }
+ return repos + " at revision " + rev;
+ }
+
 // visit_predicate (determines which directories are visited) --------------//
 
   typedef bool(*pred_type)(const path&);
@@ -609,6 +628,8 @@
       link_ck = true;
     else if ( std::strcmp( argv[1], "-long_name" ) == 0 )
       long_name_ck = true;
+ else if ( std::strcmp( argv[1], "-long-name" ) == 0 )
+ long_name_ck = true;
     else if ( std::strcmp( argv[1], "-tab" ) == 0 )
       tab_ck = true;
     else if ( std::strcmp( argv[1], "-minmax" ) == 0 )
@@ -629,6 +650,7 @@
 
   string inspector_keys;
   fs::initial_path();
+
 
   {
 
@@ -681,8 +703,7 @@
         "\n"
         "An inspection program <http://www.boost.org/tools/inspect/index.html>\n"
         "checks each file in the current Boost CVS for various problems,\n"
- "generating this as output. Problems detected include tabs in files,\n"
- "missing copyrights, broken URL's, and similar misdemeanors.\n"
+ "generating an HTML page as output.\n"
         "\n"
       ;
 
@@ -709,21 +730,24 @@
       // we should not use a table, of course [gps]
       "<table>\n"
       "<tr>\n"
- "<td><img src=\"../boost.png\" alt=\"Boost logo\" />"
+ "<td><img src=\"http://www.boost.org/boost.png\" alt=\"Boost logo\" />"
       "</td>\n"
       "<td>\n"
       "<h1>Boost Inspection Report</h1>\n"
       "<b>Run Date:</b> " << run_date << "\n"
- "&nbsp;&nbsp;/ " << validator_link( "validate me" ) << " /\n"
+ //"&nbsp;&nbsp;/ " << validator_link( "validate me" ) << " /\n"
       "</td>\n"
       "</tr>\n"
       "</table>\n"
 
- "<p>An <a href=\"http://www.boost.org/tools/inspect/index.html\">inspection\n"
- "program</a> checks each file in the current Boost CVS for various problems,\n"
- "generating this web page as output. Problems detected include tabs in files,\n"
- "missing copyrights, broken URL's, and similar misdemeanors.</p>\n"
+ "<p>This report is generated by an <a href=\"http://www.boost.org/tools/inspect/index.html\">inspection\n"
+ "program</a> that checks files for the problems noted below.</p>\n"
       ;
+ std::cout
+ << "<p>The files checked were from "
+ << info( fs::initial_path() )
+ << ".</p>\n";
+
 
     std::cout
       << "<h2>Totals</h2>\n<pre>"

Modified: branches/bitten/tools/inspect/long_name_check.cpp
==============================================================================
--- branches/bitten/tools/inspect/long_name_check.cpp (original)
+++ branches/bitten/tools/inspect/long_name_check.cpp 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -17,30 +17,20 @@
 
 namespace { namespace aux {
 
-bool starts_with_nonalpha( path const & p )
+bool starts_with_nonalnum( path const & p )
 {
   const string & x = p.string();
   assert(!x.empty());
 
   const string::value_type first = x[0];
 
- return !std::isalpha( first, std::locale::classic() )
+ return !std::isalnum( first, std::locale::classic() )
       && first != '_'
       && x != ".cvsignore"
+ && x != ".svn"
       ;
 }
 
-bool contains_dot( path const & p)
-{
- return p.string().find( '.' ) != std::string::npos;
-}
-
-// ISO 9660
-path::iterator::difference_type depth( path const & p)
-{
- return std::distance( p.begin(), p.end() );
-}
-
 }}
 
 
@@ -48,7 +38,7 @@
 {
   namespace inspect
   {
- const char file_name_check::limits::name[] = "ISO 9660 Level 3";
+ const char file_name_check::limits::name[] = "ISO 9660:1999 Level 3";
 
     file_name_check::file_name_check() : m_name_errors(0) {}
 
@@ -58,29 +48,6 @@
     {
       std::string const leaf( full_path.leaf() );
 
- // checks on the leaf name ----------------------------------//
- {
- const unsigned m = filesystem::is_directory(full_path)
- ? limits::max_dirname_length
- : limits::max_filename_length;
-
- if ( leaf.size() > m )
- {
- ++m_name_errors;
- error( library_name, full_path, string(name())
- + " name exceeds "
- + boost::lexical_cast<string>(m)
- + " characters" );
- }
- }
-
- if ( std::count( leaf.begin(), leaf.end(), '.' ) > 1 )
- {
- ++m_name_errors;
- error( library_name, full_path, string(name())
- + " name contains more than one dot character ('.')" );
- }
-
       if ( *leaf.rbegin() == '.' )
       {
         ++m_name_errors;
@@ -95,37 +62,16 @@
 
       // checks on the directory name --------------------------- //
 
- if( aux::starts_with_nonalpha( path(leaf)) )
+ if( aux::starts_with_nonalnum( path(leaf)) )
       {
         ++m_name_errors;
         error( library_name, full_path, string(name())
             + " leading character of \""
             + leaf + "\""
- + " is not alphabetic" );
- }
-
- if ( filesystem::is_directory( full_path )
- && aux::contains_dot( relative_path ) )
- {
- ++m_name_errors;
- error( library_name, full_path, string(name())
- + " directory name contains the dot character ('.')" );
- }
-
- {
- const int m = limits::max_directory_depth;
- if ( filesystem::is_directory( full_path )
- && aux::depth( relative_path) > m )
- {
- ++m_name_errors;
- error( library_name, full_path, string(name())
- + " directory depth exceeds "
- + boost::lexical_cast<string>(m)
- + " (maximum for " + limits::name + " (CD-ROMs))" );
- }
+ + " is not alphanumeric" );
       }
 
- const unsigned max_relative_path = 100; // [gps] Explain this
+ const unsigned max_relative_path = 207; // ISO 9660:1999 sets this limit
       const string generic_root( "boost_X_XX_X/" );
       if ( relative_path.string().size() >
           ( max_relative_path - generic_root.size() ) )
@@ -136,11 +82,11 @@
             + " file path will exceed "
             + boost::lexical_cast<string>(max_relative_path)
             + " characters in a directory tree with a root of the form "
- + generic_root )
+ + generic_root + ", and this exceeds ISO 9660:1999 limit of 207" )
             ;
       }
 
- if (relative_path.leaf() != ".cvsignore")
+ if (relative_path.leaf() != ".cvsignore" && relative_path.leaf() != ".svn")
       {
         try
         {

Modified: branches/bitten/tools/inspect/unnamed_namespace_check.cpp
==============================================================================
--- branches/bitten/tools/inspect/unnamed_namespace_check.cpp (original)
+++ branches/bitten/tools/inspect/unnamed_namespace_check.cpp 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -15,7 +15,7 @@
 {
 
   boost::regex unnamed_namespace_regex(
- "namespace\\s(\\?\\?<|\\{)" // trigraph ??< or {
+ "\\<namespace\\s(\\?\\?<|\\{)" // trigraph ??< or {
   );
 
 } // unnamed namespace (ironical? :-)

Modified: branches/bitten/tools/jam/src/build.jam
==============================================================================
--- branches/bitten/tools/jam/src/build.jam (original)
+++ branches/bitten/tools/jam/src/build.jam 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -197,8 +197,8 @@
 ## Intel C/C++ for Win32
 toolset intel-win32 icl : /Fe : -D
     : /nologo
- [ opt --release : /ML /O2 /Ob2 /Gy /GF /GA /GB ]
- [ opt --debug : /MLd /DEBUG /Z7 /Od /Ob0 ]
+ [ opt --release : /MT /O2 /Ob2 /Gy /GF /GA /GB ]
+ [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 ]
     -I$(--python-include) -I$(--extra-include)
     : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
 ## KCC ?

Modified: branches/bitten/tools/jam/src/jam.h
==============================================================================
--- branches/bitten/tools/jam/src/jam.h (original)
+++ branches/bitten/tools/jam/src/jam.h 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -455,7 +455,7 @@
 # define OSPLAT "OSPLAT=X86"
 # endif
 
-# if defined( __ia64__ ) || defined( __IA64__ )
+# if defined( __ia64__ ) || defined( __IA64__ ) || defined( __ia64 )
 # define OSPLAT "OSPLAT=IA64"
 # endif
 
@@ -483,6 +483,10 @@
 # define OSPLAT "OSPLAT=390"
 # endif
 
+# ifdef __hppa
+# define OSPLAT "OSPLAT=PARISC"
+# endif
+
 # ifndef OSPLAT
 # define OSPLAT ""
 # endif

Modified: branches/bitten/tools/jam/src/output.c
==============================================================================
--- branches/bitten/tools/jam/src/output.c (original)
+++ branches/bitten/tools/jam/src/output.c 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -63,7 +63,11 @@
         case EXIT_TIMEOUT:
         {
             /* process expired, make user aware with explicit message */
+ if ( action )
+ {
+ /* but only output for non-quietly actions */
             fprintf(bjam_out, "%d second time limit exceeded\n", globs.timeout);
+ }
             break;
         }
         default:
@@ -71,6 +75,9 @@
     }
     
     /* print out the command output, if requested */
+ if ( action )
+ {
+ /* but only output for non-quietly actions */
     if (0 != out_data &&
        ( globs.pipe_action & 1 /* STDOUT_FILENO */ ||
          globs.pipe_action == 0))
@@ -82,6 +89,7 @@
     {
         out_(err_data,bjam_err);
     }
+ }
     
     fflush(bjam_out);
     fflush(bjam_err);

Modified: branches/bitten/tools/quickbook/detail/utils.cpp
==============================================================================
--- branches/bitten/tools/quickbook/detail/utils.cpp (original)
+++ branches/bitten/tools/quickbook/detail/utils.cpp 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -11,6 +11,7 @@
 #include <boost/spirit/core.hpp>
 
 #include <cctype>
+#include <cstring>
 #include <stdexcept>
 #include <fstream>
 #include <iostream>

Modified: branches/bitten/tools/regression/build/Jamroot.jam
==============================================================================
--- branches/bitten/tools/regression/build/Jamroot.jam (original)
+++ branches/bitten/tools/regression/build/Jamroot.jam 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -25,13 +25,27 @@
         ;
 }
 
+obj tiny_xml
+ :
+ detail/tiny_xml.cpp
+ :
+ <define>BOOST_ALL_NO_LIB=1
+ <define>_CRT_SECURE_NO_WARNINGS
+ <use>/boost//headers
+ :
+ release
+ ;
+explicit tiny_xml ;
+
 exe process_jam_log
     :
- process_jam_log.cpp detail/tiny_xml.cpp
+ process_jam_log.cpp
+ tiny_xml
     /boost/filesystem//boost_filesystem/<link>static
     :
     <define>BOOST_ALL_NO_LIB=1
     <define>_CRT_SECURE_NO_WARNINGS
+ <use>/boost//headers
     :
     release
     ;
@@ -39,10 +53,12 @@
 
 exe compiler_status
     :
- compiler_status.cpp detail/tiny_xml.cpp
+ compiler_status.cpp
+ tiny_xml
     /boost/filesystem//boost_filesystem/<link>static
     :
     <define>BOOST_ALL_NO_LIB=1
+ <use>/boost//headers
     :
     release
     ;
@@ -50,10 +66,12 @@
 
 exe library_status
     :
- library_status.cpp detail/tiny_xml.cpp
+ library_status.cpp
+ tiny_xml
     /boost/filesystem//boost_filesystem/<link>static
     :
     <define>BOOST_ALL_NO_LIB=1
+ <use>/boost//headers
     :
     release
     ;

Modified: branches/bitten/tools/regression/xsl_reports/build_results.sh
==============================================================================
--- branches/bitten/tools/regression/xsl_reports/build_results.sh (original)
+++ branches/bitten/tools/regression/xsl_reports/build_results.sh 2007-11-24 13:39:40 EST (Sat, 24 Nov 2007)
@@ -21,6 +21,71 @@
     cd "${cwd}"
 }
 
+report_info()
+{
+cat - > comment.html <<HTML
+<table style="border-spacing: 0.5em;">
+ <tr>
+ <td style="vertical-align: top;"><tt>uname</tt></td>
+ <td>
+ <pre style="border: 1px solid #666; overflow: auto;">
+`uname -a`
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"><tt>uptime</tt></td>
+ <td>
+ <pre style="border: 1px solid #666; overflow: auto;">
+`uptime`
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"><tt>vmstat</tt></td>
+ <td>
+ <pre style="border: 1px solid #666; overflow: auto;">
+`vmstat`
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"><tt>xsltproc</tt></td>
+ <td>
+ <pre style="border: 1px solid #666; overflow: auto;">
+`xsltproc --version`
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;"><tt>python</tt></td>
+ <td>
+ <pre style="border: 1px solid #666; overflow: auto;">
+`python --version 2>&1`
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">previous run</td>
+ <td>
+ <pre style="border: 1px solid #666; overflow: auto;">
+`cat previous.txt`
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td style="vertical-align: top;">current run</td>
+ <td>
+ <pre style="border: 1px solid #666; overflow: auto;">
+`date -u`
+ </pre>
+ </td>
+ </tr>
+</table>
+HTML
+ date -u > previous.txt
+}
+
 build_results()
 {
     cwd=`pwd`
@@ -31,13 +96,15 @@
         trunk) tag=trunk ;;
         release) tag=branches/release ;;
     esac
+ report_info
     python "${boost}/tools/regression/xsl_reports/boost_wide_report.py" \
         --locate-root="${root}" \
         --tag=${tag} \
         --expected-results="${boost}/status/expected_results.xml" \
         --failures-markup="${boost}/status/explicit-failures-markup.xml" \
- --comment="" \
- --user=""
+ --comment="comment.html" \
+ --user="" \
+ --reports="i,dd,ds,n"
     cd "${cwd}"
 }
 


Boost-Commit 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