xref: /freebsd/contrib/llvm-project/llvm/include/llvm/TextAPI/Utils.h (revision 2f9966ff63d65bd474478888c9088eeae3f9c669)
1 //===- llvm/TextAPI/Utils.h - TAPI Utils -----------------------*- 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 // Helper functionality used for Darwin specific operations.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_TEXTAPI_UTILS_H
14 #define LLVM_TEXTAPI_UTILS_H
15 
16 #include "llvm/ADT/Twine.h"
17 #include "llvm/Support/FileSystem.h"
18 #include "llvm/Support/Path.h"
19 
20 #if !defined(PATH_MAX)
21 #define PATH_MAX 1024
22 #endif
23 
24 namespace llvm::MachO {
25 
26 using PathSeq = std::vector<std::string>;
27 
28 /// Replace extension considering frameworks.
29 ///
30 /// \param Path Location of file.
31 /// \param Extension File extension to update with.
32 void replace_extension(SmallVectorImpl<char> &Path, const Twine &Extension);
33 } // namespace llvm::MachO
34 #endif // LLVM_TEXTAPI_UTILS_H
35