Skip to main content
TinyCC provides extensive configuration options to customize the compiler for different platforms, targets, and use cases.

Configuration script

The configure script detects your system and sets appropriate defaults:
Run ./configure --help to see all available options.

Installation paths

Customize where TinyCC is installed:
1

Set installation prefix

2

Configure specific directories

3

Set TCC directory

The TCC directory contains headers, libraries, and runtime files:

Compiler selection

Configure which compiler builds TinyCC:

Additional compiler flags

Target configuration

Cross-compilation setup

Configure TinyCC for cross-compilation:

Platform-specific examples

Library configuration

System paths

Specify system include and library paths:
Use colon-separated paths for multiple directories: --libpaths=/lib:/usr/lib:/opt/lib

ELF interpreter

Set the dynamic linker path:

Triplet configuration

Set the system library triplet:

Feature configuration

Debug features

Library options

Platform-specific options

Build options

Control the build process:

Build targets

Build flags

Runtime configuration

TCC switches

Set default switches passed to TCC:

Environment variables

TCC respects these environment variables:

Advanced configuration

Custom configuration file

Create config-extra.mak for custom settings:
The makefile automatically includes config-extra.mak if present. Use {B} for TCC directory and {R} for sysroot.

Predefined macros

Control how TCC handles predefined macros:

Configuration examples

Minimal build

Smallest possible TCC:

Development build

For TinyCC development:

Production cross-compiler

Full-featured cross-compiler setup:

Static build

Statically linked TCC:

Verifying configuration

Check configuration after running configure:

Makefile targets

Available make targets:

Build architecture

Supported build architectures

TinyCC can be built on:
  • i386 - 32-bit x86 (Linux, Windows)
  • x86_64 - 64-bit x86 (Linux, Windows, macOS, BSD)
  • ARM - 32-bit ARM (Linux, BSD)
  • ARM64 - 64-bit ARM (Linux, macOS, BSD)
  • RISC-V 64 - 64-bit RISC-V (Linux)

Architecture detection

The configure script auto-detects your CPU:

Troubleshooting

Configuration fails

Common configuration errors:
  • Missing compiler: Install GCC or Clang
  • Missing headers: Install build-essential or development packages
  • Cross-compilation errors: Install cross-compiler toolchain
  • Permission denied: Use sudo for system-wide installation

Fixing configuration issues

See also