vbcc logo

vbcc is a highly optimizing portable and retargetable ISO C compiler. It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99).

This is the support site for Amiga (AmigaOS, MorphOS) and Atari (TOS, MiNT, Jaguar).

Release
vbcc main
Downloading instructions
Current vbcc binary archives
Current vbcc target archives
vbcc 0.9h release
vbcc 0.9g release
vbcc 0.9f release
vbcc 0.9e release
vbcc 0.9d release
vbcc 0.9b release
vbcc 0.9a release
vbcc 0.9 release
vbcc 0.8j release
vbcc 0.8i release
vbcc 0.8h release
vbcc 0.8g release
Old vbcc releases (0.8-0.8f)

Docs
vbcc docs (pdf)

Links
vbcc home page
vasm
vlink
23-Mar-2016: vbcc 0.9e release.
Changes since last release:
  • New options -deps and -deps-for-libs to output dependencies for a Makefile.
  • Print whole include-stack when encountering an error in include files.
  • Fixed undefined symbols in DWARF output by avoiding debug information for removed static variables.
  • Do not consider floats as induction variables. Fixes -O3 optimized loops with float variables.
  • Fixed bug with nested designated initalizers in unions.
  • Updated Warp3D headers and link libraries to V4.2a.
  • Make sure kick13 config file is included for m68k-amigaos (Kickstart 1.x compatibility).
  • m68k: Fixed asm-peephole optimization of move.l dx,ay; move.l ay,dx when cc of ay is used.
  • vclib: Improve C99 compatibility in m881, m040 and m040 libraries with Inf and NaN values.
  • vclib: 6888x, 68040 and 68060 math libraries for Atari.
  • vclib: C99 inttypes.h, strtoimax(), strtoumax(), imaxabs(), imaxdiv(), isblank().
  • vclib: Fixed sign of remainder in div(), ldiv(), lldiv().
  • vclib: sscanf() erroneously included the string terminator.
  • vclib: Fixed float operations with m13.lib (Kickstart 1.x mathffp).
  • vclib: setjmp/longjmp() also save/restore FPU registers.
  • vclib: minstart.o fixes for OS4 and MorphOS (small data and WB start).
  • amigalib: Fixed rtEZRequest() and rtEZRequestTags().

In such a complex project there will of course be bugs. Most, especially the serious, bug fixes will be available immediately as a patch. The rest comes with the next release, or by request from the author (see below).
Downloading vbcc 0.9e.

You need to pick the appropriate binary archive for your host platform. Then you can add as many target archives as you need.

Example: If you own a Pegasos running MorphOS and would like to develop programs for MorphOS and AmigaOS/68k, you have to pick the vbcc_bin_morphos archive for the binaries as well as the target archives vbcc_target_ppc-morphos and vbcc_target_m68k-amigaos. Install the binary archive first, using the provided Amiga installer, then add the targets.

The PowerUp and WarpOS binary archives are additional, which means that you need to have a base binary archive already installed. Typically this would be the vbcc_bin_amigaos68k archive.

All target archives are lha-packed, including an Installer script to work under AmigaOS/MorphOS. Target archives in tar.gz format are for Unix/MiNT, without Installer and config files. Target archives in zip format are recommended for Atari TOS systems, which use a different layout due to file system restrictions.

Other host platforms. vbcc is portable enough to run on all operating systems which offer a working ISO-C99 compiler, e.g. BSD, Linux, MacOS and Windows. The latest release source for vasm is available here and for vlink here. A recent vbcc source snapshot is available here, but it is only rarely updated (check the date).

vbcc_bin_amigaos68k.lha AmigaOS 2.x/3.x 68020+ binaries.
vbcc_bin_amigaosppc.lha AmigaOS 4.x binaries.
vbcc_bin_morphos.lha MorphOS binaries.
vbcc_bin_powerup.lha Additional PowerUp binaries. For use under AmigaOS/68k.
vbcc_bin_warpos.lha Additional WarpOS binaries. For use under AmigaOS/68k.
vbcc_bin_mint.tar.gz Atari MiNT binaries.
vbcc_bin_tos.zip Atari TOS binaries (68000).
vbcc_target_m68k-amigaos.lha Compiler target AmigaOS 2.x/3.x M680x0.
vbcc_target_m68k-atari.lha Compiler target Atari TOS/MiNT M680x0.
vbcc_target_m68k-atari.tar.gz Compiler target Atari TOS/MiNT M680x0 (for Unix/MiNT hosts).
vbcc_target_m68k-atari.zip Compiler target Atari TOS/MiNT M680x0 (for TOS hosts).
vbcc_target_cf-atari.lha Compiler target Atari TOS/MiNT ColdFire.
vbcc_target_cf-atari.tar.gz Compiler target Atari TOS/MiNT ColdFire (for Unix/MiNT hosts).
vbcc_target_cf-atari.zip Compiler target Atari TOS/MiNT ColdFire (for TOS hosts).
vbcc_target_ppc-amigaos.lha Compiler target AmigaOS 4.x PowerPC.
vbcc_target_ppc-morphos.lha Compiler target MorphOS PowerPC.
vbcc_target_ppc-powerup.lha Compiler target PowerUp PowerPC.
vbcc_target_ppc-warpos.lha Compiler target WarpOS PowerPC.
vbcc_unix_config.tar.gz Default config files for all targets with Unix/MiNT paths.
vbcc0_9e.tar.gz The vbcc 0.9e release source.

Installation procedure for AmigaOS/MorphOS: Just click the Install icon. Or refer to chapter 1.3.3 of the documentation for a manual installation.

Installation procedure for MiNT: Refer to the Unix installation instructions in chapter 1.3.1 of the vbcc manual. You may want to download the Unix default config files from above.

Please support vbcc by contacting the authors if you find any bugs or problems. Supporting nine different architectures makes testing extremely time consuming, so this release is probably not free of bugs.

For problems with the compiler core contact Dr. Volker Barthelmann (vbemail), and for Amiga/Atari-specific problems, including assembler, linker, startup-codes and linker-libraries, contact Frank Wille (fwemail).

$Id: index.php,v 1.26 2023/09/30 11:59:02 frank Exp $