anchor.diff:  A build variant is a selection that applies across all architectures and toolchains (in most cases). An example would be debug vs production.
   
   Variants provide the mechanism for compiling multiple spores for the same architecture with different collections of settings that apply to all spores. Example use cases that apply here are debug, production, or special test build variants.
  -
  -Toolchains
  -----------
  -
  -A toolchain is a set of tools that are used to translate source code into binary form for execution on a specific architecture.
  -
  -Toolchain settings are chosen based upon architecture and variant. Additional customization may be overlaid for each spore based upon architecture.
  -
  -Code generated by one toolchain cannot be linked or combined with code generated for another toolchain unless it is explicitly forced in spore dependencies.
  -
  -Examples: gcc, clang, gcc-debug, clang-release, clang-debug.
  -
  -While a toolchain must include all tools required to produce an executable binary or library output, the name of the toolchain is generally based upon the compiler.
  -
  -Generally, debug versus release build variants are handled at the toolchain level due to the significant impact that may be present on generated code.
  -
  -- `M.TOOLS`: All available toolchains
  -- `M.TOOL`: Current toolchain
  -
  -A toolchain uses both architecture and variant to customize settings to the specific code generation tools.
  -
  
positive.code: 
  Tools are specialized according to:
  
  - Architecture - how source is compiled for target machine and environment
  - Variant - global variations on compiling
  
  Spores
  
negative.code: ====================
  
  This document captures core design principles and concepts for the Moss build system.
  
  Moss produces completed software artifacts from source code.
  The core concepts required by this process are:
  