module MachO [system] {
  umbrella "mach-o"

  module dyld {
    header "mach-o/dyld.h"
    export *

    explicit module utils {
      header "mach-o/utils.h"
      export *
    }
  }

  // All swap APIs are deprecated.
  exclude header "mach-o/i386/swap.h"

  module * { export * }
}


// Cross import modules to support xlocale. These are imported automatically
// in Swift when the crossed modules are imported. e.g. when both ctype_h and
// xlocale are imported in Swift, _xlocale_ctype_h will automatically be imported.
// clang doesn't currently support cross imports; these modules can be imported
// directly instead.
module _Darwin_xlocale [system] {
  header "_modules/_Darwin_xlocale.h"
  export *
}

module _xlocale_ctype_h [system] {
  header "_modules/_xlocale_ctype_h.h"
  export *
}

module _xlocale_inttypes_h [system] {
  header "_modules/_xlocale_inttypes_h.h"
  export *
}

module _xlocale_stdio_h [system] {
  header "_modules/_xlocale_stdio_h.h"
  export *
}

module _xlocale_stdlib_h [system] {
  header "_modules/_xlocale_stdlib_h.h"
  export *
}

module _xlocale_string_h [system] {
  header "_modules/_xlocale_string_h.h"
  export *
}

module _xlocale_time_h [system] {
  header "_modules/_xlocale_time_h.h"
  export *
}

module _xlocale_wchar_h [system] {
  header "_modules/_xlocale_wchar_h.h"
  export *
}

module _xlocale_wctype_h [system] {
  header "_modules/_xlocale_wctype_h.h"
  export *
}
