v2212: New and improved usability
Multiple maintenance updates have been applied to the build system, including:
- removal of make rules for discontinued architectures;
- removal of fast-math and unsafe-math-optimizations for Fujitsu ARM; and
- additional wmake -debug controls
Improved compilation support for openmp
The use of openmp can now also be globally enabled/disabled by a corresponding entry in the WM_COMPILE_CONTROL variable:
WM_COMPILE_CONTROL="+openmp" # with openmp enabled
WM_COMPILE_CONTROL="~openmp" # with openmp disabled
If both are specified, the ~openmp disabling has priority. For a single use, corresponding wmake options can be used instead:
wmake -openmp # with openmp enabled
wmake -no-openmp # with openmp disabled
which helps when compiling with or without openmp support.
Support ccache wrapping
The ccache compiler cache can be used to speedup recompilation. It can be easily selected by adding to the WM_COMPILE_CONTROL, e.g.
WM_COMPILE_CONTROL="+ccache"
The same mechanism can also be harnessed to add in code instrumentation. For this case, the longer form is specified in the WM_COMPILE_CONTROL, e.g.
WM_COMPILE_CONTROL="ccache='/path/my-tooling --option'"
Additional wmake controls
The full list of controls can be obtained using:
wmake -help-full
Of particular interest is compilation with full debug checking, e.g. out-of-bounds, no optimisation
wmake -debug-O0
These options can be combined with all the usual options, e.g. to compile using 12 cores:
wmake -debug-O0 -j 12