summaryrefslogtreecommitdiff
path: root/llvm/lib/TextAPI/Utils.cpp
AgeCommit message (Collapse)Author
2024-11-15[Clang][Darwin] Introduce `SubFrameworks` as a SDK default location (#115048)Cyndy Ishida
* Have clang always append & pass System/Library/SubFrameworks when determining default sdk search paths. * Teach clang-installapi to traverse there for framework input. * Teach llvm-readtapi that the library files (TBD or binary) in there should be considered private. resolves: rdar://137457006
2024-06-13[llvm-project] Fix typo "seperate" (#95373)Jay Foad
2024-05-19[llvm] Use StringRef::contains (NFC) (#92710)Kazu Hirata
2024-05-10[InstallAPI] Support mutually exclusive parse options (#90686)Cyndy Ishida
Projects like libc use mutually exclusive macros to compile files multiple times and then merge the result into the final library. For installapi to accept these, we'd need to parse the same declarations in different ways. This patch adds the basic pipelining for installapi to create the correct TBD file. * -Xproject allows: -fmodules, -fobjc-arc, fvisibility=hidden, prefix headers * -Xlabel allows: -D and -U settings * Error on 'private' and 'public' labels -X<label> * Xplatform allows: -iframework <path> This is to support the case where zippered frameworks want to pass in iOSSupport search path.
2024-04-18[InstallAPI] Add support for aliased exports (#88750)Cyndy Ishida
Apple's ld supports alias_lists, described as ``` -alias_list filename The specified filename contains a list of aliases. The symbol name and its alias are on one line, separated by whitespace. Lines starting with # are ignored. ``` To handle this for installapi-produced TBD files, pass along the same input and account for it in verification.
2024-03-25Reapply "[InstallAPI] Add --extra* and --exclude* cli options for header ↵Cyndy Ishida
input (#86522)" (#86574)
2024-03-25Revert "[InstallAPI] Add --extra* and --exclude* cli options for header ↵Cyndy Ishida
input (#86522)" This reverts commit b7d8c6188986f62573b9516fe27fdd0c7df1aaf9. And This reverts commit 2d40f179124f874aca4cf1145fdbc42fb8fb17f3. It caused a build failure i'll need to reproduce. ` error: could not convert ‘Rule’ from ‘llvm::Regex’ to ‘llvm::Expected<llvm::Regex>’`
2024-03-25[TextAPI] Add missing include for Expected typeCyndy Ishida
2024-03-25[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)Cyndy Ishida
InstallAPI takes a json list of headers that is typically generated from a build system like Xcode based on a project's attributes. Sometimes, maintainers may want to alter this for tapi input. Using e.g. `--extra-public-headers`, users can manipulate what headers will be used for TBD file generation.
2024-02-03[readtapi] Add support for stubify-ing directories (#76885)Cyndy Ishida
When given a directory input `llvm-readtapi` traverses through the directory to find dylibs or tbd files to operate on. TBD files will be created with the same base file name as the dylib. Symlinks should be created if the input is one. This also introduces options to delete input files which are defined as library files that existed before `readtapi -stubify` was invoked. Also the ability to delete private libraries where private libraries are in a predefined file system locations on darwin based platforms.
2023-12-20[readtapi] Setup simple stubify support (#76075)Cyndy Ishida
Stubify broadly takes either tbd files or binary dylibs and turns them into tbd files. In future patches, stubify will also allow additional information to be embedded into the final TBD output too. Add Util APIs to TextAPI for common operations used by readtapi for now.