# Install c with Homebrew

Compile and execute C "scripts" in one go. Version 0.15.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:c
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install c
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:c
- **Package manager:** Homebrew
- **Version:** 0.15.1
- **Source summary:** Compile and execute C "scripts" in one go
- **Homepage:** <https://github.com/ryanmjacobs/c>
- **Repository:** <https://github.com/ryanmjacobs/c>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- c (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.15.1
## Project history and usage

c is a small shell-script front end for compiling and running C or C++ files in one command. Its niche is treating small C programs like scripts while still letting the user choose GCC, Clang, TCC, or another compiler through the normal CC environment variable.

### Project history

The upstream Git history begins on 23 February 2015 with the initial c script and shebang support. The README frames the project as a convenience wrapper rather than a compiler: it compiles and executes C scripts in one go, and later added a cache so repeated runs can avoid unnecessary rebuilds.

### Adoption history

The README documents installation through source download, AUR, bpkg, and Homebrew. Homebrew packaging gives it a low-friction macOS path for the exact use case the README highlights: putting a c executable on PATH and using it in shebangs or direct commands.

### How it is used

Typical usage is `c hello.c` or a shebang such as `#!/usr/bin/c`. For multi-file programs, compiler flags and additional source files are passed in the first quoted argument, and runtime arguments follow after that.

The tool honors CC, supports cache tuning through C_CACHE_SIZE and C_CACHE_PATH, and offers `--clear-cache` for cache cleanup.

### Why package nerds care

The package is a classic tiny-CLI package-manager curiosity: one executable, almost no ceremony, and enough ergonomics to make C feel like a scripting language for quick local utilities.

It is also a useful contrast with `tcc -run`: the README explicitly says c is not tied to one compiler, making it a compiler-agnostic runner rather than a language implementation.

### Timeline

- 2015-02-23: Initial c script and shebang support appear in upstream Git history.
- 2015-03-06: v0.09 tag appears.
- 2020-04-13: v0.12 tag appears.
- 2025-10-06: v0.15.0 and v0.15.1 tags appear in upstream Git history.

### Related projects

- GCC, Clang, and TCC: compilers that can be selected through CC.
- tcc -run: a related one-command C execution workflow that the README distinguishes from c.
- bpkg and AUR packages: alternate packaging channels listed by the upstream README.

### Sources

- <https://github.com/ryanmjacobs/c>
- <https://github.com/ryanmjacobs/c#readme>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/c.yml](https://github.com/mxcl/pkgdb/blob/main/combined/c.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
