module cstd [system] {
  // Only in compiler support directory
  module float_constants {
    header "float.h"
  }

  // Only in system headers directory
  module stdio {
    header "stdio.h"
  }

  // In both directories (compiler support version wins, does not forward)
  module stdbool {
    header "stdbool.h"
  }

  // In both directories (compiler support version wins, forwards)
  module stdint {
    header "stdint.h"
  }
}

module other_constants {
  explicit module dbl_max {
    header "dbl_max.h"
  }
}

module uses_other_constants {
  header "uses_other_constants.h"
  export *
}

module Darwin {
  module C {
    module excluded {
      requires excluded
      header "assert.h"
    }
  }
}

module Tcl {
  module Private {
    requires excluded
    umbrella ""
  }
}

module IOKit {
  module avc {
    requires cplusplus
  }
}