Fix the conditional around acquiring the data from Python interpreter to
be run if interpreter-cmd, includes and libraries are provided (but
version is not).
- Adds python optimization by default with a "-z" disable flag.
- Add type checking to bjam_signature and type checking asserts.
- Fix a type assertion in testing.
The previous code would do parts of Windows Store support initialization
using 'default-path', and would fail in all cases where that returns false,
in particular for 12.0_xp version.
This patch moves that code to a different place, where explicit initialization
path is available.
Passing -undefined dynamic_lookup to the linker (instead of -lpython or
-framework Python) permits undefined symbols in shared libraries on OS
X. This allows a module to be linked against one Python framework and
imported from another.
gcc.jam was passing the options -m32 and -m64 to mips cross-compilers, when those do not use such options
This modification solves it by adding mips as an exception
Signed-off-by: Carlos M. Ferreira carlosmf.pt@gmail.com
feature.py:
Use the feature's name in the error output. This helps in understanding the
error message.
project.py:
The original looked like the result of a bad merge as the return value was the
exact same as the return within the try...except block. The try...except
produces a better error message upon failure.
property_set.py:
The string module is unused.
virtual_target.py:
ARM's ar.exe would fail when passed a path to the -via file that had both
POSIX and Windows path separators. Normalizing the path on the target solved
the problem.
common.py:
The requirement parameter in check_init_parameters should be a container. The
original Jam signature marks it as a list with zero or more items. These
changes convert the requirement parameter to using only a container.
msvc.py:
The call to to_seq asserts that command is always some container. So, extend()
should always be used.
tools/rc.py:
Old style exceptions aren't allowed (at least in Python 2.7). This change just
uses the existing AlreadyDefined exception.
testing.py:
loaded_tool_module_path_ is empty upon initial import. Using the __file__
variable instead will always work (provided the import system doesn't change).
This patch fixes 3 issues:
- Adds support for Intel-15 so MSVC version can be auto-selected.
- Changes GLOB to path.glob as for some reason the GLOB rule always
fails when used in this context (discovered when testing this patch).
- Changes selection logic for target-types variable - previous code
used the value of PROCESSOR_ARCHITECTURE to detect this, but that
appears to only tell you which sub-system bjam is running in. For
example on my system bjam is a 32-bit app (default for an msvc build),
but I only have the Intel 64-bit compiler installed (under /intel64/).
New logic checks whether the intel64 compiler exists and uses that if
it is - Intel's installer won't install this on 32 bit platforms in
which case the glob fails and things fall back to the ia32-intel64
cross compiler when address-model=64 is specified.