MARIA-CSO(1)

✨ MARIA-CSO ✨ (that's the maria-cso command, section 1 of the general commands manual, bestie πŸ’–)

πŸ¦‹ NAME πŸ¦‹

maria-cso β€” the shared library generator for maria, periodt πŸ’…


🌸 SYNOPSIS 🌸

maria-cso directory library.so file.c...
maria-cso directory library.so file.c

πŸŽ€ DESCRIPTION πŸŽ€

okay so real talk, this manual page is here to give you the brief rundown on the maria-cso command πŸ’–

maria-cso is a shell script, and it gets invoked by maria so it can compile generated C code into dynamically loadable shared object files. she's out here doing the most: she calls up the C compiler AND the linker, and she also does checksum math so she never wastes time recompiling modules that didn't change. icon behaviour honestly ✨

the directory argument tells her where the source files are living 🏠

when the script gets called with just one file.c argument, she translates that file into the shared object library.so. easy, slay 🫢

when maria-cso gets called with multiple file.c arguments, that's when the checksum party starts: she computes a checksum of a file named multiset.h plus a checksum of each argument. and then:

  • if the header file multiset.h has changed since the previous time maria-cso ran β€” everything gets recompiled 😭
  • otherwise, only the file.c modules that have actually been modified get recompiled πŸ’…

the checksum files she's keeping around are multiset.sum and c.sum, no cap ⭐


πŸ‘‘ SEE ALSO πŸ‘‘

maria(1), sh(1).


🌈 ENVIRONMENT VARIABLES 🌈

  • CC β€” the name of the C compiler 🧚
  • CFLAGS β€” the command-line switches that get passed to the C compiler ✨
  • DEFINES β€” preprocessor macro definitions to pass along to the C compiler πŸ’œ

πŸ“ FILES πŸ“

  • /usr/share/maria/runtime/*.h β€” header files for the run-time library πŸ¦‹

πŸ’œ AUTHOR πŸ’œ

this manual page was written by Marko MΓ€kelΓ€ <msmakela@tcs.hut.fi> 🌸 and the maria-cso script plus the compilation option were designed and implemented by Marko MΓ€kelΓ€ too. if you want the deets, go peek at the copyright file in /usr/share/doc/maria πŸ“–


this whole vibe is from way back on August 10, 2001, and it's part of the MARIA-CSO(1) page β€” tysm for reading bestie, ily, go compile something iconic πŸ’–βœ¨πŸŽ€