Skip to content

Commit

Permalink
4.5.0 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
grafikrobot committed Mar 31, 2021
2 parents e97436d + b4e1a65 commit f3fc6c9
Show file tree
Hide file tree
Showing 15 changed files with 123 additions and 37 deletions.
70 changes: 67 additions & 3 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,39 @@
"version": "2.0.0",
"tasks": [
{
"label": "B2 Engine Build",
"label": "B2 Engine Bootstrap",
"type": "shell",
"windows": {
"command": "bootstrap.bat"
},
"osx": {
"command": "./bootstrap.sh"
},
"linux": {
"command": "./bootstrap.sh"
},
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": {
"owner": "cpptools",
"fileLocation": [
"relative",
"${workspaceFolder}/src/engine"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"group": "build"
},
{
"label": "B2 Engine Build (using build.sh|bat)",
"type": "shell",
"windows": {
"command": "build.bat"
Expand All @@ -16,7 +48,7 @@
"command": "./build.sh"
},
"options": {
"cwd": "src/engine"
"cwd": "${workspaceFolder}/src/engine"
},
"problemMatcher": {
"owner": "cpptools",
Expand All @@ -35,14 +67,46 @@
},
"group": "build"
},
{
"label": "B2 Engine Build (using B2)",
"type": "shell",
"windows": {
"command": "${workspaceFolder}\\b2.exe b2"
},
"osx": {
"command": "${workspaceFolder}/b2 b2"
},
"linux": {
"command": "${workspaceFolder}/b2 b2"
},
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": {
"owner": "cpptools",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"group": "build"
},
{
"label": "B2 Engine Infer",
"type": "shell",
"osx": {
"command": "CXX='infer run -- clang++' ./build.sh clang"
},
"options": {
"cwd": "src/engine"
"cwd": "${workspaceFolder}/src/engine"
},
"problemMatcher": {
"owner": "cpptools",
Expand Down
4 changes: 2 additions & 2 deletions doc/jamfile.jam
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ if $(website)

html index : src/standalone.adoc :
:
<flags>--require=$(PYGMENTS_DIR)/pygments_init.rb
# <flags>--require=$(PYGMENTS_DIR)/pygments_init.rb
<flags>--trace
<flags>--verbose
<dependency>$(PYGMENTS_DIR)/pygments_init.rb
# <dependency>$(PYGMENTS_DIR)/pygments_init.rb
# <flags>"-a stylesheet=amber.css"
# <flags>"-a stylesdir=$(STYLES_DIR)"
# <asciidoctor-attribute>linkcss
Expand Down
18 changes: 15 additions & 3 deletions doc/src/history.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
[[b2.history]]
= History

== Version 4.5.0

Some minor fixes to improve some old issues.

* Reenable ability of generators to return `property-set` as first item.
-- _Andrew McCann_
* Fix examples to return 0 on success.
-- _Mateusz Łoskot_
* Handle spaces in CXX path in `config_toolset.bat`.
* Fix Conan b2 generator link, and pkg-config doc build error.
-- _René Ferdinand Rivera Morell_

== Version 4.4.2

This release is the first of the new home for B2 at Build Frameworks Group.
Expand All @@ -15,13 +27,13 @@ This release is the first of the new home for B2 at Build Frameworks Group.

Minor patch to correct missing fix for macOS default engine compiler.

* Fix engine build defaulting to gcc instead of clang on macOX/Xcode.
* Fix engine build defaulting to gcc instead of clang on macOS/Xcode.
-- _René Ferdinand Rivera Morell_

== Version 4.4.0

Along with a variety of fixes this version introduces "dynamic" response file
support for some toolsets. This means that under most circumtances, if
support for some toolsets. This means that under most circumstances, if
supported by the toolset, response files are not generated. Instead the
command is expanded to include the options directly.

Expand Down Expand Up @@ -53,7 +65,7 @@ command is expanded to include the options directly.
-- _Tanzinul Islam_
* Ensure Embarcadero toolset name is only "embtc".
-- _Tanzinul Islam_
* Adapt for Emscripten 2.0 change of default behaviour for archives.
* Adapt for Emscripten 2.0 change of default behavior for archives.
-- _Basil Fierz_
* Fix path to bootstrap for back compat.
-- _René Ferdinand Rivera Morell_
Expand Down
4 changes: 2 additions & 2 deletions doc/src/standalone.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
// :source-highlighter: pygments
:source-language: jam
:highlightjsdir: hljs
:pygments-style: native
// :pygments-style: native
// :rouge-style: native
:pygments-style: friendly
// :pygments-style: friendly
:caution-caption: ⚑
:important-caption: ‼
:note-caption: ℹ
Expand Down
3 changes: 1 addition & 2 deletions doc/src/tasks.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -726,5 +726,4 @@ There are a number of built-in `glob` patterns to support popular package
managers. Currently the supported ones are:

* Conan (`conan`): currently supports the
link:https://bintray.com/bfgroup/public-conan/b2gen%3Abfgroup[`b2gen`]
generator.
link:https://docs.conan.io/en/latest/reference/generators/b2.html[`b2 generator`].
1 change: 0 additions & 1 deletion example/hello/hello.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,5 @@
int main()
{
std::cout << "Hello!\n";
return 1;
}
// end::source[]
1 change: 0 additions & 1 deletion example/time/hello.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@
int main()
{
std::cout << "Hello!\n";
return 1;
}
8 changes: 7 additions & 1 deletion src/build/generators.jam
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,13 @@ class generator
}
if $(result)
{
return $(relevant) $(result) ;
if [ class.is-a $(result[1]) : property-set ]
{
return [ $(result[1]).add $(relevant) ] $(result[2-]) ;
}
else {
return $(relevant) $(result) ;
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/build/version.jam
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import numbers ;

# Mirror engine JAM_VERSION
.major = "4" ;
.minor = "4" ;
.minor = "5" ;


rule boost-build ( )
Expand Down
28 changes: 14 additions & 14 deletions src/engine/config_toolset.bat
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ call :Call_If_Exists "%B2_TOOLSET_ROOT%bin\VCVARS32.BAT"
if not "_%B2_TOOLSET_ROOT%_" == "__" (
set "PATH=%B2_TOOLSET_ROOT%bin;%PATH%"
)
set "B2_CXX=%CXX% /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX="%CXX%" /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX_LINK=/link kernel32.lib advapi32.lib user32.lib"
set "_known_=1"
goto :eof
Expand All @@ -49,7 +49,7 @@ if NOT "_%B2_TOOLSET_ROOT%_" == "__" (
if "_%VCINSTALLDIR%_" == "__" (
set "PATH=%B2_TOOLSET_ROOT%bin;%PATH%"
) )
set "B2_CXX=%CXX% /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX="%CXX%" /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX_LINK=/link kernel32.lib advapi32.lib user32.lib"
set "_known_=1"
goto :eof
Expand All @@ -68,7 +68,7 @@ if NOT "_%B2_TOOLSET_ROOT%_" == "__" (
if "_%VCINSTALLDIR%_" == "__" (
set "PATH=%B2_TOOLSET_ROOT%bin;%PATH%"
) )
set "B2_CXX=%CXX% /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX="%CXX%" /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX_LINK=/link kernel32.lib advapi32.lib user32.lib"
set "_known_=1"
goto :eof
Expand All @@ -88,7 +88,7 @@ if NOT "_%B2_TOOLSET_ROOT%_" == "__" (
if "_%VCINSTALLDIR%_" == "__" (
set "PATH=%B2_TOOLSET_ROOT%bin;%PATH%"
) )
set "B2_CXX=%CXX% /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX="%CXX%" /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX_LINK=/link kernel32.lib advapi32.lib user32.lib"
set "_known_=1"
goto :eof
Expand All @@ -110,7 +110,7 @@ REM return to current directory as vsdevcmd_end.bat switches to %USERPROFILE%\So
pushd %CD%
if "_%VSINSTALLDIR%_" == "__" call :Call_If_Exists "%B2_TOOLSET_ROOT%Auxiliary\Build\vcvarsall.bat" %B2_BUILD_ARGS%
popd
set "B2_CXX=%CXX% /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX="%CXX%" /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX_LINK=/link kernel32.lib advapi32.lib user32.lib"
set "_known_=1"
goto :eof
Expand All @@ -132,7 +132,7 @@ REM return to current directory as vsdevcmd_end.bat switches to %USERPROFILE%\So
pushd %CD%
if "_%VSINSTALLDIR%_" == "__" call :Call_If_Exists "%B2_TOOLSET_ROOT%Auxiliary\Build\vcvarsall.bat" %B2_BUILD_ARGS%
popd
set "B2_CXX=%CXX% /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX="%CXX%" /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX_LINK=/link kernel32.lib advapi32.lib user32.lib"
set "_known_=1"
goto :eof
Expand All @@ -154,7 +154,7 @@ REM return to current directory as vsdevcmd_end.bat switches to %USERPROFILE%\So
pushd %CD%
if "_%VSINSTALLDIR%_" == "__" call :Call_If_Exists "%B2_TOOLSET_ROOT%Auxiliary\Build\vcvarsall.bat" %B2_BUILD_ARGS%
popd
set "B2_CXX=%CXX% /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX="%CXX%" /nologo /MP /MT /TP /Feb2 /wd4996 /O2 /GL /EHsc"
set "B2_CXX_LINK=/link kernel32.lib advapi32.lib user32.lib"
set "_known_=1"
goto :eof
Expand All @@ -170,37 +170,37 @@ if "_%B2_TOOLSET_ROOT%_" == "__" (
if not "_%B2_TOOLSET_ROOT%_" == "__" (
set "PATH=%B2_TOOLSET_ROOT%Bin;%PATH%"
)
set "B2_CXX=%CXX% -tC -P -O2 -w- -I"%B2_TOOLSET_ROOT%Include" -L"%B2_TOOLSET_ROOT%Lib" -eb2"
set "B2_CXX="%CXX%" -tC -P -O2 -w- -I"%B2_TOOLSET_ROOT%Include" -L"%B2_TOOLSET_ROOT%Lib" -eb2"
set "_known_=1"
goto :eof

:Config_COMO
if not defined CXX ( set "CXX=como" )
set "B2_CXX=%CXX% --inlining -o b2.exe"
set "B2_CXX="%CXX%" --inlining -o b2.exe"
set "_known_=1"
goto :eof

:Config_GCC
if not defined CXX ( set "CXX=g++" )
set "B2_CXX=%CXX% -x c++ -std=c++11 -s -O3 -o b2.exe"
set "B2_CXX="%CXX%" -x c++ -std=c++11 -s -O3 -o b2.exe"
set "_known_=1"
goto :eof

:Config_CLANG
if not defined CXX ( set "CXX=clang++" )
set "B2_CXX=%CXX% -x c++ -std=c++11 -s -O3 -o b2.exe"
set "B2_CXX="%CXX%" -x c++ -std=c++11 -s -O3 -o b2.exe"
set "_known_=1"
goto :eof

:Config_GCC_NOCYGWIN
if not defined CXX ( set "CXX=g++" )
set "B2_CXX=%CXX% -x c++ -std=c++11 -s -O3 -mno-cygwin -o b2.exe"
set "B2_CXX="%CXX%" -x c++ -std=c++11 -s -O3 -mno-cygwin -o b2.exe"
set "_known_=1"
goto :eof

:Config_INTEL_WIN32
if not defined CXX ( set "CXX=icl" )
set "B2_CXX=%CXX% /nologo /MT /O2 /Ob2 /Gy /GF /GA /GB /Feb2"
set "B2_CXX="%CXX%" /nologo /MT /O2 /Ob2 /Gy /GF /GA /GB /Feb2"
set "_known_=1"
goto :eof

Expand All @@ -210,6 +210,6 @@ if not "_%B2_TOOLSET_ROOT%_" == "__" (
set "PATH=%B2_TOOLSET_ROOT%bin;%PATH%"
)
for /F "delims=" %%I in ("%CXX%") do set "PATH=%PATH%;%%~dpI"
set "B2_CXX=%CXX% -x c++ -std=c++11 -s -O3 -o b2.exe"
set "B2_CXX="%CXX%" -x c++ -std=c++11 -s -O3 -o b2.exe"
set "_known_=1"
goto :eof
4 changes: 2 additions & 2 deletions src/engine/jamgram.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.7.2. */
/* A Bison parser, made by GNU Bison 3.7.3. */

/* Bison implementation for Yacc-like parsers in C
Expand Down Expand Up @@ -49,7 +49,7 @@
#define YYBISON 1

/* Bison version. */
#define YYBISON_VERSION "3.7.2"
#define YYBISON_VERSION "3.7.3"

/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
Expand Down
2 changes: 1 addition & 1 deletion src/engine/jamgram.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* A Bison parser, made by GNU Bison 3.7.2. */
/* A Bison parser, made by GNU Bison 3.7.3. */

/* Bison interface for Yacc-like parsers in C
Expand Down
4 changes: 2 additions & 2 deletions src/engine/patchlevel.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ Distributed under the Boost Software License, Version 1.0.


#define VERSION_MAJOR 4
#define VERSION_MINOR 4
#define VERSION_PATCH 2
#define VERSION_MINOR 5
#define VERSION_PATCH 0
3 changes: 2 additions & 1 deletion src/tools/pkg-config.jam
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@ rule import

#| tag::doc[]

== Initialization [[ pkg-config-init ]]
[[pkg-config-init]]
== Initialization

To use the `pkg-config` tool you need to declare it in a configuration file
with the `using` rule:
Expand Down
8 changes: 7 additions & 1 deletion src/tools/python.jam
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,13 @@ local rule compute-default-paths ( target-os : version ? : prefix ? :
}
else
{
includes ?= $(prefix)/include/python$(version) ;
local default-include-path = $(prefix)/include/python$(version) ;
if ! [ path.exists $(default-include-path) ] && [ path.exists $(default-include-path)m ]
{
default-include-path = $(default-include-path)m ;
}

includes ?= $(default-include-path) ;

local lib = $(exec-prefix)/lib ;
libraries ?= $(lib)/python$(version)/config $(lib) ;
Expand Down

0 comments on commit f3fc6c9

Please sign in to comment.