From e468f99dbe8c297ce4513a6b5da8320ef2c75d2f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 29 Sep 2007 19:48:51 +0000 Subject: [PATCH] Update distribution and build scripts to account for inclusion of boehm_gc sources. Add history of changes to docs. [SVN r39610] --- historic/jam/build_dist.bat | 35 +++++++++--- historic/jam/build_dist.sh | 26 ++++++--- historic/jam/doc/bjam.qbk | 5 ++ historic/jam/doc/history.qbk | 102 +++++++++++++++++++++++++++++++++++ historic/jam/src/build.jam | 28 +++++----- 5 files changed, 171 insertions(+), 25 deletions(-) create mode 100644 historic/jam/doc/history.qbk diff --git a/historic/jam/build_dist.bat b/historic/jam/build_dist.bat index d0bd6ceed..941d6f175 100644 --- a/historic/jam/build_dist.bat +++ b/historic/jam/build_dist.bat @@ -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 diff --git a/historic/jam/build_dist.sh b/historic/jam/build_dist.sh index 76517ad58..e90c1783e 100644 --- a/historic/jam/build_dist.sh +++ b/historic/jam/build_dist.sh @@ -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 +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. . ./build.sh --- dist diff --git a/historic/jam/doc/bjam.qbk b/historic/jam/doc/bjam.qbk index 58663daf1..6bba9ee43 100644 --- a/historic/jam/doc/bjam.qbk +++ b/historic/jam/doc/bjam.qbk @@ -1738,3 +1738,8 @@ if $(MESSAGE) { ECHO The message is: $(MESSAGE) ; } [endsect] [endsect] + + +[section History] +[include history.qbk] +[endsect] \ No newline at end of file diff --git a/historic/jam/doc/history.qbk b/historic/jam/doc/history.qbk new file mode 100644 index 000000000..cf1ee3e1c --- /dev/null +++ b/historic/jam/doc/history.qbk @@ -0,0 +1,102 @@ +[variablelist + +[[3.1.15] [ + +This release sees a variety of fixes for long standing Perforce/Jam problems. Most of +them relating to running actions in parallel with the -jN option. The end result of the +changes is that running parallel actions is now reliably possible in Unix and Windows +environments. Many thanks to Noel for joining the effort, to implement and fix the Unix +side of stuff. + +[list + [li Add support for building bjam with pgi and pathscale toolsets. + -- ['Noel B.] + ] + [li Implement running action commands through pipes (-p option) to fix jumbled + output when using parallel execution with -j option. This is implemented + for Unix variants, and Windows (Win32/NT). + -- ['Rene R.], ['Noel B.] + ] + [li Add "sun" as alias to Sun Workshop compiler tools. + -- ['Rene R.] + ] + [li Set MAXLINE in jam.h to 23k bytes for AIX. The piecemeal archive action + was broken with the default MAXLINE of 102400. Because the AIX shell uses + some of the 24k default buffer size for its own use, I reduced it to 23k. + -- ['Noel B.] + ] + [li Make use of output dir options of msvc to not polute src dir with compiled files. + -- ['Rene R.] + ] + [li A small fix, so -d+2 will always show the "real" commands being executed + instead of casually the name of a temporary batch file. + -- ['Roland S.] + ] + [li Add test to check 'bjam -n'. + -- ['Rene R.] + ] + [li Add test to check 'bjam -d2'. + -- ['Rene R.] + ] + [li Bring back missing output of -n option. The -o option continues to be + broken as it has been for a long time now because of the @ file feature. + -- ['Rene R.] + ] + [li Update GC support to work with Boehm GC 7.0. + -- ['Rene R.] + ] + [li Revert the BOOST_BUILD_PATH change, since the directory passed to + boost-build should be first in searched paths, else project local + build system will not be picked correctly. The order had been changed to + allow searching of alternate user-config.jam files from boost build. This + better should be done with --user-config= switch or similar. + -- ['Roland S.] + ] + [li Initial support for defining action body from Python. + -- ['Vladimir P.] + ] + [li Implement @() expansion during parse phase. + -- ['Rene R.] + ] + [li Define OSPLAT var unconditionally, and more generically, when possible. + -- ['Rene R.] + ] + [li Fix undeclared INT_MAX on some platforms, i.e. Linux. + -- ['Rene R.] + ] + [li Modified execunix.c to add support for terminating + processes that consume too much cpu or that hang and + fail to consume cpu at all. This in support of the + bjam -lx option. + -- ['Noel B.] + ] + [li Add internal dependencies for multi-file generating actions to indicate + that the targets all only appear when the first target appears. This fixes + the long standing problem Perforce/Jam has with multi-file actions and + parallel execution (-jN). + -- ['Rene R.] + ] + [li Add test of -l limit option now that it's implemented on windows and unix. + -- ['Rene R.] + ] + [li Add test for no-op @() expansion. + -- ['Rene R.] + ] + [li Handle invalid formats of @() as doing a straight substitution instead of + erroring out. + -- ['Rene R.] + ] + [li Various fixes to compile on SGI/Irix. + -- ['Noel B.] + ] + [li Add output for when actions timeout with -lN option. + -- ['Rene R.], ['Noel B.] + ] + [li Add needed include (according to XOPEN) for definition of WIFEXITED and WEXITSTATUS. + -- ['Markus S.] + ] +] + +]] + +] diff --git a/historic/jam/src/build.jam b/historic/jam/src/build.jam index 25d0bfa57..55420f0eb 100644 --- a/historic/jam/src/build.jam +++ b/historic/jam/src/build.jam @@ -818,18 +818,19 @@ dist.source = $(dist.source:D=) 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 @@ -895,14 +896,17 @@ rule .package ( dst-dir : src-files + ) local dst-files ; 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)) ; } - dst-files += $(src-file:R=$(dst-dir)) ; } local pack = ;