LLVM-LIBTOOL-DARWIN(1)

πŸ’… LLVM-LIBTOOL-DARWIN

okay so bestie, welcome to the LLVM manual page for llvm-libtool-darwin β€” yes that's the whole title, it's giving long-distance-relationship energy between a hyphen and a manual section πŸŽ€


✨ NAME ✨

llvm-libtool-darwin β€” the LLVM tool for creating libraries for Darwin πŸ“


🌸 SYNOPSIS 🌸

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

that's it. options first-ish, then the input files. periodt.


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so llvm-libtool-darwin is literally a tool for creating static and dynamic libraries for Darwin. that's the whole job. iconic of it honestly πŸ‘‘

and like β€” for most scenarios, it works as a drop-in replacement for cctools' libtool. no cap. you just swap it in and it's like "yeah I got this" πŸ’…


✨ OPTIONS ✨

llvm-libtool-darwin supports the following options, and yes we're doing all of them, grab a snack πŸ“:

  • -arch_only <architecture> β€” build a static library only for the <architecture> you name, and ignore all the other architectures chilling in the files. main character architecture only 😀
  • -D β€” use zero for timestamps and UIDs/GIDs. and bestie, this is set by default, so it's already on unless you say otherwise ✨
  • -filelist <listfile[,dirname]> β€” read the input file names from <listfile>. how are they specified? one per line, separated only by newlines. whitespace on a line? assumed to be part of the filename, so don't get cute with it πŸ™ˆ. and if you also specify the directory name, dirname, then it gets prepended to each file name in the <listfile>. teamwork 🫢
  • -h, -help β€” show help and usage for this command. the "what does this do again" button πŸ’€
  • -l <x> β€” searches for the library libx.a in the library search path. but wait, plot twist: if the string <x> ends with '.o', then the library 'x' is searched for without prepending 'lib' or appending '.a'. and if the library is found, it's added to the list of input files. if it's not found? an error is raised. no library, no vibes, error 😭
  • -L <dir> β€” adds <dir> to the list of directories to search for libraries in. they're searched in the order you specified with -L, and before the default search path. and the default search path includes /lib, /usr/lib and /usr/local/lib. so it's like, the usual suspects 🌈
  • -no_warning_for_no_symbols β€” do not warn about files that have no symbols. be cool about it, let them live 🧚
  • -warnings_as_errors β€” produce a non-zero exit status if any warnings are emitted. warnings said "we're errors now" and honestly? valid πŸ”₯
  • -o <filename> β€” specify the output file name. must be specified exactly once, so don't be weird about it πŸ™ˆ
  • -static β€” produces a static library from the input files. the classic. the blueprint ⭐
  • -U β€” use actual timestamps and UIDs/GIDs. the opposite of -D, we love a duo πŸ’œ
  • -V β€” display the version of this program and perform any operation specified. multitasking queen πŸ‘‘
  • -version β€” display the version of this program and exit immediately. no extra steps, just version and bye πŸ’…

🌟 EXIT STATUS 🌟

llvm-libtool-darwin exits with a non-zero exit code if there is an error. otherwise, it exits with code 0. so like, 0 = we ate, non-zero = something's up 😭


πŸ’€ BUGS πŸ’€

to report bugs, please visit https://github.com/llvm/llvm-project/issues/. go tell them what happened, they want to know 🫢


πŸŽ€ SEE ALSO πŸŽ€


πŸ‘‘ AUTHOR πŸ‘‘

maintained by the LLVM Team (https://llvm.org/). they're doing the work fr fr πŸ’–


2003-2023, LLVM Project


alright bestie that's the whole page β€” and the very last little footer credits say this is LLVM version 17 dated 2023-12-01, so like, cute vintage energy πŸŽ€ go build some libraries, you've got this πŸ’…βœ¨

πŸ“¦ where this page comes from