GNULIB-TOOL(1)

πŸ‘‘ GNULIB-TOOL πŸ’…

okay bestie, so this is the gnulib-tool page from the GNU Portability Library manual β€” yeah, the whole GNU Portability Library vibe, we're in section 1 of the manual, and it's giving "program for authors or maintainers which want to import modules from gnulib into their packages." no cap, that's literally what it is. sit down, get a snack πŸ“, we're doing this.


✨ NAME ✨

gnulib-tool β€” a program for authors or maintainers which want to import modules from gnulib into their packages. that's the whole job description, fr fr. 🫢


🌸 SYNOPSIS 🌸

like, here's every single way you can call her. don't skip any, they all matter:

gnulib-tool --list

gnulib-tool --import [module1 ... moduleN]

gnulib-tool --update

gnulib-tool --create-testdir --dir=directory module1 ... moduleN

gnulib-tool --create-megatestdir --dir=directory [module1 ... moduleN]

gnulib-tool --test --dir=directory module1 ... moduleN

gnulib-tool --megatest --dir=directory [module1 ... moduleN]

gnulib-tool --extract-description module

gnulib-tool --extract-filelist module

gnulib-tool --extract-dependencies module

gnulib-tool --extract-autoconf-snippet module

gnulib-tool --extract-automake-snippet module

gnulib-tool --extract-include-directive module

gnulib-tool --extract-license module

gnulib-tool --extract-maintainer module

gnulib-tool --extract-tests-module module

look at all those modes. main character energy, honestly. πŸ‘‘


πŸ’– DESCRIPTION πŸ’–

so the GNU portability library is a macro system plus C declarations and definitions for commonly-used API elements and abstracted system behaviors. it can be used to improve portability and other functionality in your programs. that's the whole tea. β˜•βœ¨


πŸŽ€ OPTIONS πŸŽ€

Operation modes:

  • --list β€” print the available module names. window shopping, basically. πŸ›οΈ
  • --import β€” import the given modules into the current package; if no modules are specified, update the current package from the current gnulib. yes, it does two things depending on whether you brought friends. πŸ’…
  • --update β€” update the current package, restore files omitted from CVS. bringing back the ones that ghosted. 😭
  • --create-testdir β€” create a scratch package with the given modules.
  • --create-megatestdir β€” create a mega scratch package with the given modules one by one and all together. MEGA. all together now. 🌈
  • --test β€” test the combination of the given modules (recommended to use CC="gcc -Wall" here).
  • --megatest β€” test the given modules one by one and all together (recommended to use CC="gcc -Wall" here).
  • --extract-description β€” extract the description.
  • --extract-filelist β€” extract the list of files.
  • --extract-dependencies β€” extract the dependencies. the lore. πŸ¦‹
  • --extract-autoconf-snippet β€” extract the snippet for configure.ac.
  • --extract-automake-snippet β€” extract the snippet for lib/Makefile.am.
  • --extract-include-directive β€” extract the #include directive.
  • --extract-license β€” report the license terms of the source files under lib/.
  • --extract-maintainer β€” report the maintainer(s) inside gnulib.
  • --extract-tests-module β€” report the unit test module, if it exists.

Options:

  • --dir=DIRECTORY β€” specify the target directory. For --import, this specifies where your configure.ac can be found. Defaults to current directory.
  • --lib=LIBRARY β€” Specify the library name. Defaults to 'libgnu'.
  • --source-base=DIRECTORY β€” Directory relative --dir where source code is placed (default "lib"), for --import.
  • --m4-base=DIRECTORY β€” Directory relative --dir where *.m4 macros are placed (default "m4"), for --import.
  • --tests-base=DIRECTORY β€” Directory relative --dir where unit tests are placed (default "tests"), for --import.
  • --aux-dir=DIRECTORY β€” Directory relative --dir where auxiliary build tools are placed (default "build-aux").
  • --with-tests β€” Include unit tests for the included modules. testing era, we love her. 🧚
  • --avoid=MODULE β€” Avoid including the given MODULE. Useful if you have code that provides equivalent functionality. This option can be repeated. (yes bestie, spam it.)
  • --lgpl β€” Abort if modules aren't available under the LGPL. Also modify license template from GPL to LGPL.
  • --libtool β€” Use libtool rules, for --import.
  • --macro-prefix=PREFIX β€” Specify the prefix of the macros 'gl_EARLY' and 'gl_INIT'. Default is 'gl'.
  • --no-changelog β€” don't update or create ChangeLog files.
  • --dry-run β€” For --import, only print what would have been done. imaginary slay. πŸ’­
  • -s, --symbolic, --symlink β€” Make symbolic links instead of copying files.
  • -h, --help β€” Show summary of options.

πŸ’€ BUGS πŸ’€

found something cursed? Report bugs to <bug-gnulib@gnu.org>. they want the receipts, ngl.


πŸ”₯ SEE ALSO πŸ”₯


🌟 AUTHOR 🌟

gnulib was written by the Free Software Foundation and others (sources of various origins). iconic collective effort, honestly.

This manual page was written by Daniel Baumann <daniel@debian.org>, for the Debian project (but may be used by others). shoutout daniel, you ate. πŸ’…βœ¨


and that's the whole page bestie πŸŽ€ β€” this was version 0.0.20060601, dated 2006-06-01, part of the GNU Portability Library era, in section 1 of the manual. go forth and port, queen. πŸ‘‘πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from