diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e10e8ce88..be9086f38 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -86,7 +86,13 @@ stages: CXX_PATH=`which ${CXX}` echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam ./bootstrap.sh ${TOOLSET} - ./b2 --prefix=./.b2 install ${TEST_TOOLSET} + ./b2 --prefix=$HOME/temp/.b2 install ${TEST_TOOLSET} + rm ./b2 + export PATH=$HOME/temp/.b2/bin:$PATH + cd $HOME + touch build.jam + b2 -v + b2 -n --debug-configuration displayName: Bootstrap - job: 'Windows' @@ -108,22 +114,28 @@ stages: - powershell: | $env:HOME = $env:HOMEDRIVE + $env:HOMEPATH cd test - echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > $env:HOME/user-config.jam + echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > ${env:HOME}/user-config.jam python test_all.py $env:TEST_TOOLSET cd .. displayName: Test - powershell: | $env:HOME = $env:HOMEDRIVE + $env:HOMEPATH $env:path += ';' + $env:CXX_PATH - echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > $env:HOME/user-config.jam + echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > ${env:HOME}/user-config.jam ./src/engine/b2.exe --debug-configuration b2 warnings-as-errors=on variant=debug,release toolset=$env:TEST_TOOLSET displayName: "No Warnings" - powershell: | $env:HOME = $env:HOMEDRIVE + $env:HOMEPATH $env:path += ';' + $env:CXX_PATH - echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > $env:HOME/user-config.jam + echo "using" $env:TEST_TOOLSET ":" ":" $env:CXX ";" > ${env:HOME}/user-config.jam ./bootstrap.bat $env:TOOLSET - ./b2.exe --debug-configuration --prefix=./.b2 install toolset=$env:TEST_TOOLSET + ./b2.exe --debug-configuration --prefix=${env:HOME}/temp/.b2 install toolset=$env:TEST_TOOLSET + Remove-Item ./b2.exe + $env:path += $env:HOME + '/temp/.b2/bin' + ';' + $env:PATH + cd $env:HOME + echo $null >> build.jam + b2 -v + b2 -n --debug-configuration displayName: Bootstrap - job: 'macOS' @@ -135,9 +147,7 @@ stages: Xcode 11.4.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.4.1.app, VM_IMAGE: 'macOS-10.15'} Xcode 11.3.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.3.1.app, VM_IMAGE: 'macOS-10.15'} Xcode 11.3: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.3.app, VM_IMAGE: 'macOS-10.15'} - Xcode 11.2: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.2.app, VM_IMAGE: 'macOS-10.15'} - Xcode 11.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.1.app, VM_IMAGE: 'macOS-10.15'} - Xcode 11.0: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.app, VM_IMAGE: 'macOS-10.15'} + Xcode 11.2.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.2.1.app, VM_IMAGE: 'macOS-10.15'} Xcode 10.2.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_10.2.1.app, VM_IMAGE: 'macOS-10.14'} Xcode 10.2: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_10.2.app, VM_IMAGE: 'macOS-10.14'} Xcode 10.1: {TOOLSET: clang, TEST_TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_10.1.app, VM_IMAGE: 'macOS-10.14'} @@ -177,7 +187,13 @@ stages: CXX_PATH=`which ${CXX}` echo "using ${TEST_TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam ./bootstrap.sh ${TOOLSET} - ./b2 --prefix=./.b2 install ${TEST_TOOLSET} + ./b2 --prefix=$HOME/temp/.b2 install ${TEST_TOOLSET} + rm ./b2 + export PATH=$HOME/temp/.b2/bin:$PATH + cd $HOME + touch build.jam + b2 -v + b2 -n --debug-configuration displayName: Bootstrap - stage: Boost diff --git a/src/engine/startup.cpp b/src/engine/startup.cpp index f58625408..64738a13c 100644 --- a/src/engine/startup.cpp +++ b/src/engine/startup.cpp @@ -155,7 +155,12 @@ bool b2::startup::bootstrap(FRAME *frame) } } - const std::string b2_exe_path{executable_path(saved_argv0)}; + char *b2_exe_path_pchar = executable_path(saved_argv0); + const std::string b2_exe_path{b2_exe_path_pchar}; + if (b2_exe_path_pchar) + { + free(b2_exe_path_pchar); + } const std::string boost_build_jam{"boost-build.jam"}; std::string b2_file_path; @@ -195,15 +200,17 @@ bool b2::startup::bootstrap(FRAME *frame) { const std::string path{ b2::paths::normalize( - b2_exe_path + "/../../share/boost-build/" + boost_build_jam)}; + b2_exe_path + "/../../share/boost-build/src/kernel/" + boost_build_jam)}; if (b2::filesys::is_file(path)) b2_file_path = path; } - // Check the BOOST_BUILD_PATH paths. + // Check the BOOST_BUILD_PATH (and BOOST_ROOT) paths. if (b2_file_path.empty()) { b2::jam::list BOOST_BUILD_PATH = b2::jam::variable{"BOOST_BUILD_PATH"}; + // For back-compat with Boost we also search in the BOOST_ROOT location. + BOOST_BUILD_PATH.append(b2::jam::list(b2::jam::variable{"BOOST_ROOT"})); for (auto search_path: BOOST_BUILD_PATH) { std::string path = b2::jam::object{search_path}; diff --git a/src/tools/quickbook.jam b/src/tools/quickbook.jam index 9870e9e41..72c8e609a 100644 --- a/src/tools/quickbook.jam +++ b/src/tools/quickbook.jam @@ -1,5 +1,5 @@ # -# Copyright (c) 2005 Joćo Abecasis +# Copyright (c) 2005 JoĆ£o Abecasis # Copyright (c) 2005 Vladimir Prus # Copyright (c) 2006 Rene Rivera # diff --git a/test/TestCmd.py b/test/TestCmd.py index 7b53e9f40..1a9907a7f 100644 --- a/test/TestCmd.py +++ b/test/TestCmd.py @@ -362,7 +362,7 @@ class TestCmd: directories to be preserved for all conditions. """ - if conditions is (): + if conditions == (): conditions = ('pass_test', 'fail_test', 'no_result') for cond in conditions: self._preserve[cond] = 1