FIND-ALL-SYMBOLS(1)
π¦ NAME π¦
find-all-symbols β it's the manual page for find-all-symbols 12, bestie π literally what it says on the tin.
β¨ DESCRIPTION β¨
Okay so here's the whole vibe. This is how you run it:
USAGE: find-all-symbols [options] <source0> [... <sourceN>]
And then the OPTIONS, which we're gonna go through one by one because I love you and I want you to actually understand this π«Ά
πΈ Generic Options πΈ
The chill, universal ones, the ones every tool has, the group chat regulars:
--helpβ shows you all the available options π (and if you want even more, there's--help-hidden, no cap)--help-listβ displays a straight-up list of the available options (and yeah,--help-list-hiddenexists for even more of them π)--versionβ displays the version of this program, iconic, no notes β¨
π find_all_symbols options π
The ones that are actually specific to this tool, the main characters:
--extra-arg=<string>β an extra argument to append to the compiler command line π--extra-arg-before=<string>β an extra argument to prepend to the compiler command line (before, bestie, not after, they are NOT the same π)--merge-dir=<string>β the directory for merging symbols π§--output-dir=<string>β the output directory for saving the results πΎ-p=<string>β Build path π οΈ
π so like, what IS -p tho π
-p <build-path> is used to read a compile command database.
For example, it can be a CMake build directory in which a file named compile_commands.json exists β use the -DCMAKE_EXPORT_COMPILE_COMMANDS=ON CMake option to get this output, that's the lil trick that makes it appear β¨
When no build path is specified, a search for compile_commands.json will be attempted through all parent paths of the first input file.
See: https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an example of setting up Clang Tooling on a source tree π³
π¦ and the source files π¦
<source0> ... β specify the paths of source files. These paths are looked up in the compile command database π
- If the path of a file is absolute, it needs to point into CMake's source tree.
- If the path is relative, the current working directory needs to be in the CMake source tree, and the file must be in a subdirectory of the current working directory.
"./"prefixes in the relative files will be automatically removed, but the rest of a relative path must be a suffix of a path in the compile command database.
okay this relative-path thing is genuinely the part that eats people alive so read it twice, bestie π the rules are strict and the tool will simply Not Help You if you get it wrong
π one more thing π
More help text...
and that's the whole page, mwah π
this was find-all-symbols 12, from February 2022, and it says it's a User Commands situation β so go forth, point it at your sources, and slay ππβ¨
π¦ where this page comes from
- ubuntu jammy: clang-tools-12 1:12.0.1-19ubuntu3 Β· APACHE-2-LLVM-EXCEPTIONS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms