| module-name = 'wtf' |
| attributes = ['system'] |
| default-module = 'Cpp' |
| # This header depends on surrounding preprocessor context. |
| textual-headers = ['spi/mac/MetadataSPI.h'] |
| |
| # Nearly all of WTF depends upon C++ and thus goes in this submodule. |
| [module.Cpp] |
| requirements = ['cplusplus20'] |
| |
| # The following WTF headers can be used in C contexts as well as C++ |
| # so we put them in separate submodules. |
| [module.Assertions] |
| headers = ['Assertions.h'] |
| |
| [module.Compiler] |
| headers = ['Compiler.h'] |
| |
| [module.ExportMacros] |
| headers = ['ExportMacros.h'] |
| |
| [module.IOSurfaceSPI] |
| headers = ['spi/cocoa/IOSurfaceSPI.h'] |
| |
| [module.SwiftBridging] |
| headers = ['SwiftBridging.h'] |
| |
| # Users of these headers do not reliably Include What They Use, |
| # so for now make them into one big module |
| [module.Platform] |
| headers = [ |
| 'Platform.h', 'PlatformCallingConventions.h', 'PlatformCPU.h', |
| 'PlatformEnable.h', 'PlatformEnableCocoa.h', 'PlatformHave.h', |
| 'PlatformLegacy.h', 'PlatformOS.h', 'PlatformUse.h'] |
| |
| # AutodrainedPool must never be parsed in an objective-C |
| # context. |
| [module.AutodrainedPool] |
| requirements = ['cplusplus20', '!objc'] |
| headers = ['AutodrainedPool.h'] |
| |
| # Works only on some platforms. |
| [module.MetadataSPI] |
| requirements = ['cplusplus20'] |
| headers = ['spi/mac/MetadataSPI.h'] |
| |
| # Require objc. |
| [module.NSLocaleSPI] |
| requirements = ['objc'] |
| headers = ['spi/cocoa/NSLocaleSPI.h'] |
| |
| [module.NSObjCRuntimeSPI] |
| requirements = ['objc'] |
| headers = ['spi/cocoa/NSObjCRuntimeSPI.h'] |
| |
| # Swiftc cannot currently parse various bits of WTF so we have to |
| # exile them outside the main WTF module. |
| |
| # Swift cannot understand a std::optional in here, rdar://152718041. |
| [module.TextBreakIterator] |
| headers = ['text/TextBreakIterator.h'] |
| requirements = ['cplusplus20'] |
| |
| # Due to conflict between wtf::Task and Swift.Task. |
| # FIXME: resolve this using a typealias in Foundation+Extras.swift, |
| # as we have done for other similarly conflicting types, but |
| # which for some reason doesn't seem to work for Task. |
| [module.CoroutineUtilities] |
| headers = ['CoroutineUtilities.h'] |
| requirements = ['cplusplus20'] |