         let umbrellaHeaderFlat = Path.join(includeDir, "\(c99name).h")
         if umbrellaHeaderFlat.isFile {
             guard dirs.isEmpty else { throw ModuleMapError.unsupportedIncludeLayoutForModule(name) }
-            try createModuleMap(inDir: wd, type: .header(umbrellaHeaderFlat))
+            try createModuleMap(inDir: wd, type: .header(umbrellaHeaderFlat), modulemapStyle: modulemapStyle)
             return
         }
         diagnoseInvalidUmbrellaHeader(includeDir)


extension ClangModule {
    
    public enum ModuleMapError: ErrorProtocol {
        case unsupportedIncludeLayoutForModule(String)
    }

        let umbrellaHeader = Path.join(includeDir, c99name, "\(c99name).h")
        if umbrellaHeader.isFile {
            guard dirs.count == 1 && files.isEmpty else { throw ModuleMapError.unsupportedIncludeLayoutForModule(name) }
            try createModuleMap(inDir: wd, type: .header(umbrellaHeader), modulemapStyle: modulemapStyle)
            return
        }
        diagnoseInvalidUmbrellaHeader(Path.join(includeDir, c99name))

        try createModuleMap(inDir: wd, type: .directory(includeDir), modulemapStyle: modulemapStyle)
    }

    ///warn user if in case module name and c99name are different and there a `name.h` umbrella header
