early-access version 3088

This commit is contained in:
pineappleEA
2022-11-05 15:35:56 +01:00
parent 4e4fc25ce3
commit b601909c6d
35519 changed files with 5996896 additions and 860 deletions

View File

@@ -0,0 +1,5 @@
// Copyright (c) 2003 Vladimir Prus
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE.txt or copy at
// https://www.bfgroup.xyz/b2/LICENSE.txt)

View File

@@ -0,0 +1,13 @@
# Copyright 2002, 2003 Vladimir Prus
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
use-project /lib2 : lib2 ;
use-project /lib3 : lib3 ;
make a.exe : a.obj lib//b.obj /lib2//c.obj lib2//d.obj lib2/helper//e.obj /lib3//f.obj : yfc-link ;
make a.obj : a.cpp : yfc-compile ;
build-project lib2 ;
build-project lib ;

View File

@@ -0,0 +1,67 @@
# Copyright 2002-2005 Vladimir Prus.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or copy at
# https://www.bfgroup.xyz/b2/LICENSE.txt)
import os ;
import gcc ;
import property ;
import toolset ;
rule properties-as-path ( properties * )
{
local r ;
for local p in $(properties)
{
if $(p:G) != <action>
{
r += $(p) ;
}
}
return [ property.as-path
[ property.remove incidental : $(r) ] ] ;
}
toolset.flags yfc-compile KNOWN-PROPERTIES : <toolset> <optimization> ;
toolset.flags yfc-link KNOWN-PROPERTIES : <toolset> <optimization> ;
rule yfc-compile ( target : sources * : property-set * )
{
PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
}
actions yfc-compile
{
echo $(PROPERTIES) > $(<)
echo $(>) >> $(<)
}
rule yfc-link ( target : sources * : property-set * )
{
PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
}
actions yfc-link
{
echo $(PROPERTIES) > $(<)
echo $(>) >> $(<)
}
if [ os.name ] = VMS
{
actions yfc-compile
{
PIPE WRITE SYS$OUTPUT "$(PROPERTIES)" | TYPE SYS$INPUT /OUT=$(<:W)
PIPE WRITE SYS$OUTPUT "$(>:J= ",")" | APPEND /NEW SYS$INPUT $(<:W)
}
actions yfc-link
{
PIPE WRITE SYS$OUTPUT "$(PROPERTIES)" | TYPE SYS$INPUT /OUT=$(<:W)
OPEN /APPEND FOUT $(<:W)
WRITE FOUT "$(>:J= ",")"
CLOSE FOUT
}
}
IMPORT $(__name__) : yfc-compile yfc-link : : yfc-compile yfc-link ;

View File

@@ -0,0 +1,5 @@
// Copyright (c) 2003 Vladimir Prus
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE.txt or copy at
// https://www.bfgroup.xyz/b2/LICENSE.txt)

View File

@@ -0,0 +1,9 @@
# Copyright 2002, 2003 Vladimir Prus
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
use-project /lib2 : ../lib2 ;
make b.obj : b.cpp : yfc-compile ;
make m.exe : b.obj /lib2//c.obj : yfc-link ;

View File

@@ -0,0 +1,5 @@
// Copyright (c) 2003 Vladimir Prus
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE.txt or copy at
// https://www.bfgroup.xyz/b2/LICENSE.txt)

View File

@@ -0,0 +1,5 @@
// Copyright (c) 2003 Vladimir Prus
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE.txt or copy at
// https://www.bfgroup.xyz/b2/LICENSE.txt)

View File

@@ -0,0 +1,5 @@
// Copyright (c) 2003 Vladimir Prus
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE.txt or copy at
// https://www.bfgroup.xyz/b2/LICENSE.txt)

View File

@@ -0,0 +1,9 @@
# Copyright 2002 Vladimir Prus
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
project lib2/helper ;
make e.obj : e.cpp : yfc-compile ;

View File

@@ -0,0 +1,11 @@
# Copyright 2002, 2003 Vladimir Prus
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
project lib2 ;
use-project /lib2/helper : helper ;
make c.obj : c.cpp : yfc-compile ;
make d.obj : d.cpp : yfc-compile ;
make l.exe : c.obj ..//a.obj : yfc-link ;

View File

@@ -0,0 +1,5 @@
// Copyright (c) 2003 Vladimir Prus
//
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE.txt or copy at
// https://www.bfgroup.xyz/b2/LICENSE.txt)

View File

@@ -0,0 +1,47 @@
# Copyright 2003, 2005 Vladimir Prus
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
# This project-root.jam also serves the role of Jamfile
project lib3 ;
use-project /lib2/helper : ../lib2/helper ;
import os ;
import property ;
rule properties-as-path ( properties * )
{
local r ;
for local p in $(properties)
{
if $(p:G) != <action>
{
r += $(p) ;
}
}
return [ property.as-path
[ property.remove incidental : $(r) ] ] ;
}
rule mfc-compile ( target : sources * : property-set * )
{
PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
}
actions mfc-compile
{
echo $(PROPERTIES) > $(<)
echo $(>) >> $(<)
}
if [ os.name ] = VMS
{
actions mfc-compile
{
PIPE WRITE SYS$OUTPUT "$(PROPERTIES)" | TYPE SYS$INPUT /OUT=$(<:W)
PIPE WRITE SYS$OUTPUT "$(>:J= ",")" | APPEND /NEW SYS$INPUT $(<:W)
}
}
make f.obj : f.cpp /lib2/helper//e.obj : mfc-compile ;

View File

@@ -0,0 +1,5 @@
# Copyright 2002 Rene Rivera
# Copyright 2002, 2003 Vladimir Prus
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)

View File

@@ -0,0 +1,7 @@
Copyright 2002 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)
This test checks that we have minimally working 'make' rule and that we can use target from
different project with different project roots.