1 //===- llvm/TextAPI/Platform.h - Platform -----------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // Defines the Platforms supported by Tapi and helpers. 10 // 11 //===----------------------------------------------------------------------===// 12 #ifndef LLVM_TEXTAPI_PLATFORM_H 13 #define LLVM_TEXTAPI_PLATFORM_H 14 15 #include "llvm/ADT/SmallSet.h" 16 #include "llvm/BinaryFormat/MachO.h" 17 18 namespace llvm { 19 namespace MachO { 20 21 using PlatformSet = SmallSet<PlatformType, 3>; 22 23 PlatformType mapToPlatformType(PlatformType Platform, bool WantSim); 24 PlatformType mapToPlatformType(const Triple &Target); 25 PlatformSet mapToPlatformSet(ArrayRef<Triple> Targets); 26 StringRef getPlatformName(PlatformType Platform); 27 PlatformType getPlatformFromName(StringRef Name); 28 std::string getOSAndEnvironmentName(PlatformType Platform, 29 std::string Version = ""); 30 31 } // end namespace MachO. 32 } // end namespace llvm. 33 34 #endif // LLVM_TEXTAPI_PLATFORM_H 35