✍ Additional Ostinato build parameters.

It could be interesting to investigate the assembly listings produced by building with XD_XMTX_CONCAT_VEC and XD_USE_LA flags

XD_XMTX_CONCAT_VEC allows to choose an xt_xmtx (3x4 transformation matrix) concatenation implementation:

By default it is XD_XMTX_CONCAT_VEC=0 - a 'direct' implementaion without loops.
Specifying XD_XMTX_CONCAT_VEC=1|2 will choose an implementation with loops that hints compilers to use SIMD instructions.
XD_XMTX_CONCAT_VEC=2 can be useful if compiling for architectures supporting 512 bit operations (for example avx+).

CXX=clang++ ./build.sh ... -DXD_XMTX_CONCAT_VEC=0|1|2

Crosscore contains a set of templates for linear algebra operations. By default 4x4 matrix operations, such as multiplication, vector/point trasnformation and matrix inversion, make use of them. XD_USE_LA allows to switch this off.
XD_USE_LA=0 - don't use LA templates; default Cramer's matrix inversion;
XD_USE_LA=1 - use LA templates; matrix inversion using Gauss-Jordan method

CXX=clang++ ./build.sh ... -DXD_USE_LA=0|1 Note: Clang produces an erronous code when the sources are compiled for webassembly with simd instructions enabled and XD_USE_LA=0. Can be some Clang/LLVM problem.

./build.sh wasm -msimd128 -DXD_USE_LA=0