* Add automatic project searching.
This adds an automatic, but controlled, method for finding, declaring,
and loading of unknown rooted project-id references.
(cherry picked from commit 3f6dd2dee29a0a0d89a4c83bc16abbd3977453e8)
* Fix incorrect project search env var name.
(cherry picked from commit 87c35a56d1a1d1fbb16e02d6c1101cdcd2e8c2b7)
* Fix infinite recursion when project path has "..".
(cherry picked from commit 4a7c4156df8295d442373b4feb99d426b55a887b)
* Fix use of >4.x native built-in.
---------
Co-authored-by: Rene Rivera <grafikrobot@gmail.com>
This removes the class.jam module file in favor of native code. This
required some changes to allow for calling class member rules that have
the extra self argument. And some additions to lists to avoid copy
overhead. This now sees a slight improvement in performance in the
tests.
Removes outdated "modules" module docs from reference.adoc to use the
docs from the mod_jam_modules.h file directly. Also fixes some bad
text in the regex docs.
It was possible to overflow the command line limit for msvc link actions.
This would happen when the combination of object files to link was not
above the limit but when combined with the link options it would be
above the limit. The issue was that the link flags were not included in
automatic response file substitution. This fix makes almost the entire
command optionally be in the response file.
fixes#146
When the msvc toolset got arm support the flags for assembly got
refactored in such a way that the intel-win toolset inheriting from msvc
lost the flags. This recreates the needed flags at the intel-win level. It also
adds very minimal support for oneAPI icx compiler.
fixes#99
On gcc and clang creating an object archive with many object files and/or
long file names would break as we would exceed the rather large 100K
command limit. This fix allows the arhive command to use automatic
response file creation. Avoiding the need to grow the limit.
fixes#143
The Python port and support extensions in B2 engine were unmaintained.
This fully removes the bindings between Jam and Python. And removes the
incomplete build system port.
This removes the use of the boost-build rule to direct the loading of the
bootstrap.jam file. The file is now searched for directly based on the
b2 executable location and other criteria. This makes the installed
b2 the canonical way to use b2.