anchor.diff:  
   Good discussion on architecture naming here: http://clang.llvm.org/docs/CrossCompilation.html
   
  -== Variants
  -
  -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 seeds for the same architecture with different collections of settings that apply to all seeds. Example use cases that apply here are debug, production, or special test build variants.
  -
   == Tools
   
   Tool are used to create all build artifacts.
  
positive.code: = Moss Design Overview
  
  Moss is a library for GNU make that streamlines the creation of rules and dependencies for software build artifacts. The core concepts within this library are:
  
  1. Seeds - modular units of software configuration used to define one or more artifacts
  2. Artifacts - software build products that may be created for multiple architectures and variants
  3. Architectures - used to specialize seeds and tools for artifact creation
  4. Variants - global options for tools
  5. Tools - used to compile source code and create artifacts
  
  These core concepts are defined and extended entirely through makefile variable definitions.
  Knowledge of toolchain and architecture specifics are decoupled from the description of the software itself.
  Moss manages the creation and application of all makefile rules required for multiple languages, artifacts, architectures, toolchains, and variants.
  This separation of concerns avoids many pitfalls of traditional make-based build systems.
  
  == Seeds
  
  Seeds define a series of base variables and configuration options that may be used by artifact definitions as a source of configuration.
  
  A given seed may be used to produce multiple artifacts for multiple architectures without requiring duplication of the seed definition.
  The architecture-specific 'specializations' are created from the base seed 'template'.
  
negative.code: 2. Compile: The output is object code.
  
  3. Form: The output is a build artifact that may contain object code or files.
  
  == Variants
  
  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 seeds for the same architecture with different collections of settings that apply to all seeds. Example use cases that apply here are debug, production, or special test build variants.
  