* test suite fixes for link=static default
* emscripten renovation
* inherit from clang toolset
* update for 'new' fastcomp backend
* exceptions support
* dynamic linking support
* pthread support
* run-tests launcher via nodejs
-mthreads is obsolete and is not presented in clang, and was never a thing in cygwin (fixes#38).
I have no idea why clang was configured to add -pthread on threadapi=win32, changing this is a breaking change but is the right thing to do. I run Boost.Thread tests and it passed cleanly on both threadapi=win32 and threadapi=pthread.
* update tag test to check pdbs too
* pdb order issues tentative fix
I believe this is the root cause of mysterious bugs involving pdbs:
1. `replace-targets` may rearrange targets order, which might be the cause of
exe/dll/lib swapping places.
2. The hack in `msvc-linking-generator` were messing things up somehow when
`virtual-target.register` returns a cached target.
Even if the change does not fix these issues it is still a good code refactor.
* use usual name generation machinery for pdbs
* Test: Invoke b2 with .exe suffix on Windows
* GCC: Pass -ftemplate-depth-xxx when building PCH
* MSVC: Fix PCH include directory and pass only PCH-header name to -Yu
Apparently `[ $(pch-header).path ]` gives the wrong path to the header.
* Clang: Use --version instead of -dumpversion
Fixes issue when Clang 8 and below determined as 4.2.1 version.
* Bootstrap and test with versioned toolset
Eliminates need to manual configure toolsets via `user-config.jam` for testing, and allows to pass to `bootstrap.sh` the same toolset string as you would to B2 invocation what eliminates need to specify a custom exec via `--cxx=`.
Previously it was needed to include pch header in every source file, but Clang does it automatically making the usage non-uniform. It is also a very noisy process to add pch header to an existing project. Automatic on-demand header inclusion solves both issues.
* pch: msvc source automatic header folder inclusion
* pch test refactoring
* pch test msvc automatic pch source generation
* Include pch header automatically and on-demand
* no more need in gcc pch naming hack
* Add a warning to running the Boost Build tests about outputting to the console in a configuration jam file.
* Fix the tests if the toolset passed has a version.
Now that the tests work in py2 or p3 we don't set py version in AP. This
allows for dealing with the AP images that don't have a way to set the
py version.
These are some minimal changes to compile with C++. Here begins
the road to rewriting the bjam engine in C++. So far this is only built
and tested with XCode clang on OSX.
Various restructure of test framework handling of paths to avoid duplicate path editing which caused failed tests. Adjust many tests to deal with added subdirectories in build outputs now that toolset requirements are active.
Make gcc almost fully work on OSX and adjust clang toolsets to deal with
gcc changes. Adjust test framework to deal with gcc running on OSX for
the first time.
Given strings represent expected continuous line sequences (separated by \n) and extra lines are allowed between content represented by different successive strings. For example, lines = ['foo\nbar', 'baz'] would match:
aaa
foo
bar
bbb
baz
ccc
but would not match:
aaa
foo
xxx
bar
bbb
baz
ccc
Added a description comment for the related Tester.__expect_lines() implementation function.
[SVN r80088]