h4cc(1)

πŸ’… h4cc β€” compiles an HDF4 C program

okay bestie, welcome to h4cc(1), the manual page for the little script that makes your HDF4 C program go brrr. sit down, grab a strawberry, we're doing this πŸ“βœ¨


✨ SYNOPSIS ✨

h4cc [OPTIONS] <compile line>

that's it. that's the whole vibe. options, then your normal compile line, and boom πŸ’₯


πŸ¦‹ DESCRIPTION πŸ¦‹

h4cc compiles an HDF4 C program. that's literally the job. it takes your C code and turns it into a program that can talk to HDF4, and it handles all the include paths and libraries so you don't have to sit there googling "where is my libmfhdf" at 2am 😭 iconic behaviour honestly.


πŸŽ€ OPTIONS πŸŽ€

  • -help β€” shows you the usage info. the "hello, what do i even do" button 🫢
  • -echo β€” prints out every single shell command it runs. it's giving let me show you my work, and honestly we love the transparency πŸ‘‘
  • -prefix=DIR β€” the prefix directory where it goes looking for the HDF4 lib/ and include/ subdirectories. default is /usr 🌸
  • -show β€” shows you the commands but does not execute them. window shopping. no cap, nothing actually happens πŸ’€
  • -shlib β€” compile against the shared HDF4 libraries. this is the default when HDF4 was built without static libraries ✨
  • -noshlib β€” compile against the static HDF4 libraries. this is the default when HDF4 was built with static libraries 🧱
  • <compile line> β€” the totally normal compile line options for your compiler. and here's the cute part: h4cc uses the same compiler you used to compile HDF4. check your compiler's man pages for more info on which options are needed πŸ“–

🌈 ENVIRONMENT VARIABLES 🌈

you can also override the compiler, the linker, and whether you're doing static or shared libraries, just by setting these bad boys:

  • HDF4_CC β€” use a different C compiler πŸ› οΈ
  • HDF4_CLINKER β€” use a different linker πŸ”—
  • HDF4_USE_SHLIB=[yes|no] β€” use the shared or static version of the HDF4 library. default is no πŸ’–

reminder bestie: those defaults for -shlib / -noshlib depend on how HDF4 itself was built β€” if it was built without static libraries, shared is your default; if it was built with static libraries, static is your default. check before you assume, iykyk πŸ™ˆ

that's the whole page, and honestly? it ate. πŸ’… this was h4cc(1) from 28 May 2016 β€” go compile something gorgeous, main character. bye bestie! πŸ’œπŸ¦‹βœ¨