BUILDPROGRAM(1)

πŸ“¦
version 0.24 Β· 5 versions
, in epel 10, epel 9, nixos 26.05, nixpkgs unstable

πŸŽ€ BUILDPROGRAM(1) πŸŽ€

okay bestie so you found yourself in User Commands territory and the page is called BUILDPROGRAM(1) β€” that's BuildProgram for short, and honestly she's a whole vibe. stay with me πŸ’…


✨ NAME ✨

BuildProgram β€” ok so what she does is: compile, link with the Gnuastro library and its dependencies, and run a C program. that's the whole personality. literally iconic. πŸ¦‹


🌸 SYNOPSIS 🌸

astbuildprog [OPTION...] C-source [ARGUMENTS TO RUN]

no cap, that's it. options, then your C source, then whatever args you wanna hand to the program. slay.


πŸ’– DESCRIPTION πŸ’–

so, BuildProgram is part of GNU Astronomy Utilities 0.24, and here's the tea: BuildProgram compiles and runs a C program for you, and while doing that it automatically links with the libraries that Gnuastro depends on. so like β€” you do not have to sit there worrying about explicitly linking with CFITSIO when you wanna work on a FITS file, or linking with GSL when you wanna use GNU Scientific Library's functions. she handles it. periodt. ✨

and the standard compiler options -I, -L, and -l are also available for further customization of the build, so you still have full main character energy over your own build. πŸ‘‘

for more info, pls run any of these commands. and like β€” special shoutout to the second one, because it contains a very comprehensive explanation of BuildProgram's invocation: expected input(s), output(s), and a full description of all the options. it's giving "read the docs but make it fun":

All options and their values:

$ astbuildprog -P

Inputs/Outputs and options:

$ info astbuildprog

Full section in manual/book:

$ info BuildProgram

Full Gnuastro manual/book:

$ info gnuastro

and if you couldn't find your answer in the manual (😭 it happens), you can get direct help from experienced Gnuastro users and developers. for more information, please run:

$ info help-gnuastro

πŸ”₯ OPTIONS πŸ”₯

BuildProgram options:

πŸ’œ Input πŸ’œ

  • -a, --la=STR β€” Libtool .la to use instead of default. (custom libtool file? yes queen πŸŽ€)
  • -c, --cc=STR β€” Name of C compiler's executable. tell her which compiler to use πŸ’…
  • -e, --noenv β€” No env. (e.g., LDFLAGS or CPPFLAGS) in build. like, no environment variables, keep it clean ✨
  • -I, --includedir=STR β€” Directories to search for '#include's. that's your include path bestie πŸ¦‹
  • -l, --linklib=STR β€” Link libraries, e.g., for libgsl: '-lgsl'. πŸ”—
  • -L, --linkdir=STR β€” Directory to search for libraries to link. (note: big -L = linkdir, little -l = linklib, don't mix em up πŸ™ˆ)
  • -t, --tag=STR β€” Libtool '--tag': programming language. 🏷️

🌈 Output 🌈

  • -b, --onlybuild β€” Don't run the built program. build it, then just… let it sit there being pretty ✨
  • -d, --deletecompiled β€” Delete compiled program after running. clean up your mess, we love growth πŸ’…
  • -D, --dontdelete β€” Don't delete output if it exists. keep the existing one, she's precious 🫢
  • -g, --debug β€” Debugging information in compiled binary. for when you gotta investigate πŸ”
  • -K, --keepinputdir β€” Keep input directory for automatic output. πŸ“
  • --outfitsnocommit β€” No Git commit in 0-th HDU of output FITS.
  • --outfitsnoconfig β€” No metadata in 0-th HDU of output FITS.
  • --outfitsnodate β€” No 'DATE' in 0-th HDU of output FITS.
  • --outfitsnoversions β€” No versions in 0-th HDU of output FITS.
  • -o, --output=STR β€” Output file name. name your baby πŸ’–
  • -O, --optimize=INT β€” Optimization level: 0, 1, 2, 3. pick your level of extra ⚑
  • -W, --warning=STR β€” Compilation warnings on command-line. 🚨

⭐ Operating modes ⭐

  • -?, --help β€” give this help list. yes, -? is real, she's that girl πŸ’€
  • --checkconfig β€” List all config files and variables read. snoop era πŸ”Ž
  • --cite β€” BibTeX citation for this program. cite her or it doesn't count, iykyk πŸ“š
  • --config=STR β€” Read configuration file STR immediately. 🫑
  • --config-prefix=STR β€” Custom prefix of option names config files. 🏷️
  • --lastconfig β€” Do not parse any more configuration files. that's it, we're done, no more πŸ“΅
  • --minmapsize=INT β€” Min. bytes to avoid RAM automatically. πŸ’Ύ
  • --onlyversion=STR β€” Only run if the program version is STR. picky queen πŸ‘‘
  • -P, --printparams β€” Print parameter values to be used and abort. just vibes + a list, then bye πŸŽ€
  • --quietmmap β€” Don't print mmap'd file's name and size. 🀫
  • -q, --quiet β€” Only report errors, remain quiet about steps. silent but deadly ✨
  • -S, --setdirconf β€” Set default values for this directory and abort. πŸ“‚
  • --usage β€” give a short usage message. the tl;dr 🌸
  • -U, --setusrconf β€” Set default values for this user and abort. πŸ™‹β€β™€οΈ
  • -V, --version β€” print program version. πŸ’…
real talk for a sec bestie: Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. that's not a suggestion, that's the rule. 🫢

GNU Astronomy Utilities home page: http://www.gnu.org/software/gnuastro/ 🌍


πŸ™ˆ REPORTING BUGS πŸ™ˆ

found a bug? Report bugs to bug-gnuastro@gnu.org. be nice, be specific, include the details πŸ’Œ


Copyright Β© 2015-2025 Free Software Foundation, Inc. License GPLv3+: GNU General public license version 3 or later.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. (like, none. zero. don't come for her if it breaks 😭)

Written/developed by Mohammad Akhlaghi 🫢


🧚 SEE ALSO 🧚

The full documentation for BuildProgram is maintained as a Texinfo manual. If the info and BuildProgram programs are properly installed at your site, the command

info BuildProgram

should give you access to the complete manual. go read it, she ate πŸ“–βœ¨


k that's the whole page bestie, and before you go: this was GNU Astronomy Utilities 0.24, dated November 2025 β€” mwah, stan, bye πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from