2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-01 20:32:17 +00:00

* Increase version, long overdue.

* Build bjam only by default, instead of all the other misc binaries.
* Implement disabling of splitting of imported variables. Not enable yet.
* Fix 7zip archiver search to work with newest 7z version.


[SVN r28541]
This commit is contained in:
Rene Rivera
2005-04-30 06:28:38 +00:00
parent de89d725b9
commit eefe778ebc
8 changed files with 105 additions and 77 deletions

View File

@@ -1,5 +1,5 @@
Name: boost-jam
Version: 3.1.10
Version: 3.1.11
Summary: Build tool
Release: 1
Source: %{name}-%{version}.tgz
@@ -32,7 +32,7 @@ Copyright:
Also:
Copyright 2001-2004 David Abrahams.
Copyright 2002-2004 Rene Rivera.
Copyright 2002-2005 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)
@@ -49,7 +49,6 @@ 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
ln -sf bjam-%{version} $RPM_BUILD_ROOT%{_bindir}/jam
install -m 644 *.html *.txt Porting $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
find $RPM_BUILD_ROOT -name CVS -type d -depth -exec rm -r {} \;

View File

@@ -1,6 +1,6 @@
@ECHO OFF
REM ~ Copyright 2002-2004 Rene Rivera.
REM ~ Copyright 2002-2005 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)
@@ -51,17 +51,6 @@ REM Sets BOOST_JAM_TOOLSET to the first found toolset.
REM May also set BOOST_JAM_TOOLSET_ROOT to the
REM location of the found toolset.
setlocal & endlocal
if NOT "_%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%..\..\
goto :eof)
setlocal & endlocal
if NOT "_%VS71COMNTOOLS%_" == "__" (
set BOOST_JAM_TOOLSET=vc7
set BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%\..\..\VC7\
@@ -152,6 +141,17 @@ if EXIST "C:\MinGW\bin\gcc.exe" (
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%\
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%..\..\
goto :eof)
setlocal & endlocal
call :Error_Print "Could not find a suitable toolset."
goto :eof

View File

@@ -1,4 +1,4 @@
#~ Copyright 2002-2004 Rene Rivera.
#~ Copyright 2002-2005 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)
@@ -13,7 +13,7 @@ else { . = "." ; }
# Info about what we are building.
NAME = boost-jam ;
VERSION = 3$(.)1$(.)10 ;
VERSION = 3$(.)1$(.)11 ;
RELEASE = 1 ;
LICENSE = 1_0 ;
@@ -317,6 +317,7 @@ if ! $(debug) || --noassert in $(ARGV)
# Bug fixes
--defs += OPT_FIX_TARGET_VARIABLES_EXT ;
#~ --defs += OPT_NO_EXTERNAL_VARIABLE_SPLIT ;
# Improvements
--defs += OPT_IMPROVED_PATIENCE_EXT ;
@@ -348,15 +349,15 @@ ALWAYS clean ;
# Utility rules and actions...
rule .clean
{
.rm. clean : $(<) ;
[DELETE] clean : $(<) ;
}
if $(NT) { actions piecemeal together existing .rm. {
if $(NT) { actions piecemeal together existing [DELETE] {
del /F /Q $(>)
} }
if $(UNIX) { actions piecemeal together existing .rm. {
if $(UNIX) { actions piecemeal together existing [DELETE] {
rm -f $(>)
} }
if $(VMS) { actions piecemeal together existing .rm. {
if $(VMS) { actions piecemeal together existing [DELETE] {
DELETE $(>[--2]:J=";*, ") $(>[-1]);*
} }
if $(NT) {
@@ -373,15 +374,15 @@ rule .mkdir
{
NOUPDATE $(<) ;
if $(<:P) { DEPENDS $(<) : $(<:P) ; .mkdir $(<:P) ; }
if ! $(md<$(<)>) { .mkdir. $(<) ; md<$(<)> = - ; }
if ! $(md<$(<)>) { [MKDIR] $(<) ; md<$(<)> = - ; }
}
if $(NT) { actions .mkdir. {
if $(NT) { actions [MKDIR] {
md $(<)
} }
if $(UNIX) { actions .mkdir. {
if $(UNIX) { actions [MKDIR] {
mkdir $(<)
} }
if $(VMS) { actions .mkdir. {
if $(VMS) { actions [MKDIR] {
CREATE/DIR $(<J=", ")
} }
@@ -401,33 +402,33 @@ rule .exe
DEPENDS $(exe) : $(o) ;
DEPENDS $(o) : $(s) ;
DEPENDS $(o) : $(locate-target) ;
.cc. $(o) : $(s) ;
[COMPILE] $(o) : $(s) ;
.clean $(o) ;
}
DEPENDS $(exe) : $(>:S=.o) ;
DEPENDS $(exe) : $(locate-target) ;
.ld. $(exe) : $(>:S=.o) ;
[COMPILE.LINK] $(exe) : $(>:S=.o) ;
.clean $(exe) ;
}
else
{
DEPENDS $(exe) : $(>) ;
DEPENDS $(exe) : $(locate-target) ;
.cc. $(exe) : $(>) ;
[COMPILE] $(exe) : $(>) ;
.clean $(exe) ;
}
return $(exe) ;
}
if ! $(--def[2]) { actions .cc. {
if ! $(--def[2]) { actions [COMPILE] {
"$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D) $(--out)$(<) $(--def)$(--defs) $(--flags) "$(--libs)" $(>)
} }
else { actions .cc. {
else { actions [COMPILE] {
"$(--cc)" $(--bin)$(<:D=) $(--dir)$(<:D) $(--out)$(<) $(--def[1])$(--defs:J=$(--def[2]))$(--def[3]) $(--flags) "$(--libs)" $(>)
} }
if $(VMS) { actions .ld. {
if $(VMS) { actions [COMPILE.LINK] {
"$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>J=", ")
} }
else { actions .ld. {
else { actions [COMPILE.LINK] {
"$(--link)" $(--link-bin)$(<:D=) $(--link-dir)$(<:D) $(--link-out)$(<) $(--link-def)$(--link-defs) $(--link-flags) "$(--link-libs)" $(>)
} }
@@ -435,32 +436,32 @@ rule .link
{
DEPENDS all : $(<) ;
DEPENDS $(<) : $(>) ;
.link. $(<) : $(>) ;
[LINK] $(<) : $(>) ;
.clean $(<) ;
}
if $(NT) { actions .link. {
if $(NT) { actions [LINK] {
copy $(>) $(<)
} }
if $(UNIX) { actions .link. {
ln -f $(>) $(<)
if $(UNIX) { actions [LINK] {
ln -fs $(>) $(<)
} }
if $(VMS) { actions .link. {
if $(VMS) { actions [LINK] {
COPY/REPLACE $(>) $(<)
} }
rule .move
{
DEPENDS $(<) : $(>) ;
.move. $(<) : $(>) ;
[MOVE] $(<) : $(>) ;
}
if $(NT) { actions .move. {
if $(NT) { actions [MOVE] {
del /f $(<)
rename $(>) $(<)
} }
if $(UNIX) { actions .move. {
if $(UNIX) { actions [MOVE] {
mv -f $(>) $(<)
} }
if $(VMS) { actions .move. {
if $(VMS) { actions [MOVE] {
RENAME $(>) $(<)
} }
@@ -472,9 +473,9 @@ rule .yyacc
DEPENDS $(<) : $(exe) $(>) ;
LEAVES $(<) ;
yyacc.exe on $(<) = $(exe:R=$(locate-target)) ;
.yyacc. $(<) : $(>) ;
[YYACC] $(<) : $(>) ;
}
actions .yyacc. {
actions [YYACC] {
$(--chmod+w)$(<[1])
$(--chmod+w)$(<[2])
"$(yyacc.exe)" $(<) $(>)
@@ -483,7 +484,7 @@ if $(grammar)
{
.yyacc jamgram.y jamgramtab.h : jamgram.yy ;
}
else
else if $(debug)
{
.exe yyacc : yyacc.c ;
}
@@ -517,9 +518,9 @@ rule .yacc
{
DEPENDS $(<) : $(>) ;
LEAVES $(<) ;
.yacc. $(<) : $(>) ;
[YACC] $(<) : $(>) ;
}
if $(NT) { actions .yacc. {
if $(NT) { actions [YACC] {
"$(yacc)" $(>)
if not errorlevel 1 (
del /f $(<[1])
@@ -528,7 +529,7 @@ if $(NT) { actions .yacc. {
rename y.tab$(<[2]:S) $(<[2])
) else set _error_ =
} }
if $(UNIX) { actions .yacc. {
if $(UNIX) { actions [YACC] {
if ` "$(yacc)" $(>) ` ; then
mv -f y.tab$(<[1]:S) $(<[1])
mv -f y.tab$(<[2]:S) $(<[2])
@@ -536,7 +537,7 @@ if $(UNIX) { actions .yacc. {
exit 1
fi
} }
if $(VMS) { actions .yacc. {
if $(VMS) { actions [YACC] {
IF "$(yacc)" $(>)
THEN
RENAME y_tab$(<[1]:S) $(<[1])
@@ -559,38 +560,50 @@ rule .mkjambase
DEPENDS $(<) : $(exe) $(>) ;
LEAVES $(<) ;
mkjambase.exe on $(<) = $(exe:R=$(locate-target)) ;
.mkjambase. $(<) : $(>) ;
[MKJAMBASE] $(<) : $(>) ;
}
actions .mkjambase. {
actions [MKJAMBASE] {
$(--chmod+w)$(<)
$(mkjambase.exe) $(<) $(>)
}
.mkjambase jambase.c : Jambase ;
if $(debug)
{
.mkjambase jambase.c : Jambase ;
}
# How to build Jam.
rule .jam
{
$(>).exe = [ .exe $(>) : $(jam.source) ] ;
$(<).exe = $(<:S=$($(>).exe:S)) ;
LOCATE on $($(<).exe) = $(locate-target) ;
.link $($(<).exe) : $($(>).exe) ;
DEPENDS all : $($(>).exe) ;
DEPENDS all : $($(>).exe) $($(<).exe) ;
if $(debug)
{
$(<).exe = $(<:S=$($(>).exe:S)) ;
LOCATE on $($(<).exe) = $(locate-target) ;
.link $($(<).exe) : $($(>).exe) ;
DEPENDS all : $($(<).exe) ;
}
}
.jam bjam : jam ;
.jam jam : bjam ;
# Scan sources for header dependencies.
# WARNING: Yes those are *REAL TABS* below. DO NOT CHANGE,
# under any circumstances, to spaces!! And the tabs
# indenting this are so that if someone is in the mood to
# replace tabs they hit this comment, and hopefully notice
# their error.
rule .scan
{
HDRRULE on $(<:D=) = .hdr.scan ;
HDRSCAN on $(<:D=) = "^[ ]*#[ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
HDRSCAN on $(<:D=) = "^[ ]*#[ ]*include[ ]*([<\"][^\">]*[\">]).*$" ;
}
rule .hdr.scan
{
local hdrs = [ GLOB . : $(>:D=) ] ;
INCLUDES $(<:D=) : $(hdrs:D=) ;
HDRRULE on $(>:D=) = .hdr.scan ;
HDRSCAN on $(>:D=) = "^[ ]*#[ ]*include[ ]*[<\"]([^\">]*)[\">].*$" ;
HDRSCAN on $(>:D=) = "^[ ]*#[ ]*include[ ]*([<\"][^\">]*[\">]).*$" ;
}
.scan [ GLOB . : *.c ] ;
@@ -637,34 +650,34 @@ dist.bin =
if $(NT)
{
zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7zn.exe" ] ;
zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7z.exe" "7zn.exe" ] ;
zip ?= [ GLOB $(PATH) : zip.exe ] ;
zip ?= zip ;
zip = $(zip[1]) ;
switch $(zip:D=:S=)
{
case 7zn : zip += a -r -tzip ;
case 7z* : zip += a -r -tzip -mx=9 ;
case zip : zip += -9r ;
}
actions piecemeal .pack. {
actions piecemeal [PACK] {
"$(zip)" "$(<)" "$(>)"
}
actions piecemeal .zip. {
actions piecemeal [ZIP] {
"$(zip)" "$(<)" "$(>)"
}
actions piecemeal .cp. {
copy /Y "$(>)" "$(<)"
actions piecemeal [COPY] {
copy /Y "$(>)" "$(<)" >NUL:
}
}
if $(UNIX)
{
actions .pack. {
actions [PACK] {
tar zcf "$(<)" "$(>)"
}
actions .zip. {
actions [ZIP] {
gzip -c9 "$(>)" > "$(<)"
}
actions .cp. {
actions [COPY] {
cp -Rpf "$(>)" "$(<)"
}
}
@@ -679,8 +692,8 @@ rule .binary
DEPENDS $(zip) : $($(<).exe) ;
DEPENDS dist : $(zip) ;
#~ LOCATE on $(zip) = $(locate-target) ;
if $(NT) { .zip. $(zip) : $($(<).exe) ; }
if $(UNIX) { .pack. $(zip) : $($(<).exe) ; }
if $(NT) { [ZIP] $(zip) : $($(<).exe) ; }
if $(UNIX) { [PACK] $(zip) : $($(<).exe) ; }
.clean $(zip) ;
}
@@ -715,11 +728,11 @@ rule .package ( dst-dir : src-files + )
DEPENDS $(dst-file) : $(src-path) $(dst-file:D) ;
.mkdir $(dst-file:D) ;
.cp. $(dst-file) : $(src-path) ;
[COPY] $(dst-file) : $(src-path) ;
.clean $(dst-file) ;
}
.pack. $(pack) : $(dst-files) ;
[PACK] $(pack) : $(dst-files) ;
.clean $(pack) ;
}
@@ -749,10 +762,10 @@ rule .rpm ( name : source )
arch on $(target) = $(rpm-arch) ;
if $(rpm-arch) = ppc { target-opt on $(target) = --target= ; }
else { target-opt on $(target) = "--target " ; }
.rpm. $(target) : $(source) ;
[RPM] $(target) : $(source) ;
.clean $(name).$(rpm-arch).rpm $(name).src.rpm ;
}
actions .rpm. {
actions [RPM] {
export BOOST_JAM_TOOLSET="$(toolset)"
$(rpm-tool[1]) -ta $(target-opt)$(arch) $(>) | tee rpm.out
cp `grep -e '^Wrote:' rpm.out | sed 's/^Wrote: //'` .

View File

@@ -1,3 +1,15 @@
bjam (3.1.11-1) unstable; urgency=low
* New upstream release.
-- Rene Rivera <grafik@redshift-software.com> Sat, 30 Apr 2005 00:00:00 +0000
bjam (3.1.10-1) unstable; urgency=low
* New upstream release.
-- Rene Rivera <grafik@redshift-software.com> Tue, 1 Jun 2004 05:42:35 +0000
bjam (3.1.9-2) unstable; urgency=low
* Use default value of BOOST_BUILD_PATH is not is set in environment.

View File

@@ -18,7 +18,7 @@ Copyright:
Some portions are also:
Copyright 2001-2004 David Abrahams.
Copyright 2002-2004 Rene Rivera.
Copyright 2002-2005 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)

View File

@@ -269,7 +269,7 @@ int main( int argc, char **argv, char **arg_environ )
printf( " Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc. \n" );
printf( " Copyright 2001 David Turner.\n" );
printf( " Copyright 2001-2004 David Abrahams.\n" );
printf( " Copyright 2002-2004 Rene Rivera.\n" );
printf( " Copyright 2002-2005 Rene Rivera.\n" );
return EXITOK;
}
@@ -347,7 +347,7 @@ int main( int argc, char **argv, char **arg_environ )
{
/* Pleace don't change the following line. The 'bump_version.py' script
expect a specific format of it. */
char *major_version = "03", *minor_version = "01", *changenum = "10";
char *major_version = "03", *minor_version = "01", *changenum = "11";
var_set( "JAM_VERSION",
list_new( list_new( list_new( L0, newstr( major_version ) ),
newstr( minor_version ) ),

View File

@@ -7,5 +7,5 @@
/* Keep JAMVERSYM in sync with VERSION. */
/* It can be accessed as $(JAMVERSION) in the Jamfile. */
#define VERSION "3.1.10"
#define VERSION "3.1.11"
#define JAMVERSYM "JAMVERSION=3.1"

View File

@@ -110,10 +110,14 @@ var_defines( char **e )
{
LIST *l = L0;
char *pp, *p;
# ifdef OPT_NO_EXTERNAL_VARIABLE_SPLIT
char split = '\0';
# else
# ifdef OS_MAC
char split = ',';
# else
char split = ' ';
# endif
# endif
size_t len = strlen(val + 1);
if ( val[1] == '"' && val[len] == '"')