---
name: "maria-cso"
section: "1"
platform: "linux"
package: "maria"
version: "1.3.5-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/maria-cso"
---

# maria-cso(1)

shared library generator for maria

## NAME

maria-cso - shared library generator for maria

## SYNOPSIS

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

## DESCRIPTION

This manual page documents briefly the **maria-cso** command.

**maria-cso** is a shell script invoked by **maria** in order to compile generated C code into dynamically loadable shared object files.  The script invokes the C compiler and the linker, and it calculates checksums in order to avoid compiling unmodified modules.\
 The *directory* argument specifies the location of the source files.  When the script is invoked with one *file***.c** argument, it translates the file to the shared object *library.so*.\
 When **maria-cso** is invoked with multiple *file***.c** arguments, it computes a checksum of a file named **multiset.h** and of each argument.  When the header file **multiset.h** has been changed since the previous invocation of **maria-cso**, everything will be recompiled.  Otherwise only those *file***.c** modules that have been modified will be recompiled.  The checksum files are **multiset.sum** and **c.sum**.

## SEE ALSO

[**maria**(1)](/maria/1.md), [**sh**(1)](/sh/1.md).

## ENVIRONMENT VARIABLES

- *CC*

  Name of the C compiler

- *CFLAGS*

  Command-line switches to be passed to the C compiler

- *DEFINES*

  Preprocessor macro definitions to be passed 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\>. The **maria-cso** script and the compilation option were designed and implemented by **Marko Mäkelä.** Please see the copyright file in */usr/share/doc/maria* for details.
