framework module DependsOnModule {
  umbrella header "DependsOnModule.h"
  header "other.h"
  module * {
    export *
  }
  explicit module CXX {
    requires cplusplus
    header "cxx_other.h"
  }
  explicit module NotCXX {
    requires !cplusplus
    header "not_cxx.h"
  }
  explicit module NotObjC {
    requires !objc
    header "not_objc.h"
  }
  explicit module CustomReq1 {
    requires custom_req1
  }
  explicit module CustomReq2 {
    requires custom_req2
  }

  explicit framework module SubFramework {
    umbrella header "SubFramework.h"

    module * {
      export *
    }
  }
}