Boost logo

Boost-Commit :

From: ghost_at_[hidden]
Date: 2007-09-30 14:43:09


Author: vladimir_prus
Date: 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
New Revision: 39622
URL: http://svn.boost.org/trac/boost/changeset/39622

Log:
Merge from trunk
Added:
   branches/build/Milestone_12/jam/doc/history.qbk
      - copied unchanged from r39621, /trunk/tools/jam/doc/history.qbk
Properties modified:
   branches/build/Milestone_12/jam/build_dist.bat (contents, props changed)
   branches/build/Milestone_12/jam/build_dist.sh (contents, props changed)
Text files modified:
   branches/build/Milestone_12/jam/build_dist.bat | 35 ++++++++--
   branches/build/Milestone_12/jam/build_dist.sh | 28 ++++++--
   branches/build/Milestone_12/jam/doc/bjam.qbk | 9 ++
   branches/build/Milestone_12/jam/src/boost-jam.spec | 128 ++++++++++++++++++++--------------------
   branches/build/Milestone_12/jam/src/build.jam | 48 ++++++++++-----
   branches/build/Milestone_12/jam/src/compile.c | 1
   branches/build/Milestone_12/jam/src/execunix.c | 18 ++++-
   branches/build/Milestone_12/jam/src/patchlevel.h | 6
   8 files changed, 170 insertions(+), 103 deletions(-)

Modified: branches/build/Milestone_12/jam/build_dist.bat
==============================================================================
--- branches/build/Milestone_12/jam/build_dist.bat (original)
+++ branches/build/Milestone_12/jam/build_dist.bat 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -1,15 +1,36 @@
 @ECHO OFF
 
-REM ~ Copyright 2006 Rene Rivera.
+REM ~ Copyright 2006-2007 Rene Rivera.
 REM ~ Distributed under the Boost Software License, Version 1.0.
 REM ~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 
-setlocal
+REM ~ Make stage for building.
+rd /S /Q stage
+md stage
+cd stage
 
-cd doc
-del /F /S /Q html
-bjam --v2
-del /F /S /Q ..\src\images ..\src\jam ..\src\*.html ..\src\*.png ..\src\*.css ..\src\LICENSE*.txt
-xcopy /S /I /Y html ..\src
+REM ~ Copy sources to stage.
 cd ..\src
+xcopy *.bat ..\stage\
+xcopy *.jam ..\stage\
+xcopy *.sh ..\stage\
+xcopy *.com ..\stage\
+xcopy *.c ..\stage\
+xcopy *.h ..\stage\
+xcopy *.y ..\stage\
+xcopy *.yy ..\stage\
+xcopy Jambase ..\stage\
+xcopy /S /I /Y modules ..\stage\modules
+xcopy /S /I /Y boehm_gc ..\stage\boehm_gc
+cd ..\stage
+call .\build.bat
+
+REM ~ Build docs, and copy result to stage.
+cd ..\doc
+rd /S /Q html
+..\stage\bin.ntx86\bjam --v2
+xcopy /S /I /Y html ..\stage
+cd ..\stage
+
+REM ~ Build distribution archives.
 call .\build.bat --- dist

Modified: branches/build/Milestone_12/jam/build_dist.sh
==============================================================================
--- branches/build/Milestone_12/jam/build_dist.sh (original)
+++ branches/build/Milestone_12/jam/build_dist.sh 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -1,13 +1,27 @@
 #!/bin/sh
 
-#~ Copyright 2002-2005 Rene Rivera.
+#~ Copyright 2006-2007 Rene Rivera.
 #~ Distributed under the Boost Software License, Version 1.0.
 #~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 
-cd doc
-rm -Rf html
-bjam --v2
-rm -Rf ../src/images ../src/jam ../src/*.html ../src/*.png ../src/*.css ../src/LICENSE*.txt
-cp -R html/* ../src
+#~ Make stage for building.
+rm -rf stage
+mkdir stage
+cd stage
+
+#~ Copy sources to stage.
 cd ../src
-. ./build.sh --- dist
+cp -R *.bat *.jam *.sh *.com *.c *.h *.y *.yy Jambase modules boehm_gc ../stage
+find ../stage -name '.svn' -type d -exec rm -rf '{}' ';'
+cd ../stage
+./build.sh
+
+#~ Build docs, and copy result to stage.
+cd ../doc
+rm -Rf html
+../stage/bin.*/bjam --v2
+cp -R html/* ../stage
+cd ../stage
+
+#~ Build distribution archives.
+sh ./build.sh --- dist

Modified: branches/build/Milestone_12/jam/doc/bjam.qbk
==============================================================================
--- branches/build/Milestone_12/jam/doc/bjam.qbk (original)
+++ branches/build/Milestone_12/jam/doc/bjam.qbk 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -1,6 +1,6 @@
 [article Boost.Jam
     [quickbook 1.3]
- [version: 3.1.15]
+ [version: 3.1.16]
     [authors [Rivera, Rene], [Abrahams, David], [Prus, Vladimir]]
     [copyright 2003 2004 2005 2006 2007 Rene Rivera, David Abrahams, Vladimir Prus]
     [category tool-build]
@@ -21,7 +21,7 @@
 
 [/ Shortcuts ]
 
-[def :version: 3.1.15]
+[def :version: 3.1.16]
 
 [/ Images ]
 
@@ -1738,3 +1738,8 @@
 [endsect]
 
 [endsect]
+
+
+[section History]
+[include history.qbk]
+[endsect]
\ No newline at end of file

Modified: branches/build/Milestone_12/jam/src/boost-jam.spec
==============================================================================
--- branches/build/Milestone_12/jam/src/boost-jam.spec (original)
+++ branches/build/Milestone_12/jam/src/boost-jam.spec 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -1,64 +1,64 @@
-Name: boost-jam
-Version: 3.1.15
-Summary: Build tool
-Release: 1
-Source: %{name}-%{version}.tgz
-
-License: Boost Software License, Version 1.0
-Group: Development/Tools
-URL: http://www.boost.org
-Packager: Rene Rivera <grafik_at_[hidden]>
-BuildRoot: /var/tmp/%{name}-%{version}.root
-
-%description
-Boost Jam is a build tool based on FTJam, which in turn is based on
-Perforce Jam. It contains significant improvements made to facilitate
-its use in the Boost Build System, but should be backward compatible
-with Perforce Jam.
-
-Authors:
- Perforce Jam : Cristopher Seiwald
- FT Jam : David Turner
- Boost Jam : David Abrahams
-
-Copyright:
- /+\
- +\ Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
- \+/
- License is hereby granted to use this software and distribute it
- freely, as long as this copyright notice is retained and modifications
- are clearly marked.
- ALL WARRANTIES ARE HEREBY DISCLAIMED.
-
-Also:
- Copyright 2001-2006 David Abrahams.
- Copyright 2002-2006 Rene Rivera.
- Copyright 2003-2006 Vladimir Prus.
-
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-
-%prep
-%setup -n %{name}-%{version}
-
-%build
-LOCATE_TARGET=bin ./build.sh $BOOST_JAM_TOOLSET
-
-%install
-rm -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT%{_bindir}
-mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-install -m 755 bin/bjam $RPM_BUILD_ROOT%{_bindir}/bjam-%{version}
-ln -sf bjam-%{version} $RPM_BUILD_ROOT%{_bindir}/bjam
-cp -R *.html *.png *.css LICENSE*.txt images jam $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-
-find $RPM_BUILD_ROOT -name CVS -type d -exec rm -r {} \;
-
-%files
-%defattr(-,root,root)
-%attr(755,root,root) /usr/bin/*
-%doc %{_docdir}/%{name}-%{version}
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+Name: boost-jam
+Version: 3.1.16
+Summary: Build tool
+Release: 1
+Source: %{name}-%{version}.tgz
+
+License: Boost Software License, Version 1.0
+Group: Development/Tools
+URL: http://www.boost.org
+Packager: Rene Rivera <grafik_at_[hidden]>
+BuildRoot: /var/tmp/%{name}-%{version}.root
+
+%description
+Boost Jam is a build tool based on FTJam, which in turn is based on
+Perforce Jam. It contains significant improvements made to facilitate
+its use in the Boost Build System, but should be backward compatible
+with Perforce Jam.
+
+Authors:
+ Perforce Jam : Cristopher Seiwald
+ FT Jam : David Turner
+ Boost Jam : David Abrahams
+
+Copyright:
+ /+\
+ +\ Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
+ \+/
+ License is hereby granted to use this software and distribute it
+ freely, as long as this copyright notice is retained and modifications
+ are clearly marked.
+ ALL WARRANTIES ARE HEREBY DISCLAIMED.
+
+Also:
+ Copyright 2001-2006 David Abrahams.
+ Copyright 2002-2006 Rene Rivera.
+ Copyright 2003-2006 Vladimir Prus.
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+%prep
+%setup -n %{name}-%{version}
+
+%build
+LOCATE_TARGET=bin ./build.sh $BOOST_JAM_TOOLSET
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{_bindir}
+mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+install -m 755 bin/bjam $RPM_BUILD_ROOT%{_bindir}/bjam-%{version}
+ln -sf bjam-%{version} $RPM_BUILD_ROOT%{_bindir}/bjam
+cp -R *.html *.png *.css LICENSE*.txt images jam $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+
+find $RPM_BUILD_ROOT -name CVS -type d -exec rm -r {} \;
+
+%files
+%defattr(-,root,root)
+%attr(755,root,root) /usr/bin/*
+%doc %{_docdir}/%{name}-%{version}
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT

Modified: branches/build/Milestone_12/jam/src/build.jam
==============================================================================
--- branches/build/Milestone_12/jam/src/build.jam (original)
+++ branches/build/Milestone_12/jam/src/build.jam 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -13,7 +13,7 @@
 ./ ?= "" ;
 
 # Info about what we are building.
-_VERSION_ = 3 1 15 ;
+_VERSION_ = 3 1 16 ;
 NAME = boost-jam ;
 VERSION = $(_VERSION_:J=$(.)) ;
 RELEASE = 1 ;
@@ -818,18 +818,19 @@
     build.jam build.bat build.sh build_vms.com
     Jambase
     jamgram.y jamgram.yy
- [ .path debian changelog ]
- [ .path debian control ]
- [ .path debian copyright ]
- [ .path debian jam.man.sgml ]
- [ .path debian rules ]
     [ .path modules set.c ]
     [ .path modules path.c ]
     [ .path modules regex.c ]
     [ .path modules property-set.c ]
     [ .path modules sequence.c ]
     [ .path modules order.c ]
- boost-jam.spec
+ [ GLOB [ .path boehm_gc ] : * ]
+ [ GLOB [ .path boehm_gc include ] : * ]
+ [ GLOB [ .path boehm_gc include private ] : * ]
+ [ GLOB [ .path boehm_gc cord ] : * ]
+ [ GLOB [ .path boehm_gc Mac_files ] : * ]
+ [ GLOB [ .path boehm_gc tests ] : * ]
+ [ GLOB [ .path boehm_gc doc ] : * ]
     ;
 dist.bin =
     bjam
@@ -863,9 +864,19 @@
 }
 if $(UNIX)
 {
+ tar ?= [ GLOB $(PATH) : star bsdtar tar ] ;
+ tar = $(tar[1]) ;
+ switch $(tar:D=:S=)
+ {
+ case star : tar += -c artype=pax -D -d -to-stdout ;
+ case * : tar += -c -f - ;
+ }
     actions [PACK] {
- tar zcf "$(<)" "$(>)"
+ "$(tar)" "$(>)" | gzip -c9 > "$(<)"
     }
+ #~ actions [PACK] {
+ #~ tar cf "$(<:S=.tar)" "$(>)"
+ #~ }
     actions [ZIP] {
     gzip -c9 "$(>)" > "$(<)"
     }
@@ -893,16 +904,21 @@
 rule .package ( dst-dir : src-files + )
 {
     local dst-files ;
+ local src-files-actual ;
     for local src-path in $(src-files)
     {
- local src-subdir = $(src-path:D) ;
- local src-file = $(src-path) ;
- while $(src-subdir:D) { src-subdir = $(src-subdir:D) ; }
- if $(src-subdir) = ".."
+ if ! [ GLOB $(src-path:P) : $(src-path:B) ] || [ CHECK_IF_FILE $(src-path) ]
         {
- src-file = $(src-file:D=) ;
+ local src-subdir = $(src-path:D) ;
+ local src-file = $(src-path) ;
+ while $(src-subdir:D) { src-subdir = $(src-subdir:D) ; }
+ if $(src-subdir) = ".."
+ {
+ src-file = $(src-file:D=) ;
+ }
+ dst-files += $(src-file:R=$(dst-dir)) ;
+ src-files-actual += $(src-path) ;
         }
- dst-files += $(src-file:R=$(dst-dir)) ;
     }
     
     local pack = ;
@@ -913,7 +929,7 @@
     DEPENDS $(pack) : $(dst-files) ;
     
     local dst-files-queue = $(dst-files) ;
- for local src-path in $(src-files)
+ for local src-path in $(src-files-actual)
     {
         local dst-file = $(dst-files-queue[1]) ;
         dst-files-queue = $(dst-files-queue[2-]) ;
@@ -976,6 +992,6 @@
     .package $(NAME)-$(VERSION)-$(RELEASE)-$(platform) : $(dist.bin) ;
     if $(rpm-tool)
     {
- .rpm $(NAME)-$(VERSION)-$(RELEASE) : $(NAME)-$(VERSION).tgz ;
+ #~ .rpm $(NAME)-$(VERSION)-$(RELEASE) : $(NAME)-$(VERSION).tgz ;
     }
 }

Modified: branches/build/Milestone_12/jam/src/compile.c
==============================================================================
--- branches/build/Milestone_12/jam/src/compile.c (original)
+++ branches/build/Milestone_12/jam/src/compile.c 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -1016,6 +1016,7 @@
         /* Make targets[1,N-1] depend on targets[0], to describe the multply
             generated targets for the rule. Do it with includes, to reflect
             non-build dependency. */
+ if ( action->targets )
         {
             TARGET * t0 = action->targets->target;
             for ( t = action->targets->next; t; t = t->next )

Modified: branches/build/Milestone_12/jam/src/execunix.c
==============================================================================
--- branches/build/Milestone_12/jam/src/execunix.c (original)
+++ branches/build/Milestone_12/jam/src/execunix.c 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -62,7 +62,7 @@
 
 static clock_t tps = 0;
 static struct timeval tv;
-static int timeout = 0;
+static int select_timeout = 0;
 static int intr = 0;
 static int cmdsrunning = 0;
 
@@ -221,6 +221,13 @@
              * we use killpg(pid, SIGKILL) to kill the
              * process group leader and all its children.
              */
+ if (0 < globs.timeout)
+ {
+ struct rlimit r_limit;
+ r_limit.rlim_cur = globs.timeout;
+ r_limit.rlim_max = globs.timeout;
+ setrlimit(RLIMIT_CPU, &r_limit);
+ }
             setpgid(cmdtab[slot].pid, cmdtab[slot].pid);
 
             execvp( argv[0], argv );
@@ -358,7 +365,7 @@
     int i, fd_max = 0;
     struct tms buf;
     clock_t current = times(&buf);
- timeout = globs.timeout;
+ select_timeout = globs.timeout;
 
     /* compute max read file descriptor for use in select */
     FD_ZERO(fds);
@@ -380,7 +387,10 @@
 
         if (globs.timeout && cmdtab[i].pid) {
             clock_t consumed = (current - cmdtab[i].start_time) / tps;
- timeout = (globs.timeout - consumed) < timeout ? (globs.timeout - consumed) : timeout;
+ clock_t process_timesout = globs.timeout - consumed;
+ if (0 < process_timesout && process_timesout < select_timeout) {
+ select_timeout = process_timesout;
+ }
             if (globs.timeout <= consumed) {
                 killpg(cmdtab[i].pid, SIGKILL);
                 cmdtab[i].exit_reason = EXIT_TIMEOUT;
@@ -418,7 +428,7 @@
 
         if (0 < globs.timeout) {
             /* force select to timeout so we can terminate expired processes */
- tv.tv_sec = timeout;
+ tv.tv_sec = select_timeout;
             tv.tv_usec = 0;
 
             /* select will wait until: io on a descriptor, a signal, or we time out */

Modified: branches/build/Milestone_12/jam/src/patchlevel.h
==============================================================================
--- branches/build/Milestone_12/jam/src/patchlevel.h (original)
+++ branches/build/Milestone_12/jam/src/patchlevel.h 2007-09-30 14:43:06 EDT (Sun, 30 Sep 2007)
@@ -9,9 +9,9 @@
 
 #define VERSION_MAJOR 3
 #define VERSION_MINOR 1
-#define VERSION_PATCH 15
+#define VERSION_PATCH 16
 #define VERSION_MAJOR_SYM "03"
 #define VERSION_MINOR_SYM "1"
-#define VERSION_PATCH_SYM "15"
-#define VERSION "3.1.15"
+#define VERSION_PATCH_SYM "16"
+#define VERSION "3.1.16"
 #define JAMVERSYM "JAMVERSION=3.1"


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