LLVM-LIBTOOL-DARWIN(1)

πŸ’… LLVM-LIBTOOL-DARWIN β€” the manual page, but make it make sense ✨

okay so bestie, welcome to the glow-up of the LLVM-LIBTOOL-DARWIN(1) page πŸ’– this is the LLVM manual, and it's literally about a tool that builds libraries for Darwin, so let's get into it πŸŽ€


🌸 NAME 🌸

llvm-libtool-darwin β€” the LLVM tool for creating libraries for Darwin. that's it, that's the vibe πŸ¦‹


✨ SYNOPSIS ✨

llvm-libtool-darwin [options] <input files>

you give it options, you give it input files, she gives you a library. iconic behavior πŸ‘‘


πŸ’œ DESCRIPTION πŸ’œ

llvm-libtool-darwin is a tool for creating static and dynamic libraries for Darwin. no cap, that's her whole job πŸ’…

and for most scenarios, she works as a drop-in replacement for cctools' libtool. so if you're migrating, she's lowkey a plug-and-play queen 🫢


πŸŽ€ OPTIONS πŸŽ€

llvm-libtool-darwin supports the following options, and yes we're listing every single one because we don't skip πŸ’–

  • -arch_only <architecture> β€” build a static library only for the specified <architecture> and ignore all the other architectures hanging out in the files. she's focused, she's selective, she's not entertaining the rest πŸ™ˆ
  • -color β€” use colors in output 🌈 because plain text is giving sad beige energy
  • -D β€” use zero for timestamps and UIDs/GIDs. this one is set by default, so she's already doing it bestie ✨
  • -filelist <listfile[,dirname]> β€” read input file names from <listfile>. file names are specified in <listfile> one per line, separated only by newlines β€” so any whitespace on a line is assumed to be part of the filename, fr fr, do not add spaces πŸ™…β€β™€οΈ. and if the directory name, dirname, is also specified, then it gets prepended to each file name in the <listfile> 🧚
  • -h, -help β€” show help and usage for this command 🫢
  • -help-list β€” show help and usage for this command without grouping the options into categories. the raw, unfiltered list, iykyk πŸ’€
  • -l <x> β€” searches for the library libx.a in the library search path. if the string <x> ends with .o, then the library x is searched for without prepending lib or appending .a πŸ‘€. if the library is found, it's added to the list of input files. otherwise, an error is raised β€” she does not do silent failure, bestie 😭
  • -L <dir> β€” adds <dir> to the list of directories to search for libraries. directories are searched in the order in which they are specified with -L, and before the default search path. the default search path includes the directories /lib, /usr/lib and /usr/local/lib 🌸
  • -no_warning_for_no_symbols β€” do not warn about files that have no symbols 🀐
  • -warnings_as_errors β€” produce a non-zero exit status if any warnings are emitted. warnings get promoted to full-blown errors, she's strict like that πŸ’€
  • -o <filename> β€” specify the output file name. must be specified exactly once β€” once, bestie, not twice, not zero times πŸ™
  • -static β€” produces a static library from the input files πŸŽ€
  • -U β€” use actual timestamps and UIDs/GIDs (the opposite energy of -D ⭐)
  • -V β€” display the version of this program and perform any operation specified β€” so she multitask-slays πŸ’…
  • -version β€” display the version of this program and exit immediately β€” she's out, periodt πŸ¦‹

πŸ”₯ EXIT STATUS πŸ”₯

llvm-libtool-darwin exits with a non-zero exit code if there is an error. otherwise, she exits with code 0 ✨ simple as that 🫢


πŸ’€ BUGS πŸ’€

to report bugs, please visit <https://github.com/llvm/llvm-project/issues/> β€” the link in the original page is hyphenated across lines, so just know it's that URL πŸ›


🌈 SEE ALSO 🌈

llvm-ar(1) β€” go read that one too, bestie πŸ‘‘


πŸ‘‘ AUTHOR πŸ‘‘

maintained by the LLVM Team (https://llvm.org/) πŸ’œ they're the main characters here, honestly.


2003-2023, LLVM Project 🌸


and that's the whole page, bestie πŸ’– this manual is version 15 from 2023-07-14, brought to you by the LLVM girlies β€” now go build some libraries and slay βœ¨πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from